갬미의 성장일기

Day 54 - 3tier 구성하기, NAT gateway 본문

Cloud/Cloud 공부일기

Day 54 - 3tier 구성하기, NAT gateway

갬미 2022. 3. 28. 22:23

오늘 배운 내용

- 지금까지 배운 내용으로 3tier 구성하기

- NAT gateway

 


k8s로 3tier 구성하기

얘는 뭐 3tier를 맨날해,, 라고 생각할수있지만 오늘은 aws와 gcp를 모두 사용하였다 

 

실습 시나리오


GCP 

vpc - front 

subnet (2개 생성)

subnet1

    1-1. name : front-s1

    1-2. region: us-central1

    1-3. CIDR: 172.16.100.0/24

subnet2

    2-1. name : bastion

    2-2. region: us-central1

    2-3. CIDR: 192.168.100.0/24

 

 

AWS 

vpc 

1. name: backend

2. CIDR: 10.111.0.0/16

subnet (2개 생성)

subnet1

    1-1. name : db

    1-2. AZ : 알아서

    1-3. CIDR: 10.111.0.0/24

subnet2

    2-1. name : bastion

    2-2. AZ : 알아서

    2-3. CIDR: 10.111.1.0/24

 

발로 그린 구성도 ..

 

각 벤더의 nfs와 db는 사설 ip로만 이루어져 외부접속시 bastion host로만 접속해야하며

3tier환경에서

web,was는 gcp vpc환경에 구축하고 DB는 EC2의 DB에 구축한다(VPN으로 연결되어 있으니 사설ip로 연결 가능)

또, web접속시 http 접속시 https로 리다이렉션 하도록 구성하여라

 

 

완성했는데, , 캡쳐를 못했다 . . .

사용한 yml 리스트는 다음과 같고 https 접속에 gcp의 인증서를 사용하였다

ingress ip는 유동적으로 할당되므로 도매인에 빠르게 등록하기 어렵다

- 미리 할당 받은 ip를 사용하도록 ingress annotation에 추가하고 이 ip를 aws route53에 DNS 등록한다

   -> ip를 미리 알수있어 ingress가 완성되기 전에 DNS 서비스를 등록할 수 있다

    = ingress만 완성되면 바로 서비스가 가능함

 

ingress가 완전하게 만들어지는데 시간이 꽤 걸려서 (20분정도) 중간에 안된줄알고 계속 지웠다 깔았다를 반복했다 .. 앞으로는 그냥 계속 기다려봐야겠다 ..

 


NAT gateway

AWS에서 DB 서버는 보안을 위해 사설ip만 가지고 있고 bastion host를 통해서만 접속하도록 되어있다 

하지만 DB 서버가 인터넷 연결이 안된다면 yum install 이 안되어 사실상 사용할 수 없는 서버가 된다

이때 인터넷 게이트웨이가 연결되지 않은 인스턴스들이 특정 CIDR에 대해 인터넷 접근이 가능하도록 해주는 서비스가 NAT gateway이다

 

NAT gateway는

- 고정된 소스 IP로 인터넷에 액세스한다

- 라우팅 테이블의 라우트 설정에서 게이트웨이로 지정

- NAT 게이트웨이를 라우팅 테이블의 게이트웨이로 설정하면 NAT 게이트웨이의 플로팅 IP를 소스 IP로 변환하여 인터넷을 액세스 할 수 있다

 

👇 더 자세한 내용

 

Cloud NAT 개요  |  Google Cloud

의견 보내기 Cloud NAT 개요 Cloud NAT(네트워크 주소 변환)를 사용하면 외부 IP 주소가 없는 특정 리소스가 인터넷에 대한 아웃바운드 연결을 만들 수 있습니다. Cloud NAT는 다음 리소스에 대해 발신 연

cloud.google.com

 

NAT gateway를 만들때 

1. NAT gateway가 속할 퍼블릭서브넷을 지정해야한다 

2. NAT gateway를 만든뒤 라우팅 테이블을 만들어 nat gateway를 추가하고 이를 적용할 인스턴스를 지정한다

3. NAT gateway를 사용할 인스턴스가 연결될 퍼블릭 서브넷의 라우팅테이블에 인터넷 게이트웨이를 적용한다 

 

적고나니 뭐라는건지 나도 잘 모르겠다 

 

NAT gw를 만들때 퍼블릭 서브넷에 만들고

라우팅 테이블을 새로 만들어서 인바운드 규칙에 nat gw를 추가, DB 서브넷을 연결한다

기본 라우팅 테이블에 ig 인바운드 규칙을 사용한다

--> 이러면 DB, bastion host 둘 다에서 ping test 됨

 

1. NAT gateway 생성

탄력적 ip가 없다면 할당 버튼을 눌러 받는다

서브넷은 퍼블릭 서브넷과 연결한다

 

2. NAT gateway를 추가할 라우팅 테이블 생성

라우팅 편집에서 nat gateway 추가

DB subnet과 연결

 

3. Default RT ig 추가

 

ping test

 

오늘의 회고

  • 구성이 꽤 복잡해서 이해하는데 시간이 조금 걸렸다
  • 오늘 실습 베이스 환경 구축에서 너무 많은 시간을 써버려서 3tier 구축을 좀 급하게 했다 내일 천천히 다시 짚어보기로 했으니 오늘은 공부는 이만 해야겠다 ,,~

 

Comments