

위와 같은 Service Diagram을 이해하게 된다면, 목표를 달성한 것이다.

우리 서비스의 Service Diagram에서 IGW나 RouteTable, ALB, NAT 등 많은 부분도 이해할 수 있을 것이다.
Classless inter-Domain Routing, 사이더라고 하기도 합니다.
IP주소는 192.218.6.37 이렇게 네개의 숫자들이 모여 이루어지는데, CIDR은 IP의 범위로 이해하는 것이 좋습니다.
xx.xx.xx.xx/y 이런 식으로 표기가 되는데, xx.xx.xx.xx가 Base IP가 되고, y는 subnet mask가 됩니다.
/32는 하나의 ip를 가집니다.
/31의 경우는 255.255.255.0, 255.255.255.1 이렇게 두개의 IP를 가집니다.
/30은 4개의 IP
/29는 8개의 IP
…
/24는 256개의 IP를 가지며 255.255.255.0부터 255.255.255.255의 범위를 생각하시면 됩니다.

Virtual private cloud
CIDR로 생성한 일정 IP의 범위
10.0.0.0/16(10.0.0.0 ~ 10.0.255.255)으로 설정하는 것을 예를 들어서, 이후 subnet등을 지정해주겠습니다.
CIDR을 생성하고 사용가능한 IP의 개수를 조회하면 예상보다 5개가 적은것을 알 수 있다.
xx.xx.xx.0은 network adress
xx.xx.xx.1은 VPC router
xx.xx.xx.2는 DNS를
xx.xx.xx.3은 미래를 위해 대비
xx.xx.xx.255는 network broadcast address를 위함이다.
그래서 xx.xx.xx.0/27을 설정해둔다면 계산상으로는 32개가 나오지만, 실제로는 27개의 IP를 사용할 수 있게 된다.
예로 public subnet 2개와 private subnet 2개를 생성할텐데,
public subnet은 10.0.0.0/24, 10.0.1.0/24로 낮은 폭을 설정해둔다. 왜냐면 public에는 nat gateway등만 들어가면 되기 때문이다.
private은 10.0.16.0/20, 10.0.32.0/20으로 설정해 두었다.
private subnet안에는 보호해야할 EC2인스턴스 등이 들어갈 예정이다.

Internet gateway
1 VPC 당 1 IGW가 된다.
public subnet에 route table을 생성해서 인터넷 게이트웨이와 연결해준다.
VPC안에 들어오려는 트래픽은 이 곳을 거쳐야한다.

subnet과 gateway를 연결해준다.
EC2 instance이다.
public subnet에 위치하며, private subnet에 SSH로 엑세스가 가능하게 해준다.
이것도 EC2 instance로 public subnet에 위치한다.
역할은 private subnet에 위치한 instance가 NAT instance를 거쳐서 외부 인터넷으로 들어가게 해준다.
Bastion host의 반대?
Bastion host와 같이 public → private으로 들어가게 해주는 역할도 할 수 있다.
단 가용성이 낮아서 NAT instance보다는 NAT Gateway가 선호된다.

고가용성이다.
Bastion Host로 사용이 불가능 하다.

이 모든 설정을 하게되면 다음과 같은 리소스맵이 나와야한다. + NAT 게이트웨이가 네트워크 연결에 존재해서 private과 연결되어야 한다.
추가로, AWS의 VPC관련된 서비스를 알아보도록 하겠다.