LoginSignup
0
0

More than 5 years have passed since last update.

ansibleのgcpモジュールを使ったインスタンスの起動

Posted at

GCPを使うようになって、コンソールから起動するのが面倒&自分でAPIいじるのも面倒なのでansibleにやっていただく。

認証用のjsonファイルを作成する

GCPコンソールから IAMと管理-> サービスアカウント -> サービスアカウントを作成 をクリック

スクリーンショット 2018-12-09 23.57.12

サービスアカウントの権限を設定する。(今回はCompute 管理者ですが適宜変更してください)

スクリーンショット 2018-12-09 23.57.32

キーの作成をする

スクリーンショット 2018-12-09 23.58.01

キーを作成したときにダウンロードされるjsonファイルと、
サービスアカウントのページから参照できるデータはあとで使います。

ansibleでGCPを起動するplaybookを書く

- name: GCP test from ansible
  connection: localhost
  vars:
    service_account_email: "ansible-test@**********.iam.gserviceaccount.com"
    credentials_file: "PATH-TO-JSON.json"
    project_id: "PROJECT NAME"
  tasks:
    - name: test
      local_action:
        module: gce
        instance_names: test
        zone: asia-northeast1-b
        state: started
        service_account_email: "{{ service_account_email }}"
        credentials_file: "{{ credentials_file }}"
        project_id: "{{ project_id }}"

presentをstartedにすると停止していたインスタンスが起動して、stoppedにすると起動->停止となります。
他にもディスクサイズとかを指定できたりするので、結構便利。

service_account_email, credentials_fileにサービスアカウントの情報をいれて、projectidに立ち上げたいインスタンスのあるプロジェクトIDを入れます。

あとは実行すれば終わり。

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