Route 53


- 다른 네임서버 보면, 비어있는데 이것을 넣으면 된다.

- 호스팅 영역을 생성하면, 네임서버에 넣을 값을 줄 것이다. 퍼블릭 호스팅 영역선택한다.

- 별칭 없이 했는데 옆에보면 값/트래픽~ 부분에 것을 카피해서 넣으면 된다.

- 이런식으로 ns-~ 번호를 복붙하고, 뒤에 붙은 .을 없앤다.

- 등록되는데 시간이 걸리니까. 그 틈을 타서 ELB를 만들어준다.
ELB (Elastic load balancing)
- ELB(Elastic Load Balancer) : EC2 Service에서 확인 가능하다.
- 종류
- CLB(Classic Load balancing) : 단순한 TCP/TLS(SSL) 및 HTTP/HTTPS 트래픽 분산에 사용
- NLB(Network Load Balancer) : Layer4 기반(TCP, TLS, UDP,...) HTTP는 해당 X
- ALB(Application Load Balancer) : Layer7 기반 (HTTP/HTTPS)
관리 대장
-
(1) VPC
-
(2) Subnet
- PUB-2A
- PRI-WEB-2A
- PUB-2C
- PRI-WEB-2C
-
(3) Routing table
-
(4) Security group
- LB-SG (22, 80, 443)
- WEB-SG (22, 80, 443)
- BASTION (22)
-
(5) EC2 Instance
- NGINX-2A-00 : PRI-WEB-2A
- NGINX-2A-01 : PRI-WEB-2A
- NGINX-2C-00 : PRI-WEB-2C
- BASTION-00 : PUB-2A
-
(6) IGW
-
(7) NAT Gateway
빌드 과정
- 처음 시작할 때는 모두 꺼져 있다. VPC 설정 부터 한다.

(1) VPC
- 네트워크 주소를 올바르게 입력하고 생성한다.
- CIDR IPv4 수동 입력으로 해놓고 작성한다.


(2) Subnet


- PRI-WEB-2A(10.17.10.0/24)


- PRI-WEB-2C(10.17.11.0/24)


(3) Routing table




(4) Internet gateway


- 위에서 VPC에 IGW가 연결되어 있어야 라우팅 테이블 PUB 부분에 디폴트 설정할 수 있다.
- PUB 부분을 먼저 설정해준다.

- PRI 부분에는 NAT 게이트웨이를 설정해준다. (Fail상태로 되버리면 그냥 하나 다시 생성하는 게 맘 편하다.)


(5) NAT gateway
- NGW-2A를 생성한다. (Fail 뜨면 다시 만들어준다.)
- 영역별 선택, 서브넷 PUB-2A를 선택, 탄력적 IP 적용

(6) Security group
- 보안에 보안 그룹을 설정해준다.
- LB-SG 인바운드 규칙에 22, 80, 443 을 선택한다. 0.0.0.0/0을 선택해서 생성한다.

- WEB-SG 인바운드 규칙에 22, 80, 443을 선택한다. 0.0.0.0/0을 선택한다.

- BASTION을 위한 보안 그룹 생성, 인바운드 규칙에 22를 선택한다.

(7) EC2 Instance
- EC2에서 Instance를 설정하고 시작한다.
NGINX-2A-00 인스턴스 시작
- NGINX-2A-00을 띄우기 위해서, Amazon linux를 선택하였다.

- 키페어 선택하고, t3.micro로 선택한다.

- VPC 부분을 보면 서브넷을 PRI-WEB-2A로 선택한다.

- 보안 그룹은 기존 보안 그룹 선택으로 하고, WEB-SG 만들어 놧던거 선택한다. 그리고 인스턴스를 시작한다.

NGINX-2A-01 인스턴스 시작
- NGINX-2A-01을 띄우기 위해서, Amazon linux를 선택하였다.




NGINX-2C-00 인스턴스 시작
- NGINX-2C-00을 띄우기 위해서, Amazon linux를 선택하였다.




BASTION-00 인스턴스 시작

- 보안 그룹은 BASTION 만들어 놓은거 선택한다.
점검

BASTION으로 접속
- 외부에서 PUBLIC IP를 받은 BASTION으로 접속해서 작업해본다.
- BASTION 인스턴스 보면 Public IP 생성되어 있다.

- Moba에서 Private key 입력하고 접속해본다.
(IGW, NGW가 잘 설정되어 있는지를 위에서 확인하고 내려와야 한다.)
- 유저 이름 : ec2-user


- Private key가 있어야 뭐라도 할 수 있으니까 scp로 넣어준다. Public IP를 사용해서 넣는다.
scp -i yslee-02.pem yslee-02.pem ec2-user@3.

- 이제 BASTION에서 다른 NGINX-2A-00, NGINX-2A-01, NGINX-2C-00 세 가지로 보낸다.
- 아래의 IP 상황을 고려해서 scp로 보낸다.
BASTION
Private 10.17.0.97
Public 52.63.219.171
NGINX-2A-00
Private 10.17.10.43
Public -
NGINX-2A-01
Private 10.17.10.208
Public -
NGINX-2C-00
Private 10.17.11.250
Public -
# 권한 변경 400
sudo chmod 400 yslee-02.pem
NGINX-2A-00 접속
# NGINX-2A-00 ssh 테스트
ssh -i yslee-02.pem yslee-02.pem ec2-user@10.17.10.43
# NGINX-2A-00에 nginx 설치
sudo dnf install -y nginx
# nginx.conf 파일 상태 확인
vi /etc/nginx/nginx.conf


- 41번째 줄 보면 root 경로를 확인할 수 있다.


- 'sudo vi /usr/share/nginx/html/index.html'로 들어가서, 안에 있는 내용 지우고 내용을 작성한다.
# 편집 시작
sudo vi /usr/share/nginx/html/index.html
# 작성한 내용
NGINX-2A-00

- nginx를 sudo systemctl로 시작해서 페이지를 확인해본다.
# nginx 시작
sudo systemctl start nginx
# 내용 확인
curl localhost

- Ctrl + D를 사용해서 BASTION으로 귀환한다.

NGINX-2A-01 접속
# NGINX-2A-01 ssh 테스트
ssh -i yslee-02.pem yslee-02.pem ec2-user@10.17.10.208



NGINX-2C-00 접속
# NGINX-2C-00 ssh 테스트
ssh -i yslee-02.pem yslee-02.pem ec2-user@10.17.11.250



- 작업 마무리하고, BASTION으로 돌아온다.
- BASTION에서 curl으로 들어가지는지 확인한다.


Load Balancing
- 웹 서버까지 잘 띄웠으면, 이제 로드밸런싱을 해봐야한다.
- EC2에 Load balancing이 있다.


- 어떤 유형으로 할 것인지 선택한다.
- 나는 아래에 있는 Classic을 선택해서 설정한다.


- 네트워크 매핑에서 VPC와 가용영역을 선택한다.



- 인스턴스 설정 : BASTION 제외하고 추가한다.




- DNS 부분에 로드밸런서 적용해서 웹이 떠 있는 것이 보인다.

- 복사해서 접속해본다. 3개 만든 서버 돌아가면서 잘 접속된다.





Network load Balancer

- 그러기 전에 로드 밸런서 중에서 대상 그룹을 먼저 설정한다.
- TCP로 바꾸고 나머지는 기본값으로 놔둔다. VPC를 적용해준다.

- 대상 등록 칸에서는 BASTION 빼고 설정한다.

- yslee-NLB라는 네트워크 로드 밸런서를 만들고, 네트워크 매핑에는 VPC를 설정한다.

- 두번째로 가용 영역 및 서브넷에서 PUB-2A, PUB-2C를 선택한다.

- 보안 그룹 LB-SG를 설정한다. (대상 그룹 안뜨면 NLB-TG 가서 등록된 대상을 확인한다.)


- 프로비저닝 중이라고 뜬다. 한참 기다리고 나면, 초록색으로 바뀐다.


- DNS 부분 복사해서 들어가본다. (지금 상태는 번갈아가면서 나오지가 않고 있다.)


- 번갈아가면서 나오게 바꾸기 위해서 로드 밸런서를 지우고 다시해본다. 대상 그룹도 삭제한다.
Application load Balancer

- 첫번째에 있는 Application load balancer를 들어간다.




- 리스너 및 라우팅 부분 만들 때, 대상 그룹을 생성을 눌러서 만든다.


- NGINX-2A-00, NGINX-2A-01, NGINX-2C-00을 3가지를 대상으로 등록해준다.

- ALB-TG가 새롭게 생겼고 그것을 선택해준다. 생성하면 프로비저닝 시작한다. 시간이 꽤나 걸린다.


- NGINX-2A-00, NGINX-2A-01, NGINX-2C-00 세가지가 계속 바뀌면서 들어가진다.

DNS 주소 연결하기
- 카페 24에서 산 DNS 주소를 연결하는 방법
set type=ns
yslee.store

- Route 53에서도 추가로 설정해준다
- 호스팅 영역 으로 들어간다. > 레코드를 생성한다.
- 레코드 이름에 www을 작성한다. > www.yslee.store로 접속하고 싶은 것이다.

- 별칭을 활성화한다.
- Application/Classic load balancing을 선택한다.
- 리전 보니까 서울 아니고, 시드니로 되어 있다. 처음에 잘 확인해서 하자.
- Application load balancer 만들때 나온 것을 추가한다.

- 도메인 레코드를 생성한 것을 확인한다. 시간이 좀 걸릴 수 있다.
set type=a
www.yslee.store


- www.yslee.store로 접속해본다. 로드 밸런서가 잘 적용되었다.

![업로드중..]()