이전에 IAM을 통해 권한을 분리했다면, 이제 서비스를 배포 할 직접적인 공간이 필요합니다.
이를 위해 먼저 이해해야 하는 개념은 VPC, Subnet 입니다.
AWS는 기본적으로 Default VPC와 Subnet을 할당하기 때문에, 잘 모르고 하면 루트 VPC에 서비스를 실행하기 때문에 보안성이 떨어집니다.
즉, 새로운 VPC를 만들고, private와 public subnet을 만들어서 서비스를 배포 할 준비를 마무리 해보겠습니다.
AWS에서 VPC를 먼저 생성해야 합니다.
이름 : test_vpc
IPv4 CIDR 수동 입력: 10.1.0.0/16 (10.0.0.0/16를 이미 사용중)
- IPv6은 사용하지 않음.
Subnet의 IP 범위를 정할 때, private로 예약 된 IP 범위를 사용하는 것을 권장합니다. 일단 IP로 할당하면 VPC내의 서비스가 public으로 할당 된 다른 서비스로 통신하면서 문제가 생길 수 있습니다.
CIDR은 router가 prefix를 보고 라우팅을 결정하는 요소, 자세한 설명은 길어질 수 있으니, router의 동작 방식과 CIDR은 따로 설명하지 않겠습니다.
즉, 여기까지 우리는 AWS에서 부연된 Cloud에서 test를 위한 VPC를 생성하고 IP를 할당했습니다.
<현재 상황>
서비스 배포를 위한 최소한의 격리 수준을 만들었습니다. 다음으로 서비스가 실제로 돌아가는 subnet을 생성하겠습니다.
subnet은 크게 private, public으로 나누어 집니다.
private subnet: Internet GateWay와 연결 x
public subnet: Internet GateWay와 연결 O
그럼 GateWay가 연결 여부에 따라 차이점을 이해하면 private, public의 차이를 알 수 있습니다.
즉, private는 외부에서 접속, 통신이 불가능 합니다. 같은 VPC내의 public 서비스에서만 접근 한다음, private와 연결하는 방식으로 보안성을 높이는 데 이용됩니다.
이름: public-subnet
가용영역: ap-northeast-2a
IPv4 CIDR 블록: 10.1.0.0/24
다음과 같이 subnet을 만들고 private용 subnet을 하나 더 생성합니다.
이름: private-subent
가용영역: ap-northeast-2a
IPv4 CIDR 블록: 10.1.1.0/24
그럼 우리가 최종적으로 구성한 네트워크는 다음과 같습니다.
네트워크를 공부하면서 배웠던 서브넷 마스크와 GateWay 개념을 실제로 이용해보니 기본 지식이 얼마나 중요한지 새삼 깨닫는 계기가 된 것 같습니다.
다음은 만들어진 private, public subnet에 EC2를 생성하고 GateWay를 연결하여 최종적으로 서비스 배포를 해보겠습니다.
+ 추가 할 내용이나 부족한 부분이 있다면, 댓글 작성 부탁드립니다! :)