brunch

19.(미션)VPC 만들기:PUB,PRI,DB

by Master Seo

본 내용은 개인적으로 공부하며 정리한 내용이라 틀릴 수 있습니다.


<1> 목적

ISMS-P 심사에 대비한 안전한 네트워크를 구성하는데 목적이 있다.


미션

Google Cloud로 Pubic , Private , DB 네트워크 만들기

1. Public에 있는 서버는 외부와 통신이 되어야 한다. 베스천 호스트로 사용 예정

2. Private에 있는 서버는 Cloud NAT를 통해 외부로 통신해야 한다.

3. DB는 외부와 통신되면 안 된다.



<2> 수행


1. Google Cloud 가입한다.

https://cloud.google.com/

300달러 무료로 사용할 수 있다 ^^


필요사항

회외 결재 카드

메일 계정 1개



2. Google Cloud에 로그인해 300 크레디트가 있는지 확인한다.

https://console.cloud.google.com/


왼쪽 위 결제 메뉴 > 300 크레디트가 무료 체험판 300 크레디트가 있는지 확인한다.


3. Google Cloud는 프로젝트 단위이다. (10분)

왼편 위 Google Cloud Platform 옆에 프로젝트 > 새 프로젝트 > ISMS-VPC2로 만든다.

ISMS-VPC2로 이동한다.


4. IP 설계 하자.

Public

Private

DB


10.0.0.0/24

10.0.1.0/24

10.0.2.0/24




5. 이제 VPC 네트워크를 만들어보자.


1) NETWORKING > VPC Network > VPC networks > CREATE VPC NETWORK


Google Cloud는 CIDR개념이 안 보인다.

바로 서브넷을 만들어 사용한다.

game-web

pub-a

10.0.0.0/24

asia-east1 (대만)

Private Google access off (디폴트입니다.)



Name이 game-web이라고 생성됨.



2) game-web을 클릭 > Add subnet 해서 추가 서브넷을 만든다.


pri-a

asia-east1

10.0.1.0/24

Private Google access on (사설 네트워크 구성)




3) DB 서브넷도 만든다.

db-a

asia-east1

10.0.2.0/24

Private Google access on (사설 네트워크 구성)


6. Pub , Pri , DB 서브넷에 서버를 생성하자.


1) game-web

Public 서브넷에 서버 생성 시는 공인 IP를 받도록 생성하자(디폴트로 받는다.)


2) game-was, game-db

Private, DB 서브넷에 서버 생성 시는 공인 IP를 받지 않도록 생성한다.


COMPUTE > Eompute Engine > VM instances



game-web01을 생성한다.


http, https 허용 체크

External IP 받는 거로 한다. (디폴트)


생성한다.




game-was01 생성한다.

Extenal IP : None


game-db01 생성한다.



7. SSH접속은 안된다.

SSH접속이 되도록 보안 그룹에서 허용해야 한다.


VPC network > Firewall rules

Name ssh

Network를 game-web으로 지정하라.



8. game-was01은 외부로 ping이 안된다.

Cloud NAT를 만들어 외부로 나갈 수 있도록 하자.

Cloud NAT생성시 임시 공인IP로 NAT가 만들어진다.

External IP addreses 를 할당받아 사용하자.



NETWORKING > Network service > Cloud NAT




특정 서브넷만 Cloud NAT를 사용하도록 한다.

Private-a 만 Cloud NAT를 사용하도록 한다.



<3> 특이 사항 : 확인 요망


1. Private에 있어도 External IP를 할당받으면 인터넷이 된다.

Cloud NAT 가 없어도 인터넷이 된다. (AWS는 안된다)


2. Subnet을 다른 리즌에 추가할 수 있다.


3. 기본으로 vpc에 속한 subnet은 기본적으로 통신이 된다.

public , private , db 간 통신이 된다. (AWS와 동일하다)

단지, 방화벽을 열어줘야 한다.

서로 ping이 되려면 icmp를 열면된다.



4. 서버는 콘솔로 붙이기 위해 공인ip가 매칭 되어 있다.

임의 공인IP로 내가 할당하지 않은 부분이다.


[topasvga@game-web012 ~]$ curl ifconfig.me
35.221.212.180


[topasvga@game-web012 ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.0.1.7

netmask 255.255.255.255

broadcast 10.0.1.7
inet6 fe80::4001:aff:fe00:107 prefixlen 64 scopeid 0x20<link>
ether 42:01:0a:00:01:07 txqueuelen 1000 (Ethernet)
RX packets 97640 bytes 105113479 (100.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 61114 bytes 4683031 (4.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0



5. Compute Engine에서 디폴트 작업 리즌을 정의할 수 있음.



6. 테스트 완료 후엔 프로젝트 삭제하기

https://console.cloud.google.com/cloud-resource-manager?hl=ko&_ga=2.10700528.-514179565.1571624996



감사합니다.



keyword
매거진의 이전글18.Google Summit 2019 참여기업들