본 내용은 개인적으로 공부하며 정리한 내용이라 틀릴 수 있습니다.
<1> 목적
ISMS-P 심사에 대비한 안전한 네트워크를 구성하는데 목적이 있다.
미션
Google Cloud로 Pubic , Private , DB 네트워크 만들기
1. Public에 있는 서버는 외부와 통신이 되어야 한다. 베스천 호스트로 사용 예정
2. Private에 있는 서버는 Cloud NAT를 통해 외부로 통신해야 한다.
3. DB는 외부와 통신되면 안 된다.
<2> 수행
1. Google Cloud 가입한다.
300달러 무료로 사용할 수 있다 ^^
필요사항
회외 결재 카드
메일 계정 1개
2. Google Cloud에 로그인해 300 크레디트가 있는지 확인한다.
왼쪽 위 결제 메뉴 > 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. 테스트 완료 후엔 프로젝트 삭제하기
감사합니다.