目次
こんにちはgrasys長谷川です。
今日は娘の5歳の誕生日なんですぐ帰ります!w
Conpute EngineのRegion/Zoneの引っ越しをやってみます。
流れ
作業の流れです。
だいたいこんな感じで引っ越し可能です。
- InstanceのZone確認
- 引越し先を決める
- gcloud compute instances moveを発行
ただし再起動は走ります。
上記で出来ないパターンがあるので出来なかったら以下を行う必要があります。
Instanceが古いとかかな・・・まあGCPあるあるなのであまり気にしない!
- Instanceのdiskのauto-deleteを無効化
- Instance 削除(Diskを残して
- Disk移動
- Instance 作成(既存のDiskから
Image化して新しく立て直す方が簡単だったりしますが・・・w
注意点としてはStatic IPを利用している場合、
Static IPはRegionに紐づくため引っ越しできません。
Zones 一覧
Zoneは以下のコマンドで一覧することができます。
移行先とかはこれで決めて下さい。
gcloud compute zones list
NAME REGION STATUS NEXT_MAINTENANCE TURNDOWN_DATE
asia-east1-c asia-east1 UP
asia-east1-b asia-east1 UP
asia-east1-a asia-east1 UP
...........省略...........
Zoneの確認
gcloud compute instances list
InstanceのZoneの確認方法はいくつかあるんですが
以下でインスタンスの一覧がでてくるので確認できます。
Column | Description |
---|---|
NAME | Instance Name |
ZONE | Zone Name |
MACHINE_TYPE | InstanceのMachine-Type |
PREEMPTIBLE | プリエンプティブInstance |
INTERNAL_IP | Google Cloud (GCP) PlatformのInternal Private IP |
EXTERNAL_IP | いわゆるGlobal IP / Public IP |
STATUS | RUNNING / TERMINATEDなどInstanceの状態 |
gcloud compute instances list
metadata
InstanceにLoginしている状態であればmetadataが利用できます。
curl -s -H "Metadata-Flavor: Google" \
http://metadata/computeMetadata/v1/instance/zone
上記以外にもDeveloper Consoleでも確認できます。
gcloud compute instances move
再起動が走るので注意
gcloud compute instances move [InstanceName] \
--zone [今のZone] \
--destination-zone [移動先のZone]
以下はうまく移動できなかったパターンなので移動できたら読み飛ばしてください。
Instanceのdiskのパラメータ確認
gcloud compute instances describe
gcloud コマンドでは以下のように確認できます。
gcloud compute instances describe [InstanceName] --zone [Zone]
disksのautoDelete
がfalse
になっていることを確認してください。
canIpForward: true
cpuPlatform: Intel Broadwell
creationTimestamp: '2016-10-24T19:02:13.476-07:00'
description: ''
disks:
- autoDelete: false
boot: true
deviceName: xxxxxx
index: 0
interface: SCSI
kind: compute#attachedDisk
licenses:
- https://www.googleapis.com/compute/v1/projects/centos-cloud/global/licenses/centos-6
mode: READ_WRITE
source: https://www.googleapis.com/compute/v1/projects/xxxxxxxxxxxxxxx/zones/xxxxxxxxxxx/disks/xxxxxxx
type: PERSISTENT
こちらもDeveloper ConsoleのInstanceの画面
もしtrue
になっていたら設定を変更する必要があります。
gcloud compute instances set-disk-auto-delete [InstanceName] \
--no-auto-delete \
--zone [Zone] \
--device-name [deviceName]
autoDelete
を再度確認してください。
Instance削除
Instance削除します。
–keep-disks パラメータを始めて知るw
autoDeleteのパラメータうんぬんかんぬんの作業が必要ないww
gcloud compute instances delete [InstanceName] \
--zone [Zone] \
--keep-disks=all
gcloud compute disks move
Diskを移動します。
gcloud compute disks move [Disk NAME] \
--zone [Disk Zone]
--destination-zone [移動先Zone]
Instance作成
先程移動したDiskから新しくInstanceを起動します。
以下はサンプルなのでちゃんと作って下さい。
gcloud compute --project [Project ID] instances create [Instance Name] \
--zone [Zone] \
--machine-type [Machine-Type] \
--network "default" \
--maintenance-policy "MIGRATE" \
--scopes default="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" --disk "name=[移動したDisk],device-name=[VM内のDeviceName],mode=rw,boot=yes"
これで引っ越し完了!
基本的には簡単でやってみるとすぐできます!
株式会社grasys(グラシス)は、技術が好きで一緒に夢中になれる仲間を募集しています。
grasysは、大規模・高負荷・高集積・高密度なシステムを多く扱っているITインフラの会社です。Google Cloud (GCP)、Amazon Web Services (AWS)、Microsoft Azureの最先端技術を活用してクラウドインフラやデータ分析基盤など、ITシステムの重要な基盤を設計・構築し、改善を続けながら運用しています。
お客様の課題解決をしながら技術を広げたい方、攻めのインフラ技術を習得したい方、とことん技術を追求したい方にとって素晴らしい環境が、grasysにはあります。
お気軽にご連絡ください。