방화벽 규칙이 있는 커스텀 모드 VPC 네트워크 만들기
managmentnet 네트워크 만들기
1. managementnet 네트워크 생성 (웹)
gcloud compute networks create managementnet --project=qwiklabs-gcp-01-85419543f0b2 --subnet-mode=custom --mtu=1460 --bgp-routing-mode=regional
2. managementnet 서브넷 생성 (웹)
gcloud compute networks subnets create managementsubnet-us --project=qwiklabs-gcp-01-85419543f0b2 --range=10.130.0.0/20 --network=managementnet --region=us-central1
privatenet 네트워크 만들기
1. privatenet 네트워크 생성
gcloud compute networks create privatenet --subnet-mode=custom
2. privatesubnet-us 서브넷 생성
gcloud compute networks subnets create privatesubnet-us --network=privatenet --region=us-central1 --range=172.16.0.0/24
3. privatesubnet-eu 서브넷 생성
gcloud compute networks subnets create privatesubnet-eu --network=privatenet --region=europe-west4 --range=172.20.0.0/20
4. VPC 네트워크 목록 보기
gcloud compute networks list
5. 사용 가능한 VPC 서브넷 목록 출력
gcloud compute networks subnets list --sort-by=NETWORK
managementnet 의 방화벽 규칙 만들기 (웹 GUI 콘솔)
gcloud compute --project=qwiklabs-gcp-01-85419543f0b2 firewall-rules create managementnet-allow-icmp-ssh-rdp --direction=INGRESS --priority=1000 --network=managementnet --action=ALLOW --rules=tcp:22,tcp:3389,icmp --source-ranges=0.0.0.0/0
privatenet 의 방화벽 규칙 만들기 (CLI 콘솔)
gcloud compute firewall-rules create privatenet-allow-icmp-ssh-rdp --direction=INGRESS --priority=1000 --network=privatenet --action=ALLOW --rules=icmp,tcp:22,tcp:3389 --source-ranges=0.0.0.0/0
(실행 결과)
Creating firewall...⠹Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-01-85419543f0b2/global/firewalls/privatenet-allow-icmp-ssh-rdp].
Creating firewall...done.
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED
privatenet-allow-icmp-ssh-rdp privatenet INGRESS 1000 icmp,tcp:22,tcp:3389 False
student_01_3bc7d371ff4a@cloudshell:~ (qwiklabs-gcp-01-85419543f0b2)$
방화벽 규칙 목록 출력
gcloud compute firewall-rules list --sort-by=NETWORK
VM 인스턴스 만들기
managementnet-us-vm 생성 (웹 GUI 콘솔)
gcloud beta compute --project=qwiklabs-gcp-01-85419543f0b2 instances create managementnet-us-vm --zone=us-central1-f --machine-type=f1-micro --subnet=managementsubnet-us --network-tier=PREMIUM --maintenance-policy=MIGRATE --service-account=641089478824-compute@developer.gserviceaccount.com --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append --image=debian-10-buster-v20210420 --image-project=debian-cloud --boot-disk-size=10GB --boot-disk-type=pd-balanced --boot-disk-device-name=managementnet-us-vm --no-shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring --reservation-affinity=any
(실행결과)
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
managementnet-us-vm us-central1-f f1-micro 10.130.0.2 34.123.175.27 RUNNING
student_01_3bc7d371ff4a@cloudshell:~ (qwiklabs-gcp-01-85419543f0b2)$
privatenet-us-vm 생성 (CLI 콘솔)
gcloud compute instances create privatenet-us-vm --zone=us-central1-f --machine-type=n1-standard-1 --subnet=privatesubnet-us
(실행결과)
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-01-85419543f0b2/zones/us-central1-f/instances/privatenet-us-vm].
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
privatenet-us-vm us-central1-f n1-standard-1 172.16.0.2 34.67.219.86 RUNNING
student_01_3bc7d371ff4a@cloudshell:~ (qwiklabs-gcp-01-85419543f0b2)$
vm 목록 확인
gcloud compute instances list
(실행결과)
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
mynet-eu-vm europe-west4-c n1-standard-1 10.164.0.2 34.91.247.17 RUNNING
managementnet-us-vm us-central1-f f1-micro 10.130.0.2 34.123.175.27 RUNNING
mynet-us-vm us-central1-f n1-standard-1 10.128.0.2 35.202.13.99 RUNNING
privatenet-us-vm us-central1-f n1-standard-1 172.16.0.2 34.67.219.86 RUNNING
student_01_3bc7d371ff4a@cloudshell:~ (qwiklabs-gcp-01-85419543f0b2)$
VM 인스턴스 간의 연결성 살펴보기
ping -c 3 IP
다수의 네트워크 인터페이스가 있는 VM 인스턴스 만들기
vm-appliance 인스턴스 생성
인스턴스 1개에 허용되는 인터페이스의 개수는 vCPU의 개수에 따라 달라짐
n1-standard-4 는 최대 4개의 네트워크 인터페이스를 허용함
https://cloud.google.com/vpc/docs/create-use-multiple-interfaces#max-interfaces
icmp 를 방화벽에서 열어야 ping 이 도달됨
VM 인스턴스 생성시 Interface 를 추가하면 여러 네트워크 서브넷의 내부 IP로 접근할 수 있다