메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

예: 사용자 지정 도메인으로 정적 웹 사이트 설정

Amazon Simple Storage Service(Amazon S3)에서 정적 웹 사이트를 호스팅하는 경우를 가정합니다. 예를 들어, example.com과 같은 도메인을 등록하고 Amazon S3 콘텐츠에서 http://www.example.comhttp://example.com에 대한 요청을 수행하게 합니다. Amazon S3에 호스팅하려는 기존 정적 웹 사이트가 있거나 처음부터 시작하는 경우 이 예를 사용하여 Amazon S3에 웹 사이트를 호스팅하는 방법을 알아보십시오.

시작하기 전

이 예를 따라 단계를 진행하려면 다음과 같이 작업을 합니다.

도메인 등록자 선택- example.com과 같이 등록된 도메인 이름이 없는 경우, 원하는 등록자로 도메인 이름을 만들어 등록합니다. 일반적으로 소액의 연간 수수료를 지불하면 도메인을 등록할 수 있습니다. 도메인 이름 등록 절차에 대한 정보는 등록자의 웹 사이트를 참조하십시오.

Amazon S3-Amazon S3를 사용하여 버킷을 만들고 샘플 웹 사이트 페이지를 업로드해 모든 사용자가 콘텐츠를 볼 수 있도록 권한을 구성한 뒤, 웹 사이트 호스팅용 버킷을 구성합니다. 이 예에서는 http://www.example.comhttp://example.com 모두에 대한 요청을 허용하므로 두 개의 버킷을 생성합니다. 단, 콘텐츠는 한 버킷에서만 호스팅합니다. 다른 Amazon S3 버킷이 콘텐츠를 호스팅하는 버킷으로 요청을 리디렉션하게 구성합니다.

Amazon Route 53-Amazon Route 53를 DNS 공급자로 구성합니다. 도메인에 따라 Amazon Route 53에 호스팅 영역을 생성하고 해당 DNS 레코드를 구성합니다. 기존 DNS 공급자에서 전환하는 경우, 도메인에 대한 모든 DNS 레코드를 전송했는지 확인합니다.

도메인, DNS(Domain Name System), CNAME 레코드, A 레코드에 대한 기본적인 지식을 갖추고 있는 것이 좋습니다. 이러한 개념에 대한 상세 설명은 본 가이드의 범위를 벗어나므로 도메인 등록자가 사용자에게 필요한 기본 정보를 제공해야 합니다.

이 예에서는 Amazon Route 53을 사용하지만 대부분의 레지스터를 사용해 Amazon S3 버킷을 가리키는 CNAME 레코드를 정의할 수 있습니다.

참고

이 예의 모든 단계에서는 example.com을 도메인 이름으로 사용합니다. 이 도메인 이름을 사용자가 등록한 이름으로 바꿉니다.

1단계: 도메인 등록

이미 등록된 도메인이 있다면 이 단계를 생략할 수 있습니다. 웹 사이트 호스팅이 처음인 경우, 선택한 등록자로 도메인(예: example.com)을 등록하는 것부터 시작합니다.  

등록자를 선택한 후, 등록자 웹 사이트의 설명에 따라 도메인 이름을 등록합니다. 도메인 이름을 등록할 수 있는 등록자 웹 사이트 목록은 ICANN.org 웹 사이트의 Information for Registrars and Registrants를 참조하십시오.

도메인 이름을 등록하고 나면 웹 사이트 호스팅을 위한 Amazon S3 버킷을 만들어 구성하고 웹 사이트 콘텐츠를 업로드합니다.

2단계: 버킷의 생성과 구성, 데이터 업로드

example.com과 같은 루트 도메인, www.example.com과 같은 하위 도메인 양쪽의 요청을 모두 지원하려면 두 개의 버킷을 생성합니다. 하나의 버킷이 콘텐츠를 포함합니다. 요청으로 리디렉션하도록 다른 버킷을 구성합니다. Amazon S3 콘솔로 다음 작업을 수행하고 웹 사이트를 만들어 구성합니다.

2.1단계: 두 개의 버킷 생성

버킷 이름을 사용자가 호스팅할 웹 사이트 이름과 일치시킵니다. 예를 들어, Amazon S3에 사용자의 example.com 웹 사이트를 호스팅하려면 이름이 example.com인 버킷을 만들어야 합니다. www.example.com에서 웹 사이트를 호스팅하려면 버킷 이름을 www.example.com로 해야 합니다. 이 예에서 사용자의 웹 사이트는 example.comwww.example.com의 요청을 모두 지원합니다.

이 단계에서는 AWS 계정 자격 증명으로 Amazon S3 콘솔에 로그인해 다음과 같이 두 개의 버킷을 만듭니다.

  • example.com

  • www.example.com

참고

도메인과 마찬가지로 하위 도메인에도 고유한 S3 버킷이 있어야 하며 버킷과 하위 도메인의 이름이 정확히 동일해야 합니다. 이 예에서는 www.example.com 하위 도메인을 생성하고 있으므로 www.example.com이라는 S3 버킷도 생성해야 합니다.

To create your buckets and upload your website content for hosting

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. Create two buckets that match your domain name and subdomain. For instance, example.com and www.example.com.

    For step-by-step instructions, see How Do I Create an S3 Bucket? in the Amazon Simple Storage Service 콘솔 사용 설명서.

  3. Upload your website data to the example.com bucket.

    You will host your content out of the root domain bucket (example.com), and you will redirect requests for www.example.com to the root domain bucket. You can store content in either bucket. For this example, you will host content in the example.com bucket. The content can be text files, family photos, videos—whatever you want. If you have not yet created a website, then you only need one file for this example. You can upload any file. For example, you can create a file using the following HTML and upload it the bucket. The file name of the home page of a website is typically index.html, but you can give it any name. In a later step, you provide this file name as the index document name for your website.

    Copy
    <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>My Website Home Page</title> </head> <body> <h1>Welcome to my website</h1> <p>Now hosted on Amazon S3!</p> </body> </html>

    For step-by-step instructions, see How Do I Upload an Object to an S3 Bucket? in the Amazon Simple Storage Service 콘솔 사용 설명서.

  4. Configure permissions for your objects to make them publicly accessible.

    Attach the following bucket policy to the example.com bucket substituting the name of your bucket for example.com. For step-by-step instructions to attach a bucket policy, see How Do I Add an S3 Bucket Policy? in the Amazon Simple Storage Service 콘솔 사용 설명서.

    Copy
    { "Version":"2012-10-17", "Statement":[{ "Sid":"PublicReadGetObject", "Effect":"Allow", "Principal": "*", "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::example.com/*" ] } ] }

    You now have two buckets, example.com and www.example.com, and you have uploaded your website content to the example.com bucket. In the next step, you will configure www.example.com to redirect requests to your example.com bucket. By redirecting requests you can maintain only one copy of your website content. Both visitors who type www in their browsers and those who specify only the root domain are routed to the same website content in your example.com bucket. 

2.2단계: 웹 사이트 호스팅용 버킷 구성

웹 사이트 호스팅용 버킷을 구성할 때, Amazon S3에서 할당한 버킷 웹 사이트 엔드포인트를 사용해 웹 사이트에 액세스할 수 있습니다.

이 단계에서는 웹 사이트 호스팅을 위한 두 개의 버킷을 구성합니다. 우선, example.com을 웹 사이트로 구성한 다음 www.example.com이 모든 요청이 example.com 버킷으로 리디렉션되도록 구성합니다.

To configure your buckets for website hosting

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. In the Bucket name list, choose the name of the bucket that you want to enable static website hosting for.

  3. Choose Properties.

  4. Choose Static website hosting.

  5. Configure the example.com bucket for website hosting. In the Index Document box, type the name that you gave your index page.

  6. Choose Save.

2.3단계: 웹 사이트 리디렉션 구성

버킷을 웹 사이트 호스팅용으로 구성했으니 이제 www.example.com에 대한 모든 요청을 example.com으로 리디렉션하도록 www.example.com 버킷을 구성합니다.

To redirect requests from www.example.com to example.com

  1. In the Amazon S3 console, in the Buckets list, choose your bucket ( www.example.com, in this example).

  2. Choose Properties.

  3. Choose Static website hosting.

  4. Choose Redirect requests. In the Target bucket or domain box, type example.com.

2.4단계: 웹 사이트 트래픽용 로깅 구성

선택적으로 로깅을 구성하여 웹 사이트에 접속하는 방문자들의 수를 추적할 수 있습니다. 이렇게 하기 위해 루트 도메인 버킷에 대한 로깅을 활성화할 수 있습니다. 자세한 내용은 (선택 사항) 웹 트래픽 로깅 구성 섹션을 참조하십시오.

2.5단계: 엔드포인트 및 리디렉션 테스트

웹 사이트를 테스트하려면 브라우저에 엔드포인트 URL을 입력합니다. 요청이 리디렉션되고 브라우저에 example.com에 대한 인덱스 문서가 표시됩니다.

이렇게 해서 한 버킷에서 다른 버킷으로 요청을 리디렉션하고, 모든 인터넷 사용자가 다음 Amazon S3 버킷 웹 사이트 엔드포인트에 액세스할 수 있도록 했습니다.

  • example.com.s3-website-us-east-1.amazonaws.com

  • http://www.example.com.s3-website-us-east-1.amazonaws.com

구성 작업을 추가해 이전 단계에서 등록한 도메인의 요청을 처리합니다. 예를 들어, 도메인 example.com을 등록한 경우 다음 URL의 요청을 처리합니다.

  • http://example.com

  • http://www.example.com

다음 단계에서는 Amazon Route 53으로 고객이 모든 URL에서 해당 사이트를 탐색할 수 있도록 합니다.

3단계: Amazon Route 53 호스팅 영역의 생성과 구성

Amazon Route 53을 사용자의 DNS(Domain Name System) 공급자로 구성합니다. example.com과 같은 루트 도메인의 콘텐츠를 처리하려면 Amazon Route 53을 사용해야 합니다. 호스팅 영역을 생성해 다음과 같이 사용자의 도메인과 연결된 DNS 레코드를 저장합니다.

  • 도메인 example.com을 example.com 버킷으로 매핑하는 별칭 레코드. 이것은 2.2단계에서 웹 사이트 엔드포인트로 구성한 버킷입니다.

  • 하위 도메인 www.example.com을 www.example.com 버킷으로 매핑하는 또 다른 별칭 레코드. 2.2단계에서 example.com 버킷으로 요청을 리디렉션하도록 구성한 버킷입니다.

3.1단계: 도메인에 따른 호스팅 영역 생성

https://console.aws.amazon.com/route53의 Amazon Route 53 콘솔로 이동한 뒤 도메인에 대한 호스팅 영역을 생성합니다. 자세한 방법은 http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/호스팅 영역 생성을 참조하십시오.

다음 예는 example.com 도메인에 따라 생성된 호스팅 영역을 보여 줍니다. 이 도메인에 대한 Amazon Route 53 NS(name servers)를 적어 둡니다. 잠시 후 필요한 정보입니다.

3.2단계: example.com과 www.example.com의 별칭 레코드 추가

도메인에 따른 호스팅 영역에 추가하는 별칭 레코드는 S3 버킷에 상응하는 example.comwww.example.com을 매핑합니다. 별칭 레코드는 IP 주소 대신 Amazon S3 웹 사이트 엔드포인트를 사용합니다. Amazon Route 53은(는) 별칭 레코드와 S3 버킷이 존재하는 IP 주소 간 매핑을 유지합니다.

단계별 지침은 Amazon Route 53 개발자 안내서Amazon Route 53 콘솔을 사용하여 리소스 레코드 세트 생성하기 단원을 참조하십시오.

다음 스크린샷은 그림과 같이 example.com에 대한 별칭 레코드를 보여 줍니다. www.example.com에 대한 별칭 레코드도 생성해야 합니다.

호스팅 영역을 활성화하려면, Amazon Route 53을 도메인 example.com에 대한 DNS 서버로 사용해야 합니다. 전환하기 전에 기존 웹 사이트를 Amazon S3로 이동하는 경우, 도메인 example.com과 연결된 DNS 레코드를 먼저 도메인에 대해 Amazon Route 53에 생성된 호스팅 영역으로 전송해야 합니다. 새 웹 사이트를 생성하려면 바로 4단계로 갑니다.

참고

리소스 레코드 집합의 생성, 변경, 삭제가 Route 53 DNS 서버에 적용되려면 시간이 걸립니다. 일반적으로 변경 내용은 몇 분 이내로 모든 Route 53 NS에 적용됩니다. 30분까지 걸리는 경우는 거의 없습니다.

3.3단계: 기존 DNS 공급자에서 Amazon Route 53로 기타 DNS 레코드 전송

DNS 공급자를 Amazon Route 53으로 변경하기 전에 먼저 MX 레코드, CNAME 레코드, A 레코드 등 DNS 공급자에 남아 있는 DNS 레코드를 모두 Amazon Route 53으로 전송합니다. 다음 레코드는 전송할 필요가 없습니다.

  • NS 레코드- 이 레코드를 전송하는 대신 Amazon Route 53에서 제공하는 이름 서버 값으로 해당 값을 교체합니다.

  • SOA 레코드- Amazon Route 53에서 호스팅 영역에 있는 이 레코드를 기본값으로 제공합니다.

필요한 DNS 레코드의 마이그레이션은 도메인 이름 하에 호스팅되는 모든 기존 서비스의 계속적인 가용성을 확보하는 중요한 단계입니다.

4단계: DNS 공급자인 Amazon Route 53(으)로 전환

DNS 공급자를 Amazon Route 53으로 전환하려면, DNS 공급자에게 문의하고 NS(이름 서버) 레코드를 업데이트하여 Amazon Route 53에서 설정한 위임의 이름 서버를 사용합니다.

DNS 공급자 사이트에서 Amazon Route 53 콘솔 스크린샷에서와 같이 호스팅 영역의 위임 세트 값으로 NS 레코드를 업데이트합니다. 자세한 내용은 Amazon Route 53 개발자 안내서Updating Your DNS Service's Name Server Records를 참조하십시오.

Amazon Route 53으로 전송 완료 시, 도메인의 이름 서버가 확실히 변경되었는지 확인합니다. Linux 컴퓨터에서는 dig DNS 조회 유틸리티를 사용합니다. 예를 들면 이 dig 명령을 사용합니다.

Copy
dig +recurse +trace www.example.com any

이는 다음 출력을 반환합니다(부분 출력만 표시). 해당 출력은 example.com 도메인에 대해 생성된 Amazon Route 53 호스팅 영역의 이름 서버와 동일한 이름 서버를 보여 줍니다.

Copy
... example.com. 172800 IN NS ns-9999.awsdns-99.com. example.com. 172800 IN NS ns-9999.awsdns-99.org. example.com. 172800 IN NS ns-9999.awsdns-99.co.uk. example.com. 172800 IN NS ns-9999.awsdns-99.net. www.example.com. 300 IN CNAME www.example.com.s3-website-us-east-1.amazonaws.com. ...

5단계: 테스트

웹 사이트가 정확하게 운영되는지 확인하려면 브라우저에서 다음 URL을 시도합니다.

  • http://example.com - example.com 버킷의 인덱스 문서를 표시합니다.

  • http://www.example.com - 요청을 http://example.com로 리디렉션합니다.

예상 동작을 확인하기 위해 웹 브라우저의 캐시를 지워야 하는 경우도 있습니다.