Amazon S3 : 정적 웹 사이트 : 사용자 지정 도메인 또는 하위 도메인


79

Amazon.com은 방금 S3 버킷에서 정적 웹 사이트를 호스팅 할 수 있다고 발표했습니다. http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html 의 설정 페이지로 이동하여 정적 웹 사이트에 대한 버킷을 만들었는데 제대로 작동했습니다. http : // [my bucket name] .s3-website-us-east-1.amazonaws.com / 형식의 URL이 있습니다.

그러나 내가 소유 한 하위 도메인 (예 : static.mydomain.com)을 Amazon S3의 정적 웹 사이트로 지정하고 싶습니다. 아무도 그것을하는 방법을 알아 냈습니까?

도움을 주시면 감사하겠습니다.


이 아웃 확인 arrayofcode.com/...
Ajitesh 싱

답변:


182

작동하게하려면 임의의 하위 도메인을 임의의 버킷에 매핑 할 수 없습니다. 정규화 된 하위 도메인 이름은 S3 버킷 이름과 동일해야합니다 .

  1. 사이트 이름이 static.mydomain.com 이라고 가정합니다 . 그런 다음 이름이 static.mydomain.com 인 동일한 이름으로 S3 버킷을 생성해야합니다 .
  2. 해당 버킷을 S3 정적 웹 사이트로 구성하면 http://static.mydomain.com.s3-website-us-east-1.amazonaws.com 과 같은 URL이 할당됩니다 .
  3. 도메인 호스트로 이동하여 하위 도메인을 2 단계의 URL에 매핑합니다. enom.com에서 이는 호스트 " static "을 주소 " static.mydomain.com.s3-website-us-east-1.amazonaws에 매핑하는 것을 의미합니다. .com "을 CNAME 레코드로 사용합니다.

제안 해 주신 UriahDavid 에게 감사드립니다 . 결국 Amazon AWS 포럼 에서 답을 얻었습니다 .


모르겠어요. 당신은 그것을 시도해야 할 것입니다. 또한 귀하는 귀하의 인증서가 아닌 Amazon의 SSL 인증서에 피기 백 될 것입니다.
Jay Godse 2012

2
실제로 cname을 s3-website-us-east-1.amazonaws.com 으로 지정할 수 있습니다. 하위 도메인을 무시하고 HOST http 헤더를 사용하여 버킷을 지정하는 것으로 보입니다. 두 가지가 일치하는지 또는 하위 도메인이 있는지는 중요하지 않은 것 같습니다.
lynks

@lynks-지역을 삭제하고 s3.amazonaws.com으로 갈 수도 있습니다
plyawn

@hnprashanth 맞습니다 (S3 만 사용). CloudFront 배포를 통해 동일한 리소스 위치를 가리키는 하위 도메인을 최대 10 개까지 가질 수 있습니다 ... docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…를
plyawn

작동합니다. AWS는 초기 소개 섹션에서이를 언급하지만 모든 단계를 수행 할 때 쯤이면 쉽게 잊어 버릴 수 있습니다. AWS는 이제 각 사용자의 cname 조회에 대한 트랜잭션 요금을 부과하므로 lynks cname 솔루션보다 더 나은 솔루션입니다.
Mike_Laird

5

버킷을 생성 할 때 S3 DNS 버킷 이름 지정 규칙 을 따라야합니다 .

그때:

  1. 속성-> 웹 사이트에서 AWS Management Console을 사용하여 버킷에 대한 S3 웹 사이트 지원 활성화

  2. 버킷의 파일에 공개 읽기 권한이 있는지 확인

  3. 관리 콘솔에 나열된 끝점을 사용하여 웹 사이트를 사용해보십시오.

  4. 설치 나열된 엔드 포인트를 사용하여 CNAME (예 www.example.com CNAME www.example.com.s3-website-us-east-1.amazonaws.com)


나는 4 단계를 모두했다. 3 단계가 작동합니다. 4 단계의 cname은 구성 (다른 하위 도메인에서 성공적으로 수행하는 enom.com 사용)하지만 브라우저로 s3 하위 도메인을 누르거나 핑하지 않습니다. heroku.com 및 blogger.com을 사용하면 어떤 하위 도메인이 어떤 heroku-app 또는 blogger-blog를 공격 할 것인지 알려 주어야합니다. S3 정적 웹 사이트에는이 기능이없는 것 같습니다.
Jay Godse

2
@Jay Godse 웹 사이트 지원 버킷의 이름과 지역은 무엇입니까?
Uriah Carpenter

4
  1. mydomain.com이라는 호스팅 영역을 생성합니다. 웹 기반 UI DNS30을 사용할 수 있습니다 .
  2. 이제이 호스팅 영역에 대한 CNAME 항목을 생성합니다.
  3. 다음 세부 정보를 사용하여 리소스 레코드를 추가합니다. 이름은 "mydomain.com"입니다. 유형은 "CNAME"입니다. 값은 "mydomain.com.s3.amazonaws.com"입니다. TTl은 "필요한 구성에서"입니다.

이것이 static.mydomain.com에서도 작동하기를 바랍니다.

문안 인사-

Udit



3

Amazon에서 제공하는 Route 53과 같은 DNS 서비스를 사용하는 것은 어떻습니까? 하위 도메인의 CNAME을 사용하여 퍼블릭 버킷 URL로 설정합니다. 물론 도메인 회사에서 CNAME 구성을 제공하는 경우 직접 작동 할 수 있습니다.


1

2019 년 업데이트 : S3에서 호스팅하는 AWS 사용자 지정 하위 도메인

오늘부터 다음 단계를 통해 AWS S3 호스팅 정적 웹 사이트에 대해 작동하는 하위 도메인을 갖게되었습니다.

  1. 하위 도메인 이름으로 버킷을 만듭니다. 이 예에서 www. 하위 검사 사이트 .co.kr

aws 버킷

참고 : 버킷의 '권한'탭에서 :-공개 액세스 차단 (버킷 설정)-액세스 제어 목록 및-버킷 정책이 적절하게 설정되어 버킷이 공용인지 확인하십시오. (이미 루트 도메인 버킷에 대해이 작업을 수행했다고 가정하면 해당 설정을이 하위 도메인 버킷에 미러링 할 수 있습니다.)

AWS 버킷 권한

  1. 버킷에 index.html 파일 업로드

s3 버킷의 인덱스 파일

  1. 도메인 제공 업체를 통해 CNAME 레코드 만들기namecheap의 CNAME 레코드
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.