-
AWS - VPC, 서브넷(Public, Private), 라우팅 테이블Infra/클라우드 2024. 1. 18. 12:30
인터넷 게이트웨이 추가
- 인터넷 게이트웨이(IGW)를 VPC에 연결하지 않으면 VPC에서 인터넷을 할 수 없다.
- 인터넷이 연결되어 있지 않으면 AWS의 네트워크 역할을 하기가 어렵다.
- 대부분 경우 IGW를 생성해서 VPC에 연결한다.
서브넷과 라우팅 테이블
서브넷이 인터넷과 연결하기 위해서 라우팅 규칙 필요
- 라우팅 테이블을 생성하고
- 해당 라우팅 테이블에 인터넷을 위한 규칙 생성
- 지정된 서브넷과 라우팅 테이블을 연결한다.
라우팅 테이블을 VPC를 만들면 기본적으로 하나가 생기지만 보통은 default로 생성된 라우팅 테이블을 사용하지 않고 추가적으로 1)사용자가 라우팅 테이블을 만든다음에 그 라우팅 테이블에 인터넷을 위한 규칙을 설정해 주고 2)해당 라우팅 테이블을 인터넷이 필요한 서브넷과 연결해 준다.
Public 서브넷
- IGW 규칙이 있는 서브넷을 public 서브넷이라고 한다.
- 인터넷 세상에 열려있다.
- 웹 서버, Bastion server(Jump server)등이 위치한다.
- 일반 개발자들이 Bastion server, Jump server를 통해서 접속을 한 후에 다시 실제 개발용 서버 혹은 database에 접근하는 방식으로 사용된다.
- 일종의 Gateway 관문처럼 사용되기 때문에 bastion이라는 용어를 사용한다.
- WAS(Web Application Server)의 위치는 상황에 따라 다르지만 public 서브넷이 놓는 경우가 많다.
- ex) Django, Spring, ExpressJS
- WAS는 Public subnet(편의) 혹은 Private subnet(보안)어디에나 위치 할 수 있다.
*bastion : 보루,요새
Public subnet 라우팅 테이블 연결 및 확인
custom으로 만든 VPC를 생성할 EC2에 연결해 주려면 네트워크 설정에서 1)VPC항목은 직접 만든 VPC를 선택해주고 2)서브넷의 경우는 public subnet을 선택해준다. 마지막으로 3)퍼블릭 IP 자동 할당에는 활성화를 선택해준다.
라우팅 테이블 만들기
~.~.~0/16에 해당하는 IP는 host의 local에서 처리를 하고, 그 외에 나머지 IP의 경우는 인터넷 게이트웨이랑 연결해 달라는 의미이다. public 라우팅 테이블에 인터넷 게이트웨이를 만든 다음에 서브넷에 연결을 해주면 custom VPC 환경에서 만든 EC2도 인터넷이 사용가능하게 된다.
Private 서브넷(NAT 게이트웨이, NAT 인스턴스)
- 인터넷이 연결되지 않은 서브넷을 Private subnet이라고 한다.
- 인터넷이 연결되어 있지 않다는 것은 미묘한 표현으로 인터넷과 직접적으로 연결되어 있지 않다는 의미이다.
- 인터넷이 간접적으로는 연결되어 있다.
- 데이터베이스가 이곳에 위치한다.
- 데이터베이스 서버는 일단 웹 서버와는 통신이 된다. 왜냐하면 라우팅 테이블에 동일하게 ~.~.0.0/16 IP에 대하여 local 규칙이 있기 때문이다. 즉 같은 VPC안에서는 별다른 설정을 하지 않아도 통신이 가능하다.
- 문제1) 반면에 art 인스턴스가 외부에서 들어오는 것은 절대 허용되지 않는다. 왜냐하면 인터넷과 직접적으로 연결되어 있지 않기 때문이다.
- 문제2)여기서 한가지 문제가 발생한다. 데이터베이스를 통해 소프트웨어를 설치하거나 업데이트하기 위해서는 인터넷이 연결되어 있어야 한다.
- 즉 보통 인터넷을 사용하는 사람은 private IP 접근할 수 없지만 그렇지만 자신은 인터넷에 batch(접근)을 할수 있어야 한다.
- 인터넷을 하기 위해서는 NAT 인스턴스, NAT케이트웨이 등이 필요하다.
- NAT Gateway 서비스 이용(월 5만원)
- EC2로 직접 NAT instance 구축
- 팁 : NAT 게이트웨이는 가격이 비싸기 때문에 주의 한다.
- 평소에는 Database가 인터넷을 할 필요가 없다. 소프트웨어를 설치하거나 업데이트할 때만 필요하다. 그러므로 그때만 잠시 NAT 게이트 웨이를 활성화 시키고 끝나면 삭제하는 방식을 사용해도 좋다.
NACL과 보안 그룹
NACL 보안그룹 용도 서브넷 트래픽 제어 EC2 트래픽 제어 상태 Stateless stateful 관리자 admin또는 네크워크 관리자 개발자 주 용도 인바운드 및 어바운드 기본 규칙 정의 주로 인바운드 트래픽 제어 초기상태 Open 아웃 바운드만 Open 규칙평가 순서대로 평가 모아서 한꺼번에 평가 Rule Limit 20 60 일반적인 구성
- 고가용성을 위해 multi AZ로 구성
- 서로 다른 AZ에 두개의 public subnet
- Public subnet에는 enable public IP를 기본으로 설정하면 편한다.
- NAT 인스턴스는 사용하지 않을 경우 정지시킬 수 있다.
- 사용할때만 실행 시키면 평소에는 스토리지 비용만 지불되고 서버비용은 나가지 않는다.
- NAT 게이트 웨이는 비싸다.
[실습으로 배우는 AWS핵심 서비스 - 저, 호눅스]
https://www.inflearn.com/course/aws-%ED%95%B5%EC%8B%AC-%EC%8B%A4%EC%8A%B5/dashboard
'Infra > 클라우드' 카테고리의 다른 글
⭐⭐AWS를 사용할 때 주의 할 점 (2) 2024.01.26 AWS - VPC 생성 (0) 2024.01.18 AWS - VPC 개념, CIDR 표기법 (0) 2024.01.18 클라우드 마이크로 서비스 - API Gateway Service(Netflix Zuul,Filter)2 (0) 2023.12.14 클라우드 마이크로 서비스 - API Gateway Service(Netflix Zuul)1 (0) 2023.12.13 - 인터넷 게이트웨이(IGW)를 VPC에 연결하지 않으면 VPC에서 인터넷을 할 수 없다.