AWS (VPC & Internet Gateway & EC2)
🐢 AWS에서의 리전
자연 재해 등의 문제 발생 시 모든 서비스가 마비되는 경우, 모든 자원의 거리적인 한계로 인해 거리가 멀면 서비스가 느린 경우의 문제를 해결하고자 서비스를 하기 위한 자원들을 여러 곳에 분산해서 배치를 해둔 것
🐢 AWS에서의 가용영역
리전을 한 번 더 분산해서 배치한 것
🐢 AWS VPC
❗서브넷을 나눠서 인프라 자원들을 배치하기
❗기본적으로 사설 IP를 부여받기 때문에 AWS에서 어떻게 이 자원들이 외부와 통신하게 하는지 잘 살펴보기
❗반대로 보안을 위해 보호할 자원들은 어떻게 배치하는지 잘 살펴보기
203.230.7.0/24 IP 대역은
203.230.7.0/25
203.230.7.128/25 이렇게 두 영역으로 나눌 수 있음
➡️ 두 영역은 다른 LAN이므로 라우터 혹은 L3 스윛치의 라우팅이 있어야 통신 가능
🐢 VPC와 IP대역
VPC는 기본적으로 가상의 네트워크 영역이기에 사설 IP주소를 가지게 됨
❗사설 IP대역은
10.0.0.0/8
172.16.0.0/12
192.168.0.0/24
이렇게 3개의 대역을 가짐
하나의 VPC에는 이 IP대역 또는 서브넷 대역이 할당 가능하다.
10.0.0.0/8의 서브넷인 10.0.0.0/16도 할당 가능
🐢 VPC의 실제 사용
VPC 자체에서도 서브넷을 나눠서 사용하게 된다.

❗VPC의 서브넷 IP대역에서는 실제 네트워크와 달리 총 5개의 IP주소를 호스트에 할당할 수 없음
❗VPC 내부적으로 라우터가 있고 VPC 내부 서브넷끼리 통신이 됨
🐢 VPC와 외부 통신
기본적으로 사설 IP대역은 공용 IP대역과 통신이 불가능
- public 서브넷과 private 서브넷
- public 서브넷: VPC 서브넷 중 외부와 통신이 원활하게 되는 서브넷 대역
- private 서브넷: 외부와 통신이 되지 않는 서브넷 대역
🐢 public 서브넷
AWS의 internet gateway를 통해 해당 서브넷을 public 서브넷이 되게 할 수 있다.
➡️ 서브넷이 외부와 통신 할 때 internet gateway를 거치게 하면 외부와 통신이 가능하게 된다.
+ public 서브넷으로 만들고 싶은 서브넷을 internet gateway를 통해 밖으로 나가도록 라우팅 테이블 설정을 해줘야 한다.
🐢 private 서브넷
아무런 조치를 취하지 않아 외부와 단절된 서브넷 (VPC가 기본적으로 사설 IP)
- 사설 IP대역의 역할
- 부족한 IP주소 문제를 완화
- 높은 보안성
🌠 포트포워딩
하나의 공용 IP주소를 가진 공유기가 자신의 포트를 통해 올바른 사설 IP주소를 가진 디바이스에게 데이터를 주는 것
- 의의 (보안)
- 릴리즈 서버의 경우, 실제 고객의 데이터가 저장되는 데이터베이스를 보호해야 하므로 데이터베이스를 private 서브넷에 배치하는 것이 필요하다.
🌠 bastion host
private 서브넷의 자원에 접속이 되도록 도와주는 호스트
🐢 실습
1. VPC를 이용한 EC2 구축
2. 보안 그룹 생성하기
3. EC2 생성하기
4-1. 탄력적 IP 설정하기
4-2. 원격 접속 - VSCode (Node.js)
5. NGINX 설치하고 브라우저에서 접속하기