Amazon Lightsail에서 와일드카드 Let’s Encrypt SSL 인증서를 설치하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 10월 20일

Amazon Lightsail 인스턴스에 내 웹 사이트에 대한 와일드카드 SSL 인증서를 설치하려면 어떻게 해야 합니까?

간략한 설명

다음 해결 방법은 비트나미 스택을 사용하지 않는 Lightsail 인스턴스에서 호스팅된 웹 사이트에 대해 와일드카드 Let's Encrypt SSL 인증서를 설치하는 방법을 다룹니다. 이러한 인스턴스 블루프린트의 예시로는 Amazon Linux 2, Ubuntu 등이 있습니다. 다른 인스턴스 블루프린트가 있거나 표준 인증서를 설치하려는 경우 다음 중 하나를 참조하십시오.

표준 Let's Encrypt 인증서

Amazon Linux 2, Ubuntu 등의 비트나미 스택을 사용하지 않는 Lightsail 인스턴스에 표준 Let's Encrypt SSL 인증서(비 와일드카드)를 설치하는 방법에 대한 자세한 내용은 Lightsail에 표준 Let’s Encrypt SSL 인증서를 설치하려면 어떻게 해야 합니까? 단원을 참조하십시오.

WordPress, LAMP, Magento 등의 비트나미 스택을 갖춘 Lightsail 인스턴스에 표준 Let's Encrypt SSL 인증서(비 와일드카드)를 설치하는 방법에 대한 자세한 내용은 Amazon Lightsail에서 호스팅되는 비트나미 스택에 표준 Let’s Encrypt SSL 인증서를 설치하려면 어떻게 해야 합니까? 단원을 참조하십시오.

와일드카드 Let’s Encrypt 인증서 (예: *.example.com)

WordPress, Lamp, Magento, MEAN 등의 비트나미 스택을 갖춘 Lightsail 인스턴스에 와일드카드 Let's Encrypt 인증서를 설치하는 방법에 대한 자세한 내용은 Amazon Lightsail에서 호스팅되는 비트나미 스택에 와일드카드 Let’s Encrypt SSL 인증서를 설치하려면 어떻게 해야 합니까? 단원을 참조하십시오.

해결 방법

Lightsail 인스턴스에 와일드카드 Let’s Encrypt SSL 인증서를 설치하는 데 사용되는 단계는 도메인이 사용하는 DNS 공급자에 따라 달라집니다. 사용할 방법을 결정하려면 DNS 공급자가 DNS 플러그 인의 Cerbot DNS 목록에 속하는지 확인하십시오. 그런 다음 사용할 적절한 방법을 선택합니다.

방법 1: 도메인이 나열된 DNS 공급자 중 하나를 사용하는 경우 이 방법을 사용합니다.

방법 2: 도메인이 나열된 DNS 공급자를 사용하지 않는 경우 이 방법을 사용합니다.

방법 1

사전 조건 및 제한

  • 다음 단계에서는 서버에 인증서를 설치하는 방법에 대해 설명합니다. 인증서를 사용하도록 웹 서버를 구성하고 HTTPS 리디렉션을 설정하는 등의 추가 단계를 수동으로 완료해야 합니다.
  • 도메인은 Certbot DNS 목록에 나열된 DNS 공급자 중 하나를 사용해야 합니다.

참고: 이 방법을 사용하려면 시작하기 전에 Certbot 도구를 설치해야 합니다. 설치 지침은 Lightsail 인스턴스에 Let's Encrypt 설치를 위해 Certbot 패키지를 설치하려면 어떻게 해야 합니까? 단원을 참고하십시오.

다음 예시에서 DNS 공급자는 Amazon Route 53입니다. 지원되는 다른 DNS 공급자에 대한 지침은 DNS 플러그 인을 참조하십시오.

1.    프로그래밍 방식으로 액세스하여 AWS Identify and Access Management(IAM) 사용자를 생성합니다. Certbot이 DNS 챌린지를 완료하기 위해 IAM 사용자에게 연결하는 데 필요한 최소 권한은 certbot-dns-route-53을 참조하십시오.

2.    인스턴스에서 다음 명령을 실행하여 나노 에디터에서 /root/.aws/credentials 파일을 엽니다.

sudo mkdir /root/.aws
sudo nano /root/.aws/credentials

3.    다음 줄을 파일에 복사합니다. 그런 다음 Ctrl+x를 눌러 파일을 저장하고, y를 누른 다음 Enter를 누릅니다.

다음 명령에서 aws_access_key_id를 1단계에서 생성한 액세스 키 ID로 바꿉니다. aws_secret_access_key를 1단계에서 생성한 비밀 액세스 키로 바꿉니다.

[default]
aws_access_key_id = AKIA************E
aws_secret_access_key = 1yop**************************l

4.    서버에서 Let's Encrypt 인증서를 생성합니다. example.com를 자신의 도메인 이름으로 바꿉니다.

도메인에서 Amazon Route 53을 DNS 공급자로 사용하는 경우 다음 명령을 실행합니다.

sudo certbot certonly --dns-route53 -d example.com -d *.example.com

SSL 인증서가 생성되면 “인증서를 받았습니다.”라는 메시지가 나타납니다. 인증서 및 키 파일 위치도 제공됩니다. 6단계에서 사용할 수 있도록 이러한 파일 위치를 메모장에 저장합니다.

5.    자동 인증서 갱신을 설정합니다.

snapd를 사용하여 Certbot 패키지를 설치한 경우 systemd 타이머 또는 cronjobs에서 갱신이 자동으로 구성됩니다.

OS 배포가 Amazon Linux 2 또는 FreeBSD인 경우 snapd를 사용하여 Certbot 패키지가 설치되지 않습니다. 이 경우 다음 명령을 실행하여 갱신을 수동으로 구성해야 합니다.

echo "30 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

6.    인증서 설치 및 갱신 설정만 완료됩니다. 이 인증서를 사용하고 HTTPS 리디렉션을 설정하도록 웹 서버를 구성해야 합니다. 이 구성은 인스턴스에 있는 웹 서버 설정에 따라 다르며 달라집니다. 이러한 단계를 완료하는 방법에 대한 지침은 웹 서비스 설명서를 참조하십시오.

방법 2

사전 조건 및 제한

  • 다음 단계에서는 서버에 인증서를 설치하는 방법에 대해 설명합니다. 인증서를 사용하도록 웹 서버를 구성하고 HTTPS 리디렉션을 설정하는 등의 추가 단계를 수동으로 완료해야 합니다.
  • 이 방법에서는 자동 인증서 갱신이 지원되지 않습니다.

참고: 이 방법을 사용하려면 시작하기 전에 Certbot 도구를 설치해야 합니다. 설치 지침은 Lightsail 인스턴스에 Let's Encrypt 설치를 위해 Certbot 패키지를 설치하려면 어떻게 해야 합니까? 단원을 참고하십시오.

1.    이 방법을 사용하려면 도메인의 DNS 공급자에 TXT 레코드를 추가해야 합니다. 이 과정은 다소 시간이 걸릴 수 있으므로 Linux GNU 화면에서 명령을 실행하여 세션 시간 초과를 방지하는 것이 제일 좋습니다. Screen 세션을 시작하려면 다음 명령을 입력합니다.

screen -S letsencrypt

2.    다음 명령을 입력하여 Certbot을 대화식 모드로 시작합니다. 이 명령은 Certbot에게 DNS 챌린지와 수동 인증 방법을 사용하여 도메인 소유권을 확인하게 합니다. example.com를 자신의 도메인으로 바꿉니다.

sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com

3.    도메인의 DNS 레코드에 TXT 레코드를 추가하여 지정된 도메인을 소유 여부를 확인하라는 메시지가 표시됩니다. Let's Encrypt는 검증에 반드시 사용해야 하는 하나 또는 여러 개의 TXT 레코드를 제공합니다.

4.    화면에 TXT 레코드가 표시되면 먼저 도메인의 DNS에 제공된 레코드를 추가합니다. TXT 레코드가 인터넷 DNS로 전파된다는 것을 확인할 때까지 ENTER 키를 누르지 마십시오. 또한 현재 화면 세션이 종료되므로 CTRL+D를 누르지 마십시오.

5.    TXT 레코드가 인터넷 DNS로 전파되었는지 확인하려면 DNS 텍스트 조회에서 찾아보십시오. 텍스트 상자에 다음 텍스트를 입력하고 TXT 조회를 선택하여 확인합니다. example.com을 사용자 도메인으로 바꿔야 합니다.

_acme-challenge.example.com

6.    TXT 레코드가 인터넷의 DNS로 전파된 경우 페이지에 TXT 레코드 값이 표시됩니다. 이제 화면으로 돌아가서 Enter 키를 누를 수 있습니다.

참고: 셸에서 제거된 경우 명령 screen -r SESSIONID를 사용하여 다시 가져옵니다. 명령 screen -ls를 실행하여 세션 ID를 가져옵니다.

7.    Certbot 프롬프트에서 다른 TXT 레코드를 추가하라는 메시지가 표시되면 4~7단계를 다시 완료하십시오.

8.    SSL 인증서가 생성되면 “인증서를 받았습니다.”라는 메시지가 나타납니다. 인증서 및 키 파일 위치도 제공됩니다. 다음 단계에서 사용할 수 있도록 이러한 파일 위치를 메모장에 저장합니다.

9.    인증서 설치 및 갱신 설정만 완료됩니다. 이 인증서를 사용하고 HTTPS 리디렉션을 설정하도록 웹 서버를 구성해야 합니다. 이 구성은 인스턴스에 있는 웹 서버 설정에 따라 다르며 달라집니다. 이러한 단계를 완료하는 방법에 대한 지침은 웹 서비스 설명서를 참조하십시오.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?