そんな今日この頃の技術ネタ

本家側に書くほどでもない小ネタ用

要ProxyなGCEインスタンスでgcloudコマンドを動かすためのno_proxy設定

前に一度やったことがあってふんわり認識はしていたけど、いざ調べようと思ったら意外と時間を食ってしまったので今後のためにメモ。


セキュリティ要件なんかで外部へのアクセスにProxyを介する必要があるGCEのインスタンス上でgcloudコマンドを叩きたいという状況。

gcloudコマンド自体は環境変数http(s)_proxyを見てくれるのだが、no_proxyにお決まりのローカルだけしか指定していないとインスタンスに設定されたサービスアカウントが取れなかったり各種操作ができなかったりするので宜しくない。

なので、インスタンスメタデータを取得するためのアドレスも追加してやる必要がある。

  • metadata.google.internal
  • 169.254.169.254

(前者だけだとサービスアカウントの認証はできたがその後のgcloudコマンド実行時にエラーを吐いたので両方必要そう。)


なのでローカルも合わせて以下のような感じに設定する。

export no_proxy=localhost,127.0.0.1,metadata,metadata.google.internal,169.254.169.254