튜토리얼: Route 53에 등록된 사용자 지정 도메인으로 정적 웹사이트 구성

튜토리얼: Route 53에 등록된 사용자 지정 도메인으로 정적 웹사이트 구성

Amazon S3에서 정적 웹사이트를 호스팅하고 싶다고 가정해 볼게요. Amazon Route 53에 도메인(예: example.com)을 등록했고, http://www.example.com과 http://example.com에 대한 요청이 Amazon S3 콘텐츠에서 제공되도록 하고 싶어요. 이 연습을 통해 Route 53에 등록된 사용자 지정 도메인 이름을 가진 웹사이트에 대해 Amazon S3에서 정적 웹사이트를 호스팅하고 리디렉션을 만드는 방법을 배울 수 있어요. Amazon S3에서 호스팅하려는 기존 웹사이트로 작업하거나, 이 연습을 사용해 처음부터 시작할 수 있어요.

출처: 문서

본문

이 연습을 완료한 뒤 선택적으로 Amazon CloudFront를 사용해 웹사이트 성능을 개선할 수 있어요. 자세한 내용은 Amazon CloudFront로 웹사이트 속도 높이기를 참고하세요.

참고 Amazon S3 웹사이트 엔드포인트는 HTTPS나 액세스 포인트를 지원하지 않아요. HTTPS를 사용하려면 Amazon CloudFront로 Amazon S3에 호스팅된 정적 웹사이트를 제공할 수 있어요.

CloudFront와 Amazon S3로 콘텐츠를 안전하게 호스팅하는 튜토리얼은 튜토리얼: Amazon S3, Amazon CloudFront, Amazon Route 53으로 주문형 비디오 스트리밍 호스팅을 참고하세요. 자세한 내용은 Amazon S3에 호스팅된 정적 웹사이트를 제공하도록 CloudFront를 사용하는 방법과 뷰어와 CloudFront 사이의 통신에 HTTPS 요구를 참고하세요.

CloudFormation 템플릿으로 정적 웹사이트 설정 자동화 — CloudFormation 템플릿으로 정적 웹사이트 설정을 자동화할 수 있어요. CloudFormation 템플릿은 안전한 정적 웹사이트를 호스팅하는 데 필요한 구성 요소를 설정하므로, 구성 요소 구성보다 웹사이트 콘텐츠에 더 집중할 수 있어요.

CloudFormation 템플릿에는 다음 구성 요소가 포함돼요.

  • Amazon S3 – 정적 웹사이트를 호스팅할 Amazon S3 버킷을 만들어요.
  • CloudFront – 정적 웹사이트를 가속화할 CloudFront 배포를 만들어요.
  • Lambda@Edge – Lambda@Edge를 사용해 모든 서버 응답에 보안 헤더를 추가해요. 보안 헤더는 웹 서버 응답에서 웹 브라우저가 추가 보안 예방 조치를 취하도록 지시하는 헤더 그룹이에요. 자세한 내용은 블로그 게시물 Lambda@Edge와 Amazon CloudFront로 HTTP 보안 헤더 추가를 참고하세요.

이 CloudFormation 템플릿은 다운로드해 사용할 수 있어요. 정보와 안내는 Amazon CloudFront Developer Guide의 안전한 정적 웹사이트 시작하기를 참고하세요.

시작하기 전에 (Before you begin)

이 예시의 단계를 따르며 다음 서비스로 작업해요.

  • Amazon Route 53 – Route 53으로 도메인을 등록하고 도메인에 대한 인터넷 트래픽을 라우팅할 위치를 정의해요. 이 예시는 도메인(example.com)과 하위 도메인(www.example.com)의 트래픽을 HTML 파일이 들어 있는 Amazon S3 버킷으로 라우팅하는 Route 53 별칭 레코드를 만드는 방법을 보여줘요.
  • Amazon S3 – Amazon S3로 버킷을 만들고, 샘플 웹사이트 페이지를 업로드하고, 누구나 콘텐츠를 볼 수 있도록 권한을 구성하고, 버킷을 웹사이트 호스팅용으로 구성해요.

1단계: Route 53으로 사용자 지정 도메인 등록 (Step 1: Register a custom domain with Route 53)

등록된 도메인 이름(예: example.com)이 아직 없다면 Route 53으로 하나를 등록해요. 자세한 내용은 Amazon Route 53 Developer Guide의 새 도메인 등록을 참고하세요. 도메인 이름을 등록한 뒤 웹사이트 호스팅용 Amazon S3 버킷을 만들고 구성할 수 있어요.

2단계: 두 개의 버킷 생성 (Step 2: Create two buckets)

루트 도메인과 하위 도메인 모두의 요청을 지원하려면 두 개의 버킷을 만들어요.

  • 도메인 버킷 – example.com
  • 하위 도메인 버킷 – www.example.com

이 버킷 이름은 도메인 이름과 정확히 일치해야 해요. 이 예시에서 도메인 이름은 example.com이에요. 루트 도메인 버킷(example.com)에서 콘텐츠를 호스팅해요. 하위 도메인 버킷(www.example.com)에는 리디렉션 요청을 만들어요. 누군가 브라우저에 www.example.com을 입력하면 example.com으로 리디렉션되어 그 이름을 가진 Amazon S3 버킷에 호스팅된 콘텐츠를 보게 돼요.

웹사이트 호스팅용 버킷을 만드는 방법은 다음과 같아요. 다음 안내는 웹사이트 호스팅용 버킷을 만드는 방법의 개요예요. 버킷 생성에 대한 자세한 단계별 안내는 일반 목적 버킷 생성을 참고하세요.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 열어요.
  2. 루트 도메인 버킷을 만들어요. 탐색 모음에서 현재 표시된 AWS 리전의 이름을 선택하고, 버킷을 만들 리전을 선택해요. 참고: 지연 시간과 비용을 최소화하고 규제 요구 사항을 충족하려면 가까운 리전을 선택해요. 리전에 저장된 객체는 명시적으로 다른 리전으로 전송하지 않는 한 그 리전을 벗어나지 않아요. Amazon S3 AWS 리전 목록은 Amazon Web Services General Reference의 AWS 서비스 엔드포인트를 참고하세요. 왼쪽 탐색 창에서 General purpose buckets를 선택하고 Create bucket을 선택해요. Create bucket 페이지가 열려요. Bucket name을 입력해요(예: example.com). 버킷을 만들 리전을 선택해요. 지연 시간과 비용을 최소화하거나 규제 요구 사항을 충족하려면 지리적으로 가까운 리전을 선택해요. 선택한 리전이 Amazon S3 웹사이트 엔드포인트를 결정해요. 자세한 내용은 웹사이트 엔드포인트를 참고하세요. 기본 설정을 수락하고 버킷을 만들려면 Create를 선택해요.
  3. 하위 도메인 버킷을 만들어요. Create bucket을 선택해요. Bucket name을 입력해요(예: www.example.com). 버킷을 만들 리전을 선택해요. 지연 시간과 비용을 최소화하거나 규제 요구 사항을 충족하려면 지리적으로 가까운 리전을 선택해요. 선택한 리전이 Amazon S3 웹사이트 엔드포인트를 결정해요. 자세한 내용은 웹사이트 엔드포인트를 참고하세요. 기본 설정을 수락하고 버킷을 만들려면 Create를 선택해요.

다음 단계에서 example.com을 웹사이트 호스팅용으로 구성해요.

3단계: 루트 도메인 버킷을 웹사이트 호스팅용으로 구성 (Step 3: Configure your root domain bucket for website hosting)

이 단계에서 루트 도메인 버킷(example.com)을 웹사이트로 구성해요. 이 버킷에는 웹사이트 콘텐츠가 들어갈 거예요. 버킷을 웹사이트 호스팅용으로 구성하면 웹사이트 엔드포인트로 웹사이트에 접근할 수 있어요.

정적 웹사이트 호스팅을 활성화하는 방법은 다음과 같아요.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 General purpose buckets를 선택해요.
  3. 버킷 목록에서 정적 웹사이트 호스팅을 활성화할 버킷의 이름을 선택해요.
  4. Properties를 선택해요.
  5. Static website hosting 아래에서 Edit를 선택해요.
  6. Use this bucket to host a website를 선택해요.
  7. Static website hosting 아래에서 Enable을 선택해요.
  8. Index document에 인덱스 문서의 파일 이름(일반적으로 index.html)을 입력해요. 인덱스 문서 이름은 대소문자를 구분하며, S3 버킷에 업로드할 HTML 인덱스 문서의 파일 이름과 정확히 일치해야 해요. 버킷을 웹사이트 호스팅용으로 구성할 때 인덱스 문서를 지정해야 해요. 루트 도메인이나 하위 폴더에 요청이 들어오면 Amazon S3는 이 인덱스 문서를 반환해요. 자세한 내용은 인덱스 문서 구성을 참고하세요.
  9. 4XX 클래스 오류에 자신의 사용자 지정 오류 문서를 제공하려면 Error document에 사용자 지정 오류 문서 파일 이름을 입력해요. 오류 문서 이름은 대소문자를 구분하며, S3 버킷에 업로드할 HTML 오류 문서의 파일 이름과 정확히 일치해야 해요. 사용자 지정 오류 문서를 지정하지 않고 오류가 발생하면 Amazon S3는 기본 HTML 오류 문서를 반환해요. 자세한 내용은 사용자 지정 오류 문서 구성을 참고하세요.
  10. (선택 사항) 고급 리디렉션 규칙을 지정하려면 Redirection rules에 규칙을 설명하는 JSON을 입력해요. 예를 들어 요청의 특정 객체 키 이름이나 접두사에 따라 요청을 조건부로 라우팅할 수 있어요. 자세한 내용은 고급 조건부 리디렉션을 사용하도록 리디렉션 규칙 구성을 참고하세요.
  11. Save changes를 선택해요. Amazon S3가 버킷에 정적 웹사이트 호스팅을 활성화해요. 페이지 아래 Static website hosting에서 버킷의 웹사이트 엔드포인트를 볼 수 있어요.
  12. Static website hosting 아래에서 Endpoint를 확인해요. Endpoint는 버킷의 Amazon S3 웹사이트 엔드포인트예요. 버킷을 정적 웹사이트로 구성한 뒤 이 엔드포인트로 웹사이트를 테스트할 수 있어요.

공개 액세스 차단 설정을 편집하고 공개 읽기 접근을 허용하는 버킷 정책을 추가한 뒤 웹사이트 엔드포인트로 웹사이트에 접근할 수 있어요.

다음 단계에서 하위 도메인(www.example.com)이 요청을 도메인(example.com)으로 리디렉션하도록 구성해요.

4단계: 하위 도메인 버킷을 웹사이트 리디렉션용으로 구성 (Step 4: Configure your subdomain bucket for website redirect)

루트 도메인 버킷을 웹사이트 호스팅용으로 구성한 뒤 하위 도메인 버킷이 모든 요청을 도메인으로 리디렉션하도록 구성할 수 있어요. 이 예시에서 www.example.com에 대한 모든 요청은 example.com으로 리디렉션돼요.

리디렉션 요청을 구성하는 방법은 다음과 같아요.

  1. Amazon S3 콘솔의 General purpose buckets 목록에서 하위 도메인 버킷 이름(www.example.com)을 선택해요.
  2. Properties를 선택해요.
  3. Static website hosting 아래에서 Edit를 선택해요.
  4. Redirect requests for an object를 선택해요.
  5. Target bucket 상자에 루트 도메인(예: example.com)을 입력해요.
  6. Protocol에서 http를 선택해요.
  7. Save changes를 선택해요.

5단계: 웹사이트 트래픽 로깅 구성 (Step 5: Configure logging for website traffic)

웹사이트에 접근하는 방문자 수를 추적하려면 루트 도메인 버킷의 로깅을 선택적으로 활성화할 수 있어요. 자세한 내용은 서버 액세스 로깅으로 요청 로깅을 참고하세요. Amazon CloudFront로 웹사이트를 가속화할 계획이라면 CloudFront 로깅도 사용할 수 있어요.

루트 도메인 버킷의 서버 액세스 로깅을 활성화하는 방법은 다음과 같아요.

  1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 열어요.
  2. 정적 웹사이트로 구성된 버킷을 만든 리전과 같은 리전에 로깅용 버킷(예: logs.example.com)을 만들어요.
  3. 서버 액세스 로깅 로그 파일을 위한 폴더를 만들어요(예: logs).
  4. (선택 사항) CloudFront로 웹사이트 성능을 개선하려면 CloudFront 로그 파일용 폴더를 만들어요(예: cdn). 중요: 배포를 만들거나 업데이트할 때 CloudFront 로깅을 활성화하면 CloudFront가 버킷 ACL(접근 제어 목록)을 업데이트해 awslogsdelivery 계정에 버킷에 로그를 쓸 수 있는 FULL_CONTROL 권한을 부여해요. 자세한 내용은 Amazon CloudFront Developer Guide의 표준 로깅 구성과 로그 파일 접근에 필요한 권한을 참고하세요. 로그를 저장하는 버킷이 S3 Object Ownership의 Bucket owner enforced 설정을 사용해 ACL을 비활성화한다면 CloudFront가 해당 버킷에 로그를 쓸 수 없어요. 자세한 내용은 버킷의 객체 소유권 제어 및 ACL 비활성화를 참고하세요.
  5. Buckets 목록에서 루트 도메인 버킷을 선택해요.
  6. Properties를 선택해요.
  7. Server access logging 아래에서 Edit를 선택해요.
  8. Enable을 선택해요.
  9. Target bucket에서 서버 액세스 로그의 대상 버킷과 폴더를 선택해요. 폴더와 버킷 위치를 찾으려면 Browse S3를 선택하고 버킷 이름을 고른 뒤 로그 폴더를 선택해요. Choose path를 선택하고 S3 버킷 경로(예: s3://logs.example.com/logs/)를 입력해요.
  10. Save changes를 선택해요. 이제 로그 버킷에서 로그에 접근할 수 있어요. Amazon S3는 2시간마다 웹사이트 액세스 로그를 로그 버킷에 기록해요.

6단계: 인덱스 및 웹사이트 콘텐츠 업로드 (Step 6: Upload index and website content)

이 단계에서 인덱스 문서와 선택적 웹사이트 콘텐츠를 루트 도메인 버킷에 업로드해요.

버킷에 정적 웹사이트 호스팅을 활성화할 때 인덱스 문서 이름(예: index.html)을 입력해요. 버킷에 정적 웹사이트 호스팅을 활성화한 뒤에는 이 인덱스 문서 이름과 같은 HTML 파일을 버킷에 업로드해요.

인덱스 문서를 구성하는 방법은 다음과 같아요.

  1. index.html 파일을 만들어요. index.html 파일이 없다면 다음 HTML로 만들 수 있어요.
<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>
  1. 인덱스 파일을 로컬에 저장해요. 인덱스 문서 파일 이름은 Static website hosting 대화 상자에 입력한 인덱스 문서 이름과 정확히 일치해야 해요. 인덱스 문서 이름은 대소문자를 구분해요. 예를 들어 Static website hosting 대화 상자의 Index document 이름에 index.html을 입력했다면, 인덱스 문서 파일 이름도 index.html이어야 하고 Index.html이면 안 돼요.
  2. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 열어요.
  3. 왼쪽 탐색 창에서 General purpose buckets를 선택해요.
  4. 버킷 목록에서 정적 웹사이트 호스팅에 사용할 버킷 이름을 선택해요.
  5. 버킷에 정적 웹사이트 호스팅을 활성화하고 인덱스 문서의 정확한 이름(예: index.html)을 입력해요. 자세한 내용은 웹사이트 호스팅 활성화를 참고하세요. 정적 웹사이트 호스팅을 활성화한 뒤 6단계로 진행해요.
  6. 인덱스 문서를 버킷에 업로드하려면 다음 중 하나를 수행해요. 인덱스 파일을 콘솔의 버킷 목록에 끌어다 놓거나, Upload를 선택해 프롬프트에 따라 인덱스 파일을 선택해 업로드해요. 단계별 안내는 객체 업로드를 참고하세요.
  7. (선택 사항) 다른 웹사이트 콘텐츠를 버킷에 업로드해요.

7단계: 오류 문서 업로드 (Step 7: Upload an error document)

버킷에 정적 웹사이트 호스팅을 활성화할 때 오류 문서 이름(예: 404.html)을 입력해요. 버킷에 정적 웹사이트 호스팅을 활성화한 뒤에는 이 오류 문서 이름과 같은 HTML 파일을 버킷에 업로드해요.

오류 문서를 구성하는 방법은 다음과 같아요.

  1. 예를 들어 404.html 같은 오류 문서를 만들어요.
  2. 오류 문서 파일을 로컬에 저장해요. 오류 문서 이름은 대소문자를 구분하며, 정적 웹사이트 호스팅을 활성화할 때 입력한 이름과 정확히 일치해야 해요. 예를 들어 Static website hosting 대화 상자의 Error document 이름에 404.html을 입력했다면, 오류 문서 파일 이름도 404.html이어야 해요.
  3. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 열어요.
  4. 왼쪽 탐색 창에서 General purpose buckets를 선택해요.
  5. 버킷 목록에서 정적 웹사이트 호스팅에 사용할 버킷 이름을 선택해요.
  6. 버킷에 정적 웹사이트 호스팅을 활성화하고 오류 문서의 정확한 이름(예: 404.html)을 입력해요. 자세한 내용은 웹사이트 호스팅 활성화와 사용자 지정 오류 문서 구성을 참고하세요. 정적 웹사이트 호스팅을 활성화한 뒤 6단계로 진행해요.
  7. 오류 문서를 버킷에 업로드하려면 다음 중 하나를 수행해요. 오류 문서 파일을 콘솔의 버킷 목록에 끌어다 놓거나, Upload를 선택해 프롬프트에 따라 인덱스 파일을 선택해 업로드해요. 단계별 안내는 객체 업로드를 참고하세요.

8단계: S3 Block Public Access 설정 편집 (Step 8: Edit S3 Block Public Access settings)

이 예시에서 도메인 버킷(example.com)의 공개 액세스 차단 설정을 편집해 공개 접근을 허용해요.

기본적으로 Amazon S3는 계정과 버킷에 대한 공개 접근을 차단해요. 버킷을 정적 웹사이트 호스팅에 사용하려면 다음 단계로 공개 액세스 차단 설정을 편집할 수 있어요.

경고 이 단계를 완료하기 전에 Amazon S3 스토리지에 대한 공개 액세스 차단을 검토해 공개 접근을 허용할 때의 위험을 이해하고 수용했는지 확인해요. 공개 액세스 차단 설정을 꺼서 버킷을 공개로 만들면 인터넷의 누구든지 버킷에 접근할 수 있게 돼요. 버킷에 대한 모든 공개 액세스를 차단할 것을 권장해요.

  1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 열어요.
  2. 정적 웹사이트로 구성한 버킷의 이름을 선택해요.
  3. Permissions를 선택해요.
  4. Block public access (bucket settings) 아래에서 Edit를 선택해요.
  5. Block all public access를 해제하고 Save changes를 선택해요. Amazon S3가 버킷의 Block Public Access 설정을 꺼요. 공개 정적 웹사이트를 만들려면 버킷 정책을 추가하기 전에 계정의 Block Public Access 설정을 편집해야 할 수도 있어요. 계정의 Block Public Access 설정이 현재 켜져 있다면 Block public access (bucket settings) 아래에 메모가 표시돼요.

9단계: 버킷 정책 연결 (Step 9: Attach a bucket policy)

이 예시에서 도메인 버킷(example.com)에 공개 읽기 접근을 허용하는 버킷 정책을 연결해요. 예시 버킷 정책의 Bucket-Name을 도메인 버킷 이름(예: example.com)으로 바꿔요.

S3 Block Public Access 설정을 편집한 뒤 버킷에 공개 읽기 접근을 부여하는 버킷 정책을 추가할 수 있어요. 공개 읽기 접근을 부여하면 인터넷의 누구든지 버킷에 접근할 수 있어요.

중요 다음 정책은 예시일 뿐이며 버킷 내용에 전체 접근을 허용해요. 이 단계를 진행하기 전에 Amazon S3 버킷의 파일을 어떻게 안전하게 보호할 수 있나요?를 검토해 S3 버킷의 파일 보안 모범 사례와 공개 접근을 부여할 때의 위험을 이해하는지 확인해요.

  1. Buckets 아래에서 버킷 이름을 선택해요.
  2. Permissions를 선택해요.
  3. Bucket Policy 아래에서 Edit를 선택해요.
  4. 웹사이트에 공개 읽기 접근을 부여하려면 다음 버킷 정책을 복사해 Bucket policy editor에 붙여넣어요.
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [ "s3:GetObject" ],
      "Resource": [ "arn:aws:s3:::Bucket-Name/*" ]
    }
  ]
}
  1. Resource를 자신의 버킷 이름으로 업데이트해요. 위 예시 버킷 정책에서 Bucket-Name은 버킷 이름의 자리 표시자예요. 이 버킷 정책을 자신의 버킷에 사용하려면 이 이름을 자신의 버킷 이름과 일치하도록 업데이트해야 해요.
  2. Save changes를 선택해요. 버킷 정책이 성공적으로 추가되었다는 메시지가 나타나요. Policy has invalid resource라는 오류가 보이면 버킷 정책의 버킷 이름이 버킷 이름과 일치하는지 확인해요. 버킷 정책 추가에 대한 자세한 내용은 S3 버킷 정책을 추가하는 방법을 참고하세요. 오류 메시지가 뜨고 버킷 정책을 저장할 수 없다면 계정 및 버킷의 Block Public Access 설정을 확인해 버킷에 공개 접근을 허용하는지 확인해요.

다음 단계에서 웹사이트 엔드포인트를 확인하고 도메인 엔드포인트를 테스트할 수 있어요.

10단계: 도메인 엔드포인트 테스트 (Step 10: Test your domain endpoint)

도메인 버킷을 공개 웹사이트 호스팅용으로 구성한 뒤 엔드포인트를 테스트할 수 있어요. 자세한 내용은 웹사이트 엔드포인트를 참고하세요. 하위 도메인 버킷은 정적 웹사이트 호스팅이 아니라 웹사이트 리디렉션용으로 설정되어 있으므로 도메인 버킷의 엔드포인트만 테스트할 수 있어요.

참고 Amazon S3는 웹사이트에 대한 HTTPS 접근을 지원하지 않아요. HTTPS를 사용하려면 Amazon CloudFront로 Amazon S3에 호스팅된 정적 웹사이트를 제공할 수 있어요.

자세한 내용은 Amazon S3에 호스팅된 정적 웹사이트를 제공하도록 CloudFront를 사용하는 방법과 뷰어와 CloudFront 사이의 통신에 HTTPS 요구를 참고하세요.

  1. Buckets 아래에서 버킷 이름을 선택해요.
  2. Properties를 선택해요.
  3. 페이지 아래 Static website hosting에서 Bucket website endpoint를 선택해요. 인덱스 문서가 별도 브라우저 창에서 열려요.

다음 단계에서 Amazon Route 53을 사용해 고객이 두 사용자 지정 URL 모두로 사이트에 이동할 수 있게 해요.

11단계: 도메인과 하위 도메인의 별칭 레코드 추가 (Step 11: Add alias records for your domain and subdomain)

이 단계에서 도메인(example.com과 www.example.com)용 호스팅 영역에 추가할 별칭 레코드를 만들어요. 별칭 레코드는 IP 주소 대신 Amazon S3 웹사이트 엔드포인트를 사용해요. Amazon Route 53은 별칭 레코드와 Amazon S3 버킷이 있는 IP 주소 사이의 매핑을 유지해요. 루트 도메인용 별칭 레코드 하나와 하위 도메인용 별칭 레코드 하나, 총 두 개를 만들어요.

루트 도메인(example.com)의 별칭 레코드를 추가하는 방법은 다음과 같아요.

  1. https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 열어요. 참고: 아직 Route 53을 사용하지 않는다면 Amazon Route 53 Developer Guide의 1단계: 도메인 등록을 참고하세요. 설정을 완료한 뒤 이 안내를 계속할 수 있어요.
  2. Hosted zones를 선택해요.
  3. 호스팅 영역 목록에서 도메인 이름과 일치하는 호스팅 영역의 이름을 선택해요.
  4. Create record를 선택해요.
  5. Switch to wizard를 선택해요. 참고: 빠른 생성으로 별칭 레코드를 만들고 싶다면 S3 버킷으로 트래픽을 라우팅하도록 Route 53 구성을 참고하세요.
  6. Simple routing을 선택하고 Next를 선택해요.
  7. Define simple record를 선택해요.
  8. Record name에서 호스팅 영역과 도메인의 이름인 기본값을 수락해요.
  9. Value/Route traffic to에서 Alias to S3 website endpoint를 선택해요.
  10. 리전을 선택해요.
  11. S3 버킷을 선택해요. 버킷 이름은 Name 상자에 표시된 이름과 일치해야 해요. Choose S3 bucket 목록에서 버킷 이름이 버킷이 만들어진 리전의 Amazon S3 웹사이트 엔드포인트와 함께 표시돼요. 예: s3-website-us-west-1.amazonaws.com (example.com). Choose S3 bucket은 다음 경우에 버킷을 나열해요. 버킷을 정적 웹사이트로 구성한 경우. 버킷 이름이 만드는 레코드의 이름과 같은 경우. 현재 AWS 계정이 버킷을 만든 경우. 버킷이 Choose S3 bucket 목록에 나타나지 않으면 버킷이 만들어진 리전의 Amazon S3 웹사이트 엔드포인트(예: s3-website-us-west-2.amazonaws.com)를 입력해요. Amazon S3 웹사이트 엔드포인트의 전체 목록은 Amazon S3 웹사이트 엔드포인트를 참고하세요. 별칭 대상에 대한 자세한 내용은 Amazon Route 53 Developer Guide의 Value/route traffic to를 참고하세요.
  12. Record type에서 A ‐ Routes traffic to an IPv4 address and some AWS resources를 선택해요.
  13. Evaluate target health에서 No를 선택해요.
  14. Define simple record를 선택해요.

하위 도메인(www.example.com)의 별칭 레코드를 추가하는 방법은 다음과 같아요.

  1. Configure records 아래에서 Define simple record를 선택해요.
  2. 하위 도메인의 Record name에 www를 입력해요.
  3. Value/Route traffic to에서 Alias to S3 website endpoint를 선택해요.
  4. 리전을 선택해요.
  5. S3 버킷을 선택해요. 예: s3-website-us-west-2.amazonaws.com (www.example.com). 버킷이 Choose S3 bucket 목록에 나타나지 않으면 버킷이 만들어진 리전의 Amazon S3 웹사이트 엔드포인트(예: s3-website-us-west-2.amazonaws.com)를 입력해요. Amazon S3 웹사이트 엔드포인트의 전체 목록은 Amazon S3 웹사이트 엔드포인트를 참고하세요. 별칭 대상에 대한 자세한 내용은 Amazon Route 53 Developer Guide의 Value/route traffic to를 참고하세요.
  6. Record type에서 A ‐ Routes traffic to an IPv4 address and some AWS resources를 선택해요.
  7. Evaluate target health에서 No를 선택해요.
  8. Define simple record를 선택해요.
  9. Configure records 페이지에서 Create records를 선택해요.

참고 변경 사항은 일반적으로 60초 안에 모든 Route 53 서버에 전파돼요. 전파가 완료되면 이 절차에서 만든 별칭 레코드의 이름으로 Amazon S3 버킷에 트래픽을 라우팅할 수 있어요.

루트 도메인(example.com)의 별칭 레코드를 추가하는 방법 (이전 콘솔) — Route 53 콘솔이 재설계됐어요. Route 53 콘솔에서 일시적으로 이전 콘솔을 사용할 수 있어요. 이전 Route 53 콘솔로 작업하려면 아래 절차를 사용해요.

  1. https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 열어요. 참고: 아직 Route 53을 사용하지 않는다면 Amazon Route 53 Developer Guide의 1단계: 도메인 등록을 참고하세요. 설정을 완료한 뒤 이 안내를 계속할 수 있어요.
  2. Hosted Zones를 선택해요.
  3. 호스팅 영역 목록에서 도메인 이름과 일치하는 호스팅 영역의 이름을 선택해요.
  4. Create Record Set을 선택해요.
  5. 다음 값을 지정해요.
    • Name – 호스팅 영역과 도메인 이름인 기본값을 수락해요. 루트 도메인의 경우 Name 필드에 추가 정보를 입력할 필요가 없어요.
    • Type – A – IPv4 address를 선택해요.
    • Alias – Yes를 선택해요.
    • Alias Target – 목록의 S3 website endpoints 섹션에서 버킷 이름을 선택해요. 버킷 이름은 Name 상자에 표시된 이름과 일치해야 해요. Alias Target 목록에서 버킷 이름 뒤에 버킷이 만들어진 리전의 Amazon S3 웹사이트 엔드포인트가 따라붙어요. 예: example.com (s3-website-us-west-2.amazonaws.com). Alias Target은 다음 경우에 버킷을 나열해요. 버킷을 정적 웹사이트로 구성한 경우. 버킷 이름이 만드는 레코드의 이름과 같은 경우. 현재 AWS 계정이 버킷을 만든 경우. 버킷이 Alias Target 목록에 나타나지 않으면 버킷이 만들어진 리전의 Amazon S3 웹사이트 엔드포인트(예: s3-website-us-west-2)를 입력해요. Amazon S3 웹사이트 엔드포인트의 전체 목록은 Amazon S3 웹사이트 엔드포인트를 참고하세요. 별칭 대상에 대한 자세한 내용은 Amazon Route 53 Developer Guide의 Value/route traffic to를 참고하세요.
    • Routing Policy – 기본값인 Simple을 수락해요.
    • Evaluate Target Health – 기본값인 No를 수락해요.
  6. Create를 선택해요.

하위 도메인(www.example.com)의 별칭 레코드를 추가하는 방법 (이전 콘솔) — 방법은 다음과 같아요.

  1. 루트 도메인(example.com)의 호스팅 영역에서 Create Record Set을 선택해요.
  2. 다음 값을 지정해요.
    • Name – 하위 도메인의 경우 상자에 www를 입력해요.
    • Type – A – IPv4 address를 선택해요.
    • Alias – Yes를 선택해요.
    • Alias Target – 목록의 S3 website endpoints 섹션에서 Name 필드에 표시된 것과 같은 버킷 이름을 선택해요. 예: www.example.com (s3-website-us-west-2.amazonaws.com).
    • Routing Policy – 기본값인 Simple을 수락해요.
    • Evaluate Target Health – 기본값인 No를 수락해요.
  3. Create를 선택해요.

참고 변경 사항은 일반적으로 60초 안에 모든 Route 53 서버에 전파돼요. 전파가 완료되면 이 절차에서 만든 별칭 레코드의 이름으로 Amazon S3 버킷에 트래픽을 라우팅할 수 있어요.

12단계: 웹사이트 테스트 (Step 12: Test the website)

웹사이트와 리디렉션이 올바르게 작동하는지 확인해요. 브라우저에 URL을 입력해요. 이 예시에서는 다음 URL을 시도할 수 있어요.

  • 도메인(http://example.com) – example.com 버킷의 인덱스 문서를 표시해요.
  • 하위 도메인(http://www.example.com) – 요청을 http://example.com으로 리디렉션해요. example.com 버킷의 인덱스 문서를 보게 돼요.

웹사이트나 리디렉션 링크가 작동하지 않으면 다음을 시도해 볼 수 있어요.

  • 캐시 지우기 – 웹 브라우저의 캐시를 지워요.
  • 네임 서버 확인 – 캐시를 지운 뒤에도 웹페이지와 리디렉션 링크가 작동하지 않으면 도메인의 네임 서버와 호스팅 영역의 네임 서버를 비교해 보세요. 네임 서버가 일치하지 않는다면 도메인 네임 서버를 호스팅 영역에 나열된 것과 일치하도록 업데이트해야 할 수 있어요. 자세한 내용은 도메인의 네임 서버와 글루 레코드 추가 또는 변경을 참고하세요.

루트 도메인과 하위 도메인을 성공적으로 테스트한 뒤에는 Amazon CloudFront 배포를 설정해 웹사이트 성능을 개선하고, 웹사이트 트래픽을 검토하는 데 사용할 로그를 제공할 수 있어요. 자세한 내용은 Amazon CloudFront로 웹사이트 속도 높이기를 참고하세요.

더 알아보기 (Learn more)