brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 29. 2019

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

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


<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



감사합니다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari