GCP VPC について基本的な使い方を記載します。
VPC 作成
gcloud compute networks create mynetwork --subnet-mode=custom
サブネット作成
gcloud compute networks subnets create mysubnet-us --network=mynetwork --region=us-central1 --range=172.16.0.0/24
gcloud compute networks subnets create mysubnet-eu --network=mynetwork --region=europe-west4 --range=172.17.0.0/24
参照
gcloud compute networks list
gcloud compute networks subnets list --sort-by=NETWORK
ICMP、SSH、RDP を許可する Firewall ルールの作成例。
gcloud compute firewall-rules create mynetwork-allow-icmp-ssh-rdp \
--direction=INGRESS \
--priority=1000 \
--network=mynetwork \
--action=ALLOW \
--rules=icmp,tcp:22,tcp:3389 \
--source-ranges=0.0.0.0/0
参照
gcloud compute firewall-rules list --sort-by=NETWORK
例えば f1-micro
は 2つの NIC を持つことができます。マシンタイプ毎に NIC の上限は異なります。また、作成時にしか NIC の個数を指定できません。
gcloud compute instances create mynetwork-us-vm --machine-type=f1-micro \
--network-interface '' --zone=us-central1-f \
--network-interface subnet=mysubnet-us
確かに二つの IP を持つことが分かります。
ルートテーブル
username@mynetwork-us-vm:~$ ip r
default via 10.128.0.1 dev ens4
10.128.0.0/20 via 10.128.0.1 dev ens4
10.128.0.1 dev ens4 scope link
172.16.0.0/24 via 172.16.0.1 dev ens5
172.16.0.1 dev ens5 scope link
GCP に限らない、一般的なネットワークの事項として、Alias IP が存在します。VM は所属する subnet の primary CIDR または secondary CIDR のいずれかの範囲から、Alias IP を VM に割り当てることができます。
Secondary CIDR が割り当てられている Subnet の例です。
Secondary CIDR から Alias IP を割り当てた VM の例です。
Linux Kernel が管理している local テーブルを参照すると、確かに Alias IP が確認できます。
myuser@instance-1:~$ ip r show table local
local 10.1.1.2 dev ens4 proto kernel scope host src 10.1.1.2
broadcast 10.1.1.2 dev ens4 proto kernel scope link src 10.1.1.2
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
local 192.168.100.101 dev ens4 proto 66 scope host
myuser@instance-1:~$ ip r show table main
default via 10.1.1.1 dev ens4
10.1.1.1 dev ens4 scope link
参考資料: Alias IP ranges overview