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

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

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

도메인, DNS, 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과 같은 하위 도메인 양쪽의 요청을 모두 지원하려면 두 개의 버킷을 생성합니다. 하나의 버킷이 콘텐츠를 포함합니다. 요청으로 리디렉션하도록 다른 버킷을 구성합니다.

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 버킷도 생성해야 합니다.

버킷을 생성하고 호스팅용 웹 사이트 콘텐츠를 업로드하는 방법

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

  2. 사용자의 도메인 이름 및 하위 도메인과 일치하는 두 개의 버킷을 생성합니다. 예를 들어 example.comwww.example.com이 있습니다.

    단계별 지침은 S3 버킷을 생성하려면 어떻게 해야 합니까?(출처: Amazon Simple Storage Service 콘솔 사용 설명서)를 참조하십시오.

  3. 웹 사이트 데이터를 example.com 버킷에 업로드합니다.

    루트 도메인 버킷(example.com)의 콘텐츠를 호스팅하고 www.example.com에 대한 요청은 루트 도메인 버킷으로 리디렉션합니다. 어느 버킷에서든 콘텐츠를 저장할 수 있습니다. 이 예에서는 콘텐츠를 example.com 버킷에 호스팅합니다. 콘텐츠는 텍스트 파일, 가족 사진, 동영상 등 원하는 것은 무엇이든 가능합니다. 웹 사이트가 아직 만들어지지 않은 경우 이 예에서 사용할 파일이 하나 필요합니다. 어떤 파일이든 업로드할 수 있습니다. 예를 들어, 다음 HTML을 사용해 파일을 만들고 버킷에 업로드할 수 있습니다. 일반적으로 웹 사이트 홈페이지의 파일 이름은 index.html이지만, 어떤 이름이라도 사용할 수 있습니다. 이후 단계에서 이 파일 이름을 웹 사이트의 인덱스 문서 이름으로 제공합니다.

    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>

    단계별 지침은 S3 버킷에 객체를 업로드하려면 어떻게 해야 합니까?(출처: Amazon Simple Storage Service 콘솔 사용 설명서)를 참조하십시오.

  4. 객체에 공개 액세스가 가능하도록 객체에 대한 권한을 구성합니다.

    example.com을 사용자의 버킷 이름으로 대체해 다음 버킷 정책을 example.com 버킷에 연결합니다. 버킷 정책 연결에 대한 단계별 지침은 S3 버킷 정책을 추가하려면 어떻게 해야 합니까?(출처: Amazon Simple Storage Service 콘솔 사용 설명서)를 참조하십시오.

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

    이제 example.comwww.example.com, 두 개의 버킷이 있으므로 example.com 버킷에 웹 사이트 콘텐츠를 업로드합니다. 다음 단계에서는 사용자의 example.com 버킷으로 요청이 리디렉션하도록 www.example.com을 구성합니다. 요청을 리디렉션함으로써 웹 사이트 콘텐츠의 사본을 하나만 유지할 수 있습니다. 브라우저에 www를 입력하는 방문자와 루트 도메인만 지정하는 방문자는 example.com 버킷의 동일한 웹 사이트 콘텐츠로 라우팅됩니다. 

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

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

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

웹 사이트 호스팅용 버킷을 구성하는 방법

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

  2. [Bucket name] 목록에서 정적 웹 사이트 호스팅을 활성화하려는 버킷의 이름을 선택합니다.

  3. [Properties]를 선택합니다.

  4. [Static website hosting]을 선택합니다.

  5. 웹 사이트 호스팅을 위해 example.com 버킷을 구성합니다. Index Document 상자에, 인덱스 페이지의 이름을 입력합니다.

  6. Save를 선택합니다.

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

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

www.example.com의 요청을 example.com로 리디렉션하려면

  1. Amazon S3 콘솔의 [Buckets] 목록에서 원하는 버킷(이 예에서는 www.example.com)을 선택합니다.

  2. [Properties]를 선택합니다.

  3. [Static website hosting]을 선택합니다.

  4. [Redirect requests]를 선택합니다. [Target bucket or domain] 상자에 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

다음 단계에서는 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단계로 갑니다.

참고

리소스 레코드 집합의 생성, 변경, 삭제가 Amazon Route 53 DNS 서버에 적용되려면 시간이 걸립니다. 일반적으로 모든 Amazon Route 53 이름 서버로 변경 사항이 전파되는데 몇 분이 걸립니다. 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 레코드의 마이그레이션은 도메인 이름 하에 호스팅되는 모든 기존 서비스의 계속적인 가용성을 확보하는 중요한 단계입니다.

3.4단계: A형 DNS 레코드 만들기

현재 이용 중인 웹 사이트를 기존의 다른 웹 사이트에서 이전하지 않을 경우, A형 DNS 레코드를 새로 만들어야 합니다.

참고

다른 DNS 공급자로부터 이 웹 사이트에 대한 A형 레코드를 이미 이전했다면 이 단계의 나머지 절차를 건너뛸 수 있습니다.

Amazon Route 53 콘솔에서 A형 DNS 레코드를 생성하려면

  1. 웹 브라우저에서 Amazon Route 53 콘솔을 엽니다.

  2. [Dashboard]에서 [Hosted zones]를 선택합니다.

  3. 호스팅 영역 테이블에서 도메인 이름을 선택합니다.

  4. Create Record Set를 선택합니다.

  5. 화면 오른쪽에 나타나는 [Create Record Set] 양식에서 [Alias]에 대해 [Yes]를 선택합니다.

  6. [Alias Target]에 Amazon S3 웹 사이트 엔드포인트(예: s3-website-us-west-2.amazonaws.com)를 입력합니다.

  7. Save Record Set를 선택합니다.

A형 DNS 레코드를 레코드 세트에 추가했다면 이 레코드는 다음 예제와 같이 테이블에 표시됩니다.

 Route 53 콘솔에서 레코드 세트 테이블을 표시하는 스크린샷

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로 리디렉션합니다.

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