s3에 배포한 정적 파일(프론트엔드)을 인증서와 연동하는 내용이다.
갓 지피티 답변
AWS Certificate Manager (ACM)를 사용하여 SSL/TLS 인증서를 발급받고자 할 때, 도메인의 소유권을 증명하기 위해 **DNS validation** 또는 **Email validation** 중 하나를 선택해야 합니다. 대부분의 경우, DNS validation이 더 간편하며, 구글 도메인을 사용하는 경우에도 동일한 절차를 따릅니다.
DNS validation을 사용하려면 다음 단계를 따라주세요:
1. **ACM에서 인증서 요청**:
AWS Certificate Manager에서 "Request a certificate"를 선택한 후, 인증서를 사용하고자 하는 도메인 이름을 입력합니다. (예: `example.com` 및 `*.example.com`)
2. **DNS validation 선택**:
Validation method에서 "DNS validation"을 선택합니다.
3. **CNAME 레코드 정보 획득**:
ACM은 도메인 소유권을 확인하기 위해 DNS에 추가해야 하는 CNAME 레코드 정보를 제공합니다.
4. **구글 도메인에서 CNAME 레코드 추가**:
구글 도메인 관리 콘솔에 로그인하고, 해당 도메인의 DNS 설정 페이지로 이동합니다. ACM에서 제공받은 CNAME 레코드 정보를 구글 도메인에 추가합니다.
5. **인증서 발급 대기**:
CNAME 레코드 추가 후 일정 시간이 지나면 ACM은 자동으로 DNS를 체크하여 도메인의 소유권을 확인하고 인증서를 발급합니다. 이 과정은 몇 분에서 몇 시간까지 걸릴 수 있습니다.
"Import certificate" 방식은 이미 소유하고 있는 인증서를 ACM에 가져오려 할 때 사용합니다. 이 경우는 별도의 도메인 소유권 검증 절차 없이 인증서의 키와 인증서 체인만 제공하면 됩니다.
대부분의 사용자는 ACM에서 직접 인증서를 발급받기를 원하므로 "Request certificate" 방식을 사용하게 됩니다.
- 이때 인증을 example.com과 *.example.com 두가지 형태를 다 인증 받아두면 경우의 수가 줄어든다. www.라는 형식을 보통 사용할테니 *.example.com만 인증을 받아도 상관없긴하다.
참고로 구글 도메인 주소를 알려드립니다
https://domains.google.com/registrar/
여러분들은 어차피 다른곳에서 주로 발급받으셨을테니 거기도 비슷하게 cname입력하는 부분이 있을꺼에요
이후 cloudfront에서 custom ssl 인증서를 설정할때 인증서의 위치가
미국 동부(노스버지니아) 지역(us-east-1)에 있는 인증서만 인식하니 ACM의 인증시 위치를 us-east-1로 변경하고 진행하자.
역시나 갓 지피티의 답변
`www.example.com`을 사용하고 싶다면 CloudFront와 ACM을 연동하면서 Route 53을 함께 사용하여 DNS 설정을 완료해야 합니다. 아래는 전체적인 절차를 요약한 것입니다:
1. **ACM에서 SSL 인증서 획득**: 이미 `*.example.com` 및 `example.com`에 대한 인증서를 획득한 것으로 보입니다. 이 인증서를 CloudFront와 연동하면 됩니다.
2. **CloudFront 배포 생성**:
- CloudFront 대시보드로 이동하고 새 배포를 생성합니다.
- "Origin Domain Name"에 웹사이트의 오리진 주소(예: S3 버킷 URL, ELB 주소 등)를 입력합니다.
- "Viewer Protocol Policy"를 "Redirect HTTP to HTTPS"로 설정하여 HTTPS만을 사용하도록 강제합니다.
- "SSL Certificate" 섹션에서 "Custom SSL Certificate"를 선택하고 앞서 ACM에서 생성한 인증서를 선택합니다.
- 다른 설정을 필요에 따라 구성한 후 배포를 생성합니다.
3. **Route 53에서 호스티드 존 생성**:
- Route 53 대시보드로 이동하여 `example.com`을 위한 새 호스티드 존을 생성합니다.
4. **Route 53에서 CNAME 레코드 생성**:
- Route 53 호스티드 존 내에서 새 레코드 세트를 생성합니다.
- 레코드의 이름을 `www.example.com`으로 설정합니다.
- 유형은 `CNAME`을 선택하고, 값은 CloudFront 배포의 도메인 이름(URL)을 입력합니다.
5. **도메인 제공자에서 Name Server 업데이트**:
- Route 53에서 `example.com` 호스티드 존의 NS 레코드를 확인합니다.
- 구글 도메인의 DNS 설정 페이지에서 Route 53에서 제공받은 Name Server(NS) 값을 입력합니다.
이렇게 설정하면 `www.example.com`을 사용하여 CloudFront 배포에 접근할 수 있습니다. ACM에서 "Create DNS records in Amazon Route 53"를 사용하는 경우, 일반적으로 Route 53과의 연동 문제가 발생하지 않아야 합니다. 하지만 직접 입력하는 경우 오타나 다른 설정 문제가 발생할 수 있으니 세심한 주의가 필요합니다.
중요한건 작업의 흐름이다 세세한 방법은 그때그때 변경되니 키워드를 남긴다는 느낌으로 공유합니다.