클라우드 엔지니어/클라우드 캠프과정

보안 ( SSL 셋팅 Certbot , ACM AWS Certificate Manager)

해아's 2022. 11. 4. 15:36

SSL 셋팅을위한 EC생성 및 nginx 설치 도메인 연결

 

 

sudo apt -y update
sudo apt -y install nginx
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
vi /etc/nginx/sites-available/default
systemctl restart nginx
nginx -t
sudo certbot --nginx
certbot --nginx -d cl.oud.kr

 

 

로드벨런싱을 위해 서버를 증설할떄 보안서버도 다시 생성하는게 아니라 기존 키파일을 가져가면된다

certbot에서 수정한 곳을 확인하면 설정파일들이 있는데 이걸 똑같이 가져가주면된다.

listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /root/cl.oud.kr_ssl/fullchain.pem; # managed by Certbot
ssl_certificate_key /root/cl.oud.kr_ssl/privkey.pem; # managed by Certbot
include /root/cl.oud.kr_ssl/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /root/cl.oud.kr_ssl/ssl-dhparams.pem; # managed by Certbot


cert.pem : yourdomain.com 의 인증서 (public key)
chain.pem : Let’s encrypt의 Intermediate 인증서.
fullchain.pem : cert.pem 과 chain.pem을 합친 결과
privkey.pem : cert.pem publickey에 대응하는 비밀키

 

DNS로도 로드벨런싱이 가능하다는걸 알수있었다.

 

이번엔 AWS 인증서버를 사용하자

https://ap-northeast-2.console.aws.amazon.com/acm

 

https://ap-northeast-2.console.aws.amazon.com/acm/home

 

ap-northeast-2.console.aws.amazon.com

자기 도메인을 AWS에 등록한다

DNS검증을통해 CNAME로 검증해서 도메인이 본인소유임을 확인시켜준다.

 

AWS인증서는

CloudFront, Elastic Load Balancing, API Gateway 및 기타 통합 서비스입니다.

에서 사용가능하기때문에 EC2두개를 ELB에 연결한다.

 

ELB대상그룹 생성해서 EC2두개 넣는다.

 

로드벨런서의 리스너두개 생성

80 , 443 두개다 그룹은 같은걸로 생성하고 추후 80의 리스터 규칙을 443으로 리다이렉트로 변경

 

이건 바꾸기전 설정이다

80 >  로드벨런서 > 엔진엑스 > 443 > 로드벨런서 순서이나 위의설정을 하면

80 >  로드벨런서 > 443 > 로드벨런서 순서로 바뀐다.

nslookup 를 활용하여 도메인에 정상적으로 연결됬는지 확인할수 있다.

 

 

참고자료

더보기

 

 

728x90
반응형