필자가 만들고자 하는 VPC는 다음과 같다.
AWS에서는 Subnet이 Internet-gateway가 연결되어 있으면 Internet-facing되었다고 생각하고 public subnet이라고 단정짓는다. 하지만 GCP는 private-subnet에 대한 개념이 상대적으로 약하다. AWS처럼 아에 private-subnet에 대한 default한 설정이 들어가는게 사용자 실수 줄이기도 좋고.. 편하다. GCP가 이게 상대적으로 약하다. 하지만 전반적인 네트워크 잡는건 똑같다.
위 그림에서 public-subnet은 In/Out Bound Traffic이 Internet 영역과 모두 허용되고, private-subnet은 In-Bound Traffic 은 미허용, Out-Bound Traffic은 허용한다.
이걸 구현코자 한다.
1. VPC 만들기
※ 특이점 : AWS와 다르게 Available Zone 설정이 없다. (알아서 해줌)
※ Private Subnet은 비공개 Google Access를 On으로 세팅한다.
※ 방화벽 규칙을 잘 추가해놓는다. 나중에 추가하려면 귀찮다.
2. Route Gateway 확인
자동으로 Internet Gateway 가 생성되었다.
※ 특이점 : AWS와 다르게 Private Subnet에 대한 개념이 약하다. 그리고 Network 리소스 컨트롤이 Systematic해서 직접 못하는게 많다. private-subnet 에서 Internet Gateway를 야에 명시적으로 빼고싶다..
추가로 NAT Gateway를 만들어 private-subnet에 할당할 것이다.
$ gcloud compute routers create nat-router \
--network=armyost-vpc \
--region=asia-northeast3 \
$ gcloud compute addresses create nat-gateway-ip --region=asia-northeast3
$ gcloud compute routers nats create nat-gateway \
--router=nat-router \
--region=asia-northeast3 \
--nat-custom-subnet-ip-ranges=private-subnet \
--nat-external-ip-pool=nat-gateway-ip
완료
이제 인스턴스를 생성할때는 private-subnet에 배포할 녀석은 반드시!!!!
External IP 세팅을 None으로 한다. ← 이게 귀찮.. 그리고 실수 포인트 발생할 수 있음.
※ 개선방안 : VPC 방화벽 정책에서 막아버리는 방법, 인스턴스 Tag를 이용하여 보안 정책을 적용하는 방법
https://www.youtube.com/watch?v=f0T4KIasjqA
'IaaS > 퍼블릭클라우드' 카테고리의 다른 글
(GCP-GKE) LoadBalancer 로 GKE 서비스 외부로 노출하기 (0) | 2023.11.28 |
---|---|
(GCP-GKE) VPC 기반 Private k8s 클러스터 만들기 (0) | 2023.11.27 |
AWS SaaS Boost 프로젝트 (0) | 2023.06.22 |
AWS 오래된 Access Key를 Expire하는 스케쥴 만들기 (0) | 2022.08.16 |
AWS 사용자별 자원생성 가능 Region을 제한하는 Policy 구축하기 (0) | 2022.08.16 |