Я написал небольшой скрипт, который создает VPC, firewall-rule и instance.Я дал параметры скрипту.но вместо того, чтобы принимать параметр для правила межсетевого экрана, он принимает значение instancename2 в поле имени межсетевого экрана, которое.
ZONE=$2
MACHINE_TYPE=$3
IMAGE_FAMILY=$4
IMAGE_PROJECT=$5
BOOT_DISK_SIZE=$6
BOOT_DISK_TYPE=$7
NETWORK_NAME=$8
FIREWALL_RULE=$9
FIREWALL_NAME=$10
TAGS=$11
gcloud compute networks create $NETWORK_NAME --subnet-mode=auto
gcloud compute firewall-rules create $FIREWALL_NAME --network=$NETWORK_NAME --allow=$FIREWALL_RULE --source-tags=$TAGS
gcloud compute instances create $INSTANCE_NAME \
--zone=$ZONE \
--machine-type=$MACHINE_TYPE \
--image-family=$IMAGE_FAMILY \
--image-project=$IMAGE_PROJECT \
--boot-disk-size=$BOOT_DISK_SIZE \
--boot-disk-type=$BOOT_DISK_TYPE \
--network-interface network=$NETWORK_NAME,no-address \
--tags=$TAGS \
command : bash network.sh myvm us-west1-a f1-micro ubuntu-1810 ubuntu-os-cloud 10 pd-ssd mynetwork tcp:80 myrule mytag
output :
Created .
NAME SUBNET_MODE BGP_ROUTING_MODE IPV4_RANGE GATEWAY_IPV4
mynetwork AUTO REGIONAL
Instances on this network will not be reachable until firewall rules
are created. As an example, you can allow all internal traffic between
instances as well as SSH, RDP, and ICMP by running:
$ gcloud compute firewall-rules create <FIREWALL_NAME> --network mynetwork --allow tcp,udp,icmp --source-ranges <IP_RANGE>
$ gcloud compute firewall-rules create <FIREWALL_NAME> --network mynetwork --allow tcp:22,tcp:3389,icmp
Creating firewall...⠛Created
Creating firewall...done.
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED
myvm0 mynetwork INGRESS 1000 tcp:80 False
Created.
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
myvm us-west1-a f1-micro 10.138.0.2 RUNNING
please check the name of firewall created (below 'creating firewall...done.'). It's not what i provided in command. Its similar to INSTANCE_NAME variable.