본 내용은 개인적으로 테스트한 부분이라 내용이 틀릴수 있습니다.
AWS 메뉴는 계속 변경되어 참고시점에 내용이 다를수 있습니다.
AWS 네트워크,서버생성,lb,인증서 설치하는법 하나씩 정리해봤습니다.
목자
<1> 네트워크 구성
<2> 서버 생성
<3> 웹서버 접속 확인하기
<4> LB생성
<5> LB환경에서 웹서버 접속확인하기
<6> LB에 인증서 설치
<7> https로 접속 확인하기
환경
AWS Route53에 네임서버를 운영하고 있다.
필수는 아니다
<1> 네트워크 구성
10.0.0.0/16 으로 구성한다.
VPC에서 Edit DNS hostnames해서 Enable 되어 있는지 확인한다.
-> 각 서버에 DNS이름을 자동 할당한다.
서브넷에서 ip할당 수정하기 (Modify auto-assign IP Settings)에서 Public ip enable 한다.
-> 서버 생성시 기본으로 공인IP를 할당한다.
새로만든 서브넷2에 디폴트 라우팅 추가된거로 라우팅테이블 변경한다.
<2> 서버 생성
1) EC2에서 서버 생성한다.
sg그룹1은 ssh 접속 허용으로 만든다.
EC2 서버 생성시, 서버 접속을 위한 키를 새로 만든다. game-key1
2) 서버접속해 웹어플리케이션 설치한다. (apache설치)
1) Yum으로 설치하기
yum install httpd
/usr/sbin/httpd
ps -ef |grep httpd
vi /etc/httpd/conf/httpd.conf
cd /var/www/html
vi index.html
ps -ef |grep httpd
/usr/sbin/httpd stop
/usr/sbin/httpd -k restart
또는
2) Apache 소스 download 와 컴파일 하기
EC2 로그온 후
# yum install ftp
# cd /tmp
tmp # ftp ftp.sayclub.co.kr
: ftp
Password : <Enter>
ftp> cd /pub/apache/httpd/
ftp> ha
ftp> bi
ftp> mget httpd-2.4.23.tar.gz
tmp]# tar zxvf httpd-2.4.23.tar.gz
3) 컴파일
yum install apr*
yum install gcc
yum install pcre*
./configure --prefix=/usr/local/apache
httpd-2.4.23]# make ; make install
[root@ip-10-0-0-221 httpd-2.4.38]# cd /usr/local/apache/bin/
[root@ip-10-0-0-221 bin]# ./apachectl restart
httpd not running, trying to start
4) 보안그룹 생성 - http-https 추가
Ec2 에서 네트워크 - 보안그룹 변경에서 http-https 보안그룹 추가하기
<3> 웹서버 접속 확인하기
IP로 접속해보기
DNS에서 도메인 설정해 도메인으로 접속해보기 (Route53에서 www.mattzip.com 을 공인IP로 매칭하기)
http://www.mattzip.com/ 접속해보기
브라우져 캐쉬로 인해 테스트가 잘 안되는경우가 많다.
크롬, IE , Firefox , 오페라, Whale 브라우저 모두 설치해 테스트해본다.
<4> LB생성
1) EC2 - Load Balancers (lb) - Create Load Balancer - Application Load Balancer
이름 : GAMEweb-lb1
lb는 2개 Az에 설정 되도로 해야한다.
lb는 http-https 만 보안그룹에서 허용하면 된다.
2) dns에서 www.mattzip.com 을 lb로 변경한다. (route 53에서 변경한다.)
3) EC2- lb에서 [ Target Groups ] 에 서버가 매칭되어 있는지 확인한다. ADD해야 한다.
<5> LB환경에서 웹서버 접속확인하기
<6> LB에 인증서 설치
ACM 인증서는 무료 이다.
인정서도 자동 갱신하므로 사용자가 관리할 필요가 없다.
Load Balancer에 인증서를 설치하자.
1. 인증서 설치
[ AWS cert manager ] 서비스 클릭
2
주의
ACM 인증서를 CloudFront 배포에 연결하려면 미국 버지니아 북부 리전에서 인증서를 가져오거나 생성해야 합니다
https://aws.amazon.com/ko/premiumsupport/knowledge-center/migrate-ssl-cert-us-east/
3
서울에서 LB용 인증서를 사용해야 하면, 서울 리전에서 별도로 인증서를 받아야 한다.
4
ACM 발급은 도메인으로 인증하는법과 메일로 인증하는 법이 있다.
보유한 도메인을 입력하고 도메인으로 인증하자.
DNS 네임서버에 CNAME으로 설정해줘야 한다.
5
주의: AWS Route53을 사용하는 경우는 아래처럼 Alias설정으로 mattzip.com 자체를 설정할수 있다.
하지만, Bind로 운영하거나 Windows로 운영하는 네임서버의 경우는 도메인자체(mattzip.com)에 대해 CNAME 을 설정할수 없다.
6
따라서 DNS네임서버를 Bind 나 Windows로 운영시
인증서 받을때는 도메인자체 mattzip.com 으로 받지 않고,
*.mattzip.com 으로 인증서를 받도록 해야 한다.
7
EC2 - lb리스너에 443 추가.
<7> https로 접속 확인하기
https://mattzip.com/ 로 테스트
비용이 나오지 않도록 실습종료후 만들어진 EC2는 반드시 삭제한다.!!!
감사합니다.