본문 바로가기

Cloud Security/AWS

[T0M4TO] Public Subnet과 Private Subnet 만들기

728x90
반응형

하나의 VPC에 Internet Gateway를 붙여, 하나는 Public 서브넷으로 또 하나는 Private 서브넷으로 구축해보려 한다.
Public 서브넷에 Nat Gateway, SSH Terminal용 EC2 Instance를 Private 서브넷에 실제 작동할 EC2 Instance를 생성하려 한다.

[그림 1. VPC 구성도]

우선 첫번째로 VPC를 생성한다. B class 단위로 IPv4 CIDR 블록을 설정 

[그림 2. VPC 생성]

두번째로, VPC안에 만들고자 하는 Public Subnet을 10.0.0.0/24 (c class) 대역을 사용할 수 있도록 설정

[그림 3. Public subnet 생성]

마찬가지로 VPC안에 만들고자 하는 Private Subnet을 10.0.1.0/24 (c class) 대역을 사용할 수 있도록 설정

[그림 4. Private subnet 생성]

세번째로, NAT Gateway에 사용될 탄력적 IP를 Amazon 풀을 사용하여 할당

[그림 5. 탄력적 IP를 할당]

네번째로, Private Subnet의 EC2 Instance에서 Outbound 인터넷 통신을 위해 사용할 Nat Gateway를 생성

[그림 6. NAT 게이트웨이 생성]

다섯번째로, VPC의 인터넷 사용을 위해 Internet Gateway를 생성

[그림 7. Internet 게이트웨이 생성]

여섯번째로, Private 서브넷에 해당하는 라우팅테이블을 찾아, 0.0.0.0/0 즉 로컬 패킷 제외 모든 패킷이 NAT 게이트웨이로 가도록 설정 (NAT Gateway를 통해 통신을 시도하기에, Outbound를 통한 인터넷 통신은 가능하나, 외부에서 Inbound를 시도할 수는 없는 Private subnet이 된다.)

[그림 8. Private Subnet 라우팅에 Nat Gateway 추가]

일곱번째로, Nat Gateway와 Private Subnet에 존재하는 Real server에 원격접속을 하기 위한 Terminal Instance가 존재하는 Public Subnet의 경우 모든 패킷이 Internet 게이트웨이를 타도록(인터넷을 할 수 있도록) 라우팅을 설정

[그림 9. Pulbic Subnet 라우팅에 Internet Gateway 추가]

여덟번째로, Private Subnet에 Real 서버 역할의 EC2 Instance를 생성. 
AMI, 인스턴스 유형, 스토리지, 태그, 보안 그룹은 이번 네트워크 구성과는 무관하므로, 실습 시 상황,환경에 따라 알아서 선택하여 진행하며, 네모박스가 쳐진 설정을 제외한 다른 설정도 역시나 알아서 선택하여 진행

[그림 10. Private Subnet에 Instance 생성]

아홉번째로, Public Subnet에 Real서버 원격접속을 위한 Terminal 서버 역할의 EC2 Instance를 생성
역시나 여덟번째 과정과 동일하게, 네트워크와 서브넷 설정을 제외한 다른 설정은 알아서 선택하여 진행하나, 다른점이 있다면 외부에서의 접근이 가능해야하므로 퍼블릭 IP를 할당해 주어야 함.

[그림 11. Public Subnet에 Instance 생성]

이로써 모든 구성은 끝이났다!
이제 남은건 테스트 뿐이다! 테스트 항목은~
1. Terminal 서버 접속
2. Terminal 서버에서 Real 서버 접속
3. Real 서버에서 outbound 인터넷 통신 여부 확인 (ping, 패키지 업데이트, curl 등의 방법)

먼저 Terminal 서버를 접속해 보겠다. (Instance의 Public IP는 각자 다르기에, EC2 콘솔에서 확인 필요)

[그림 12. Public Subnet에 있는 Terminal 서버로 접속 성공]

접속한 Terminal 서버의 IP를 보니 10.0.0.85 우리가 설정한 Public Subnet의 대역안에 있음을 확인할 수 있다.
다음으로는 이 상태에서 Private Subnet에 있는 Real 서버에 접근하여 Ping을 통해 인터넷이 되는가 확인해보려 한다.

[그림 13. Private Subnet에 있는 Real 서버로 접속 후 Ping 8.8.8.8 시도]

성공!! 이로써 NAT Gateway에 연결된 Private subnet의 Real 서버에 접속 가능하며, 또한 Private subnet 내 Real 서버에서 Outbound 인터넷 통신이 가능함을 확인하였다.

Public subnet, Private subnet 구성끝!!!!

728x90
반응형