前に一度やったことがあってふんわり認識はしていたけど、いざ調べようと思ったら意外と時間を食ってしまったので今後のためにメモ。
セキュリティ要件なんかで外部へのアクセスに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