クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

Compute Engine Autoscalerを試してみました。 #gcpja

Compute Engine のオートスケール機能を使用してみました。

Compute Engine Autoscalerは、現在Limit Preview機能ですので、デフォルトでは使用することができませんので、ここからリクエストを申請する必要があります。

まずは、Autoscaler機能は現在Limit Previewですので、CLI(gcloud)初期状態はpreview機能は使えませんので以下コマンドを有効にしておきます。

 gcloud components update preview 

Replica Poolファイルを作成します。AWSでいうLaunch Configurationに相当すると思われます。

 vi replica.template 
{ "template": {
    "vmParams": {
      "machineType": "n1-standard-1",
      "baseInstanceName": "my-replica",
      "disksToCreate": [{
        "boot": "true",
        "initializeParams": {
          "sourceImage": "https://www.googleapis.com/compute/v1/projects/centos-
cloud/global/images/centos-7-v20140903",
          "diskSizeGb": "10"
         }
       }],
     "networkInterfaces": [{
       "network": "default",
       "accessConfigs": [{
         "type": "ONE_TO_ONE_NAT",
         "name": "External NAT"
       }]
     }]
   }
  }
}

上記で作成したReplica Pool configでReplica Poolを作成します。

gcloud preview replica-pools --zone asia-east1-a create --size 1 --template replica.template asia-east1a-pool
Replica pool asia-east1a-pool is being created.

replia数を最小値、最大値を1にしてオートスケールの設定をします。

gcloud preview autoscaler --zone asia-east1-a create aisa-east-aurtoscaler --max-num-replicas 1 --min-num-replicas 1 --target-cpu-utilization 0.6 --target https://www.googleapis.com/replicapool/v1beta1/projects/skillful-fx-531/zones/asia-east1-a/pools/asia-east1a-pool

VMインスタンスが起動することが確認できます。そこで、replica数の最小値、最大値を2にしてみます。時間をたたずにもう1つ VMインスタンスが起動できることが確認できます。Replica数を2から1にしても、1 VMインスタンスがterminateされます。

gcloud preview autoscaler --zone asia-east1-a update aisa-east-aurtoscaler  --target https://www.googleapis.com/replicapool/v1beta1/projects/skillful-fx-531/zones/asia-east1-a/pools/asia-east1a-pool --max-num-replicas 2 --min-num-replicas 2

ただ、Replica数を0にすることはできないようです。Autoscalerを発動しないようにしておくことはできなそう。

gcloud preview autoscaler --zone asia-east1-a update aisa-east-aurtoscaler  --target https://www.googleapis.com/replicapool/v1beta1/projects/skillful-fx-531/zones/asia-east1-a/pools/asia-east1a-pool --max-num-replicas 0 --min-num-replicas 0
<pre>{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required field not specified: autoscaling_policy.max_num_replicas."
   }
  ],
  "code": 400,
  "message": "Required field not specified: autoscaling_policy.max_num_replicas."
 }
}

SSD Persistent diskに対応していないゾーンで、disk typeにSSD diskを指定するとエラーになります。SSD Persistent diskに対応していないゾーンは、us-central1-aになります。

VMインスタンスを障害をみたてて、「nmcli c down eth0」でインスタンスに接続できない状況を発生させて、自動復旧できるか試してみました。

が、自動復旧されない。Replica PoolにHealthChecksがある。→ここ

screencapture-developers-google-com-compute-docs-replica-pool-v1beta1-pools

使おうとすると、Unknown field nameとなる。???

 

コメントは受け付けていません。