LoginSignup
3
0

More than 3 years have passed since last update.

gcloudで特定のGCEインスタンスの外部IPを確認する

Last updated at Posted at 2018-10-01

はじめに

とあるスクリプトで、 curl inet-ip.info を実行してGCE インスタンスの
外部 IP を取得していたのですが、9月の末頃 inet-ip.info がダウンしていたようで…

IP 取得できずバッチが失敗する状態が数日続きました。
※ 10/1 に確認した際は復旧してました

そこで、外部のサービスに頼らず gcloud コマンドで外部IPの
取得をしてみようと思った次第です。

gcloud での外部IP取得方法

最初はこんなのを考えました。長い…


gcloud compute instances list --filter="name='インスタンス名'" --format json | jq -r '.[].networkInterfaces[].accessConfigs[].natIP'

でも jq なくても出来るはずだよね?と思ってもう少し調べた所
下のコマンドで取れました。やっぱり長い…つーか、jsonパース方法変わっただけやん。


gcloud compute instances list --filter="name='インスタンス名'" --format="value(networkInterfaces[].accessConfigs[0].natIP)"

終わりに

IP調べるのに結構長いコマンドが必要なんですね。
フィルター芸を覚えればもっといろいろな情報引き出せそう。

20190904追記

ちょっとフィルターやってみました。
Dataprocのノード情報を取得してテーブル表示する、的な。

実行コマンド

gcloud dataproc clusters describe クラスタ名 \
    --region=リージョン \
    --format="multi( \
        config:format='table[box]( \
            softwareConfig.imageVersion, \
            gceClusterConfig.zoneUri.basename() \
            )', \
        config:format='table[box]( \
            masterConfig.numInstances:label=NUM_MASTER, \
            masterConfig.machineTypeUri.basename():label=MASTER_TYPE, \
            workerConfig.numInstances:label=NUM_WOKER, \
            workerConfig.machineTypeUri.basename():label=WOKER_TYPE \
            )', \
        config:format='table[box]( \
            secondaryWorkerConfig.numInstances:label=NUM_PREEMPT, \
            secondaryWorkerConfig.machineTypeUri.basename():label=PREEMPT_TYPE \
            )' \
        )"
出力
+---------------+-------------------+
| IMAGE_VERSION |      ZONE_URI     |
+---------------+-------------------+
| 1.3.16-deb9   | asia-northeast1-c |
+---------------+-------------------+
+------------+---------------+-----------+---------------+
| NUM_MASTER |  MASTER_TYPE  | NUM_WOKER |   WOKER_TYPE  |
+------------+---------------+-----------+---------------+
| 1          | n1-standard-4 | 3         | n1-standard-4 |
+------------+---------------+-----------+---------------+
+-------------+--------------+
| NUM_PREEMPT | PREEMPT_TYPE |
+-------------+--------------+
|             |              |
+-------------+--------------+

参考にしたもの
https://cloud.google.com/sdk/gcloud/reference/topic/formats
https://cloud.google.com/blog/products/gcp/filtering-and-formatting-fun-with
https://cloudplatform-jp.googleblog.com/2016/06/gcloud.html

3
0
1

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
3
0