💛03_Server & OS ( Infra )/05_AWS

#ACM #개념정리 #Elastic Beanstalk #ALB #ACM

roomname-dev 2026. 2. 19.
728x90

👉🏽 AWS에서 beanstalk을 사용하면 Certificate Manager alb를 자동 재공 및 갱신을 해준다.

✅ 개념 정리

1. AWS Certificate Manager (ACM)

  • SSL/TLS 인증서를 무료로 발급해주는 AWS 서비스
  • 도메인 인증을 통해 자동으로 발급
  • ACM에서 발급한 인증서는 ALB, CloudFront, API Gateway 등에 적용 가능
  • 단, EC2에 직접 설치는 불가 (ACM 인증서는 ALB 등에만 적용 가능)

2. Elastic Beanstalk + ALB + ACM의 자동화

Elastic Beanstalk은 다음과 같은 구성을 자동으로 관리합니다:

항목 설명

ALB 환경 생성 시 자동 생성 (Classic Load Balancer나 ALB)
HTTPS 환경 설정 시 ALB에 HTTPS Listener 자동 구성
인증서 ACM에서 발급 받은 인증서를 ALB에 연결 가능
갱신 ACM 인증서는 자동으로 갱신 및 ALB에 재적용

즉, Beanstalk을 사용할 경우

  • ACM에서 인증서 발급 → Beanstalk 환경 구성에 연결 → 자동 적용 및 갱신까지 지원

3. EC2 단독 사용 시

EC2 인스턴스를 직접 사용할 경우에는 ACM을 직접적으로 쓸 수 없음 (ACM 인증서는 로컬 서버에서 직접 사용할 수 없음)

🔧 EC2에서 HTTPS 적용하려면?

  1. Let's Encrypt 사용 (무료)
    • Certbot 등을 통해 SSL 인증서를 직접 발급 받아 서버에 설치
    • 웹 서버(Apache/Nginx 등)에 직접 적용
    • 90일마다 자동 갱신 스크립트 필요 (cron 등록 등)
  2. 상용 인증서 구매
    • 인증기관에서 인증서(.crt, .key 등) 구매
    • EC2에 설치하고 웹서버에 적용

🔁 자동 갱신하려면?

  • Let’s Encrypt + Certbot: certbot renew를 cron으로 등록하면 자동 갱신 가능

💡 요약

항목 Beanstalk + ALB EC2 단독

SSL 발급 ACM으로 자동 발급 (무료) Let's Encrypt 또는 상용 인증서
설치 위치 ALB에 자동 적용 EC2 웹서버(Nginx/Apache)에 수동 설치
갱신 자동 갱신 수동 또는 자동 스크립트 필요
관리 편의성 매우 편리 (자동화) 직접 설정 필요

🛠️ EC2에서 Let’s Encrypt 예시 (Ubuntu + Nginx)

bash
복사편집
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com

자동 갱신 등록

bash
복사편집
sudo crontab -e
# 아래 줄 추가 (매일 새벽 2시에 갱신 시도)
0 2 * * * /usr/bin/certbot renew --quiet

  1. page 요청시 pending발생
  2. nginx에서 s3 주소 요청시 pending발생
  3. nginx설정에서 무조건 질의 진행 처리 ( aws ip 유동적임에 따른 )
  4. nginx설정에서 proxy_pass를 변수처리 및 proxy_system.conf에 dns서버 정보 입력 및 option처리 -> aws에서는 dns를 확인시 ec2에서 vpc에 접속하여 ipv4에서 마지막자리면 2로 변경한 내역이 dns IP주소임 -> aws에서 beanstalk을 생성하면 알아서 ec2를 생성하는데 ec2가 기존거 말고 신규로 생성하여 이슈가 없으면 기존거 종료 후 신규로 진행 처리함
    • proxy_pass 변수처리 set $admin_static_proxy http://127.0.0.1:3000/studio; proxy_pass $admin_static_proxy$request_uri;
    • dns서버 설정 처리 resolver 10.0.0.2 valid=30s; resolver_timeout 10s;
  5. 배포 진행
  • Qube7 aws는 ec2 서버 2대 pub1(web), pub2(signal) 이렇게 구성
  • ssl 인증서 교체 -> crontab을 통한 자동 ssl인증서 생성 -> /command/deploy-sh -> 99(ssl) : 진행시 s3에서 해당 서버로 복사 진행 -> nginx 재시작 : sudo systemctl restart nginx
  • nginx에서 s3 요청하는 reverse proxy랑 nginx가 사용자의 요청을 받아서 전달하는 구조를 말한다

✅ AWS Route 53 레코드 유형 설명

레코드 유형 설명

A IPv4 주소를 지정하여 도메인 이름을 IP 주소로 매핑합니다. AWS 리소스로 트래픽을 라우팅할 때 가장 기본적으로 사용됩니다.
AAAA IPv6 주소를 지정하여 도메인 이름을 IPv6 주소로 매핑합니다.
CNAME 도메인 별칭(Alias)을 설정할 때 사용하며, 하나의 도메인을 다른 도메인 이름으로 매핑합니다. (예: www.example.com → example.com)
MX 메일 서버 주소를 지정합니다. 이메일 수신을 위해 필요합니다.
TXT 도메인에 대한 임의의 텍스트 데이터를 저장합니다. SPF나 DKIM, 도메인 소유 확인 등에 자주 사용됩니다.
PTR 역방향 DNS 레코드로, IP 주소를 도메인 이름으로 매핑합니다. 보통 메일 서버 설정 시 필요합니다.
SRV **특정 서비스 위치(호스트 및 포트)**를 지정합니다. 예: VoIP, SIP 서버 등.
SPF 메일 위조 방지를 위한 도메인 등록 형식이지만, 현재는 TXT 레코드에 포함하여 사용하는 것이 표준입니다. (사실상 deprecated)
NAPTR DDDS(Dynamic Delegation Discovery System)에서 사용되며, 전화번호를 SIP 주소 등으로 변환할 때 사용됩니다.
CAA 해당 도메인에 대해 **SSL/TLS 인증서를 발급할 수 있는 CA(Certificate Authority)**를 제한합니다.
NS **Name Server(네임서버)**를 지정합니다. 도메인의 권한 있는 DNS 서버 목록을 정의합니다.
DS Delegation Signer 레코드로, 하위 도메인의 DNSSEC(도메인 이름 시스템 보안 확장)을 상위 도메인에 연결할 때 사용됩니다.
TLSA TLS 인증서와 연결된 정보를 DNS에 저장하는 것으로, DNSSEC 필요. 이메일 서버의 보안 강화 등에서 사용됩니다.
SSHFP **SSH 공개 키의 지문(Fingerprint)**을 저장합니다. SSH 접속 시 공개 키를 검증하는 데 사용되며, 역시 DNSSEC 필요.
HTTPS HTTPS 기반 서비스 엔드포인트에 대한 정보 및 메타데이터를 제공합니다. 새로운 표준으로 채택되는 중입니다.
SVCB Service Binding(서비스 바인딩) 레코드로, 다양한 애플리케이션 프로토콜의 접속 정보를 제공합니다. HTTPS와 관련이 깊으며, HTTPS 레코드와 함께 사용됩니다.
728x90

댓글