조지아 놀라 # Amazon S3 및 HTTPS를 사용한 간단한 사이트 호스팅 안녕하세요 여러분! 이 자습서에서는 사용자 지정 도메인을 사용하여 AWS에서 HTTPS로 정적 웹 사이트를 호스팅하는 방법을 보여줍니다. AWS 프리 티어를 사용하면 이 모든 것이 가능합니다. 그러나 우리가 사용할 서비스에는 소액의 요금이 부과됩니다. 일반적으로 월 1달러를 초과해서는 안 됩니다. 다음 AWS 서비스 조합을 사용하게 됩니다. âÃÂÃÂS3 âÃâÃâ Route53 âÃÂÃâ 인증서 관리자 âÃâÃâ CloudFront *시작하겠습니다!* S3 버킷 설정 먼저, 다음이 필요합니다. **2개의 S3 버킷은 모두 사용자 지정 도메인 이름과 www 하위 도메인을 포함한 두 번째 이름과 일치해야 합니다. 버킷 1: 버킷 2: 첫 번째 버킷(mywebsite.com)은 사이트의 기본 버킷입니다. 여기에는 정적 웹 사이트에 대한 모든 파일과 자산이 포함됩니다. 다음으로 정적 사이트 호스팅을 위해 이 버킷을 설정합니다. 버킷의 속성 탭에서 찾을 수 있으며 index.html로 설정된 사이트 색인과 함께 여기에 제공된 기본값을 유지할 것입니다. 또한 웹 사이트를 렌더링하려면 사용자의 브라우저가 버킷의 파일에 액세스해야 하므로 이 버킷에 액세스할 수 있도록 해야 합니다. 권한 탭에서 버킷 정책을 설정하여 이를 수행할 수 있습니다. { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "허용", "Principal":"Action": "s3:GetObject", "자원": "MY_BUCKET_ARN"} ]} 이는 버킷의 객체에 대한 퍼블릭 읽기 액세스만 허용하는 간단한 정책입니다. 이제 버킷의 정적 호스팅 구성에 정의된 엔드포인트로 이동하면 웹사이트가 표시됩니다. 진전! 하지만 우리는 그것보다 더 잘할 수 있습니다 두 번째 버킷(www.mywebsite.com)은 비워 두지만 HTTP를 프로토콜로 사용하여 첫 번째 버킷으로 리디렉션하도록 구성합니다(나중에 HTTPS로 만들 예정임). 이제 버킷을 사용할 준비가 되었습니다! Route53으로 도메인 구성 따라서 귀하의 웹사이트는 실행 중이지만 사용자 지정 도메인이 아닌 버킷 엔드포인트를 통해서만 액세스할 수 있습니다. 그것을 바꾸자 로 향하다 **Route53 Amazon Registrar에 도메인을 등록한 경우 두 개의 레코드 세트로 호스팅 영역이 설정되었음을 확인할 수 있습니다. 하나는 네임 서버(NS)용이고 다른 하나는 SOA용입니다. 우리가 해야 할 일은 S3 버킷 엔드포인트를 가리키는 두 개의 레코드 세트를 더 만드는 것입니다. 각 레코드 집합에 대해: âÃÂà유형: A âÃÂàIPv4 주소 âÃÂà별칭: 예 âÃÂà별칭 대상: 이름에 대해 설정한 것과 일치하는 S3 웹 사이트 엔드포인트 이제 맞춤 URL로 이동할 수 있습니다. 거의 다 왔지만 마지막으로 빠진 것이 하나 있습니다. ÃâÃ⦠**참고 도메인이 다른 도메인 등록 기관(Amazon 아님)에 등록된 경우 이를 설정하려면 몇 가지 다른 단계를 따라야 합니다. 일반적으로 기본 S3 버킷 엔드포인트 값이 있는 CNAME 레코드를 추가해야 합니다. **문제 해결 도메인을 처음 등록할 때 Amazon에서 생성한 호스팅 영역을 삭제한 경우(호스팅 영역에는 일부 요금이 부과되기 때문에 이렇게 했습니다), 처음부터 새 호스팅 영역을 생성해야 함 - âÃÂÃÂCreate Hosted ZoneâÃÂÃÂ를 선택하고 도메인 이름을 설정합니다(예: âÃÂÃÂmywebsite). comâÃÂà- 이렇게 하면 NS 및 SOA 유형에 대한 일부 새 레코드 집합이 생성됩니다. - 등록된 도메인으로 이동하여 이름 서버 값을 새 NS 레코드 집합에서 생성된 값으로 업데이트합니다. 인증서 요청 이제 사이트가 맞춤 URL을 사용하여 호스팅됩니다! 그러나 HTTP 프로토콜을 통해서만 액세스할 수 있습니다. 항상 HTTPS 프로토콜을 사용하여 사이트를 보호해야 합니다. 이는 악의적인 주입 공격으로부터 사이트와 사용자를 보호하고 진정성을 보장합니다. 로 향하다 **Certificate Manager** AWS Console에서 새 공개 인증서를 요청합니다(무료). 보호하려는 도메인 이름을 입력하라는 메시지가 표시됩니다. 인증서가 발급되기 전에 Amazon은 귀하가 지정된 도메인을 소유하고 있는지 확인할 수 있어야 합니다. 이메일 또는 DNS의 두 가지 확인 방법 중에서 선택할 수 있습니다. 일반적으로 이메일이 더 간단하지만 도메인 등록에 사용된 이메일에 액세스할 수 있는지 확인해야 합니다. 또는 Amazon Registrar 및 Route53을 사용한 경우 DNS 방법을 선택할 수 있습니다. 이를 위해서는 일부 특정 레코드 세트를 호스팅 영역에 추가해야 하지만 이는 대부분 자동화되어 있으므로 매우 간단합니다. 유효성 검사 후 인증서가 발급되는 데 몇 분 정도 걸릴 수 있습니다. 모두 완료되면 마지막 단계로 계속 진행할 수 있습니다! CloudFront 구성 우리가 사용할 마지막 단계를 위해 **CloudFront **는 새로운 SSL 인증서를 사용하여 HTTPS로 웹사이트를 제공할 수 있게 해줍니다. 또한 CloudFront는 웹 콘텐츠를 여러 엣지 위치에 저장하고 가장 가까운 엣지 위치에서 사용자에게 전달함으로써 웹 콘텐츠 배포 속도를 높입니다. 우리는 필요합니다 **S3 버킷당 하나씩 두 개의 새로운 웹 배포. AWS 콘솔에서 CloudFront로 이동하여 첫 번째 웹 배포를 생성합니다. 웹 배포를 만드는 데 사용할 수 있는 설정이 많이 있지만 기본적으로 다음 5개만 변경하면 됩니다. 오리진 도메인 이름: 버킷 중 하나에 대한 S3 웹사이트 엔드포인트로 설정합니다. 중요: 이 필드는 S3 버킷 이름과 함께 몇 가지 자동 완성 옵션을 제공합니다. 그러나 이를 사용하면 버킷 엔드포인트로 리디렉션하는 데 문제가 발생할 수 있습니다. 따라서 대신 버킷 엔드포인트를 직접 사용하십시오. 오리진 ID: 오리진 도메인 이름을 입력하면 채워집니다. 뷰어 프로토콜 정책: âÃÂÃÂRedirect HTTP to HTTPSâÃÂÃÂ로 설정합니다. 대체 도메인 이름: 이것은 가리키는 S3 버킷의 이름과 일치해야 합니다. 예: âÃÂÃÂmywebsite.comâÃÂÃÂ. SSL 인증서: âÃÂÃÂCustom SSL CertificateâÃÂÃÂ를 선택하고 드롭다운에서 새 인증서를 선택합니다. 두 번째 S3 버킷에 대해 이 작업을 다시 수행합니다. 배포판이 작동하는 데 시간이 걸릴 수 있으므로 기다리는 동안 마무리 단계를 수행하겠습니다. 다시 **S3는 보조 버킷(www.mywebsite.com)으로 이동하여 속성 탭의 정적 웹 사이트 호스팅에서 리디렉션 프로토콜을 HTTPS로 설정합니다. 마지막으로 **Route53 이제 S3 버킷이 아닌 CloudFront 배포를 대상으로 생성한 사용자 지정 A 레코드를 업데이트해야 합니다. 각 레코드에 대해 별칭 대상을 변경하고 드롭다운에서 사용 가능한 CloudFront 배포를 선택합니다. 참고: 다시 말하지만, 다른 DNS 서비스를 사용하는 경우 CloudFront 도메인 이름을 가리키도록 거기에서 CNAME 레코드를 업데이트해야 합니다. 그리고 당신은 그것을 가지고 있습니다! 이제 아름다운 웹사이트를 맞춤 도메인에서 사용할 수 있으며 HTTPS로 제공됩니다! 읽어 주셔서 감사합니다! 이 가이드가 유용하고 즐거웠기를 바랍니다. 도움이 되셨는지 알고 싶습니다.