티스토리 뷰
1. 서브도메인 생성하기 (api.본인도메인)
가비아 DNS 관리툴에서 DNS 설정(본인이 도메인 구매한 사이트)
레코드 수정 -> 레코드 추가
// 레코드 타입: A, 호스트 : api
값(IP 주소): 현재 사용 중인 EC2의 Elastic IP
TTL: 600 (기존 설정값)
탄력적 IP(Elastic IP)
-> EC2 인스턴스에 부여되는 고정적인 공인 IP 주소
// 일반 공인 IP는 인스턴스를 중지하고 다시 시작하면 주소가 바뀜 (도메인 연결이 끊김)
// 도메인을 연결해서 API 서버를 운영하려면 Elastic IP 생성
콘솔 메뉴 Network & Security -> Elastic IPs -> Allocate Elastic IP addres(설정 변경 없이 할당)
-> 생성된 ip주소 클릭 후 Associate Elastic IP address 클릭 -> 운영중인 EC2 선택 후 Associate

(Elastic IP는 서버에 연결된 상태일 때 프리티어 기준 1개 무료임
생성 후 연결 안 하거나 정지해도 돈 나간다고 하니 참고)
=> 할당된 탄력적 IP를 레코드 값에 입력
2. SSL? + Let's Encrypt 설치 및 api.본인도메인 연결
(-> Certbot 프로그램 설치, SSL 인증서 발급 및 적용)
SSL이란?
SSL(Secure Sockets Layer)
-> 웹 브라우저와 서버 간 데이터를 암호화하여 통신을 보호하는 보안 표준 기술
// 쉽게 말해, 우리가 인터넷 주소창에서 보는 http를 https로 바꿔주는 기술
1. Certbot 설치 (Let's Encrypt 클라이언트)
// Ubuntu(EC2) 환경에서 인증서를 자동으로 발급해줌
sudo apt update
sudo apt install python3-certbot-nginx
// abort가 떠서 아래 명령어로 재실행('-y' = 강제)
sudo apt install python3-certbot-nginx -y
SSL 발급 및 자동화 요약
| 구분 | Let's Encrypt (기관) | Certbot (도구) |
| 역할 | SSL 인증서를 무료로 발행해주는 은행 | 인증서를 대신 받아 내 서버에 설치해주는 직원 |
| 성격 | 비영리 인증 기관 (CA) | 오픈소스 소프트웨어 (Client) |
| 핵심 기능 | 암호화용 디지털 증명서 제공 | 인증서 신청 + 소유권 확인 + Nginx 설정 + 자동 갱신 |
| 비유 | "신분증을 발급해 주는 시청" | "시청 가서 신분증 받아다 내 지갑에 넣어주는 비서" |
인증서를 받아올 Cerbot을 설치했으니깐
-> 실제 SSL 인증서 발급 및 적용
sudo certbot --nginx -d api.본인도메인
이후 이메일 적기 -> 약관 동의(Y) -> 이메일 수신 동의(N)

api.본인도메인을 접속했을 때 https로 리다이렉트 되고, Welcome to Nginx 화면 뜨면 끝
Let's Encrypt의 무료 인증서는 유효기간이 90일
설치한 python3-certbot-nginx 패키지는
보통 서버 내부의 스케줄러(systemd timer 또는 cron)에 자동 갱신 작업을 알아서 등록해줌
잘 작동하는지 확인하는 명령어
-> sudo certbot renew --dry-run
(실제 갱신은 하지 않고, 자동 갱신 프로세스가 정상적으로 동작하는지 테스트만 해보는 명령어)
// "Congratulations, all simulated renewals succeeded" 뜨면 잘 작동하는 것
'AI스쿨 > 알토르과정' 카테고리의 다른 글
| [알토르] 8주차 과제 : Next.js에서 API 만들기 (0) | 2026.04.22 |
|---|---|
| [알토르] 7주차 : Flask API 서버 배포 및 Vercel 연동 (0) | 2026.04.19 |
| [알토르] 6주차 과제 : AWS EC2 생성 & Nginx 설치 (0) | 2026.04.09 |
| [알토르] 5주차 추가과제 : Gemini API 프론트엔드 연결 및 채팅 UI 구현 (0) | 2026.04.05 |
| [알토르] 5주차 과제 : (2) Python Flask REST API와 Gemini 연동 구현 (1) | 2026.04.01 |