0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloud Shellにて、gcloudコマンドを使用して、VMインスタンスを作成する

Last updated at Posted at 2024-09-24

はじめに

こんにちは!
今回は、CloudShellでgcloudコマンドを使用して、VPC、サブネット、VMインスタンスの作成を実施していきます。

Cloud Shellを開く

対象プロジェクトのコンソールにて、右上のマークを選択する。
image.png

「続行」を選択する。
image.png

Cloud Shellを起動できました。
image.png

対象のプロジェクトにて、Compute Engine APIを有効にする

VPCはCompute Engine APIに含まれています。
VPCを作成するため、Compute Engine APIを有効にします。

# プロジェクトのリストを表示する
$ gcloud projects list
PROJECT_ID: XXXX
NAME: My First Project
PROJECT_NUMBER: XXXX

# APIを有効化するプロジェクトを、デフォルトのプロジェクトを指定する
$ gcloud config set project <YOUR_PROJECT_ID>
Updated property [core/project].

#Compute Engine APIを有効にする
$ gcloud services enable compute.googleapis.com
Operation "operations/acf.xxxxxx" finished successfully.

VPCとサブネットを作成する

VPCとサブネット1つを作成します。

$ gcloud beta compute networks create <VPC_NAME> \
--project=lunar-campaign-436414-c3 \
--subnet-mode=custom \
--mtu=1460 \
--bgp-routing-mode=regional \
--bgp-best-path-selection-mode=legacy \
&& gcloud compute networks subnets create <SUBNET_NAME> \
--project=lunar-campaign-436414-c3 \
--range=10.134.0.0/24 \
--stack-type=IPV4_ONLY \
--network=<VPC_NAME> \
--region=asia-northeast1

Created [https://www.googleapis.com/compute/beta/projects/lunar-campaign-436414-c3/global/networks/<VPC_NAME>].
NAME: <VPC_NAME>
SUBNET_MODE: CUSTOM
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE: 
GATEWAY_IPV4: 

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 <VPC_NAME> --allow tcp,udp,icmp --source-ranges <IP_RANGE>
$ gcloud compute firewall-rules create <FIREWALL_NAME> --network <VPC_NAME> --allow tcp:22,tcp:3389,icmp

Created [https://www.googleapis.com/compute/v1/projects/lunar-campaign-436414-c3/regions/asia-northeast1/subnetworks/<SUBNET_NAME>].
NAME: <SUBNET_NAME>
REGION: asia-northeast1
NETWORK: <VPC_NAME>
RANGE: 10.134.0.0/24
STACK_TYPE: IPV4_ONLY
IPV6_ACCESS_TYPE: 
INTERNAL_IPV6_PREFIX: 
EXTERNAL_IPV6_PREFIX: 

VMインスタンス作成

作成したVPC、サブネット上に、VMインスタンスを作成する。

$ gcloud compute instances create <VM_NAME> \
    --project=<PROJECT_ID> \
    --zone=asia-northeast1-a \
    --machine-type=e2-medium \
    --network-interface=network-tier=STANDARD,stack-type=IPV4_ONLY,subnet=<SUBNET_NAME> \
    --maintenance-policy=MIGRATE \
    --provisioning-model=STANDARD \
    --service-account=<SERVICE_ACCOUNT> \ #今回はデフォルトで用意されているGCEのサービスアカウントを指定
    --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/service.management.readonly,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/trace.append \
    --create-disk=auto-delete=yes,boot=yes,device-name=<VM_NAME>,image=projects/debian-cloud/global/images/debian-12-bookworm-v20240910,mode=rw,size=10,type=pd-balanced \
    --no-shielded-secure-boot \
    --shielded-vtpm \
    --shielded-integrity-monitoring \
    --labels=goog-ec-src=vm_add-gcloud \
    --reservation-affinity=any

Created [https://www.googleapis.com/compute/v1/projects/xxxxxx/zones/asia-northeast1-a/instances/<VM_NAME>].
NAME: <VM_NAME>
ZONE: asia-northeast1-a
MACHINE_TYPE: e2-medium
PREEMPTIBLE: 
INTERNAL_IP: xxx.xxx.xx.x
EXTERNAL_IP: xxx.xxx.x.xxx
STATUS: RUNNING

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?