こんにちは!SCSKの山口です。初の投稿です。皆様温かい目でご覧いただけると幸いです。
記念すべき初回は「限定公開のGoogleアクセス」について紹介します。
限定公開のGoogle アクセスとは
概要
限定公開のGoogleアクセスは、簡潔に言うと「外部IPアドレスを持たないインスタンスがGoogle APIとGoogle Cloudサービスの外部IPアドレスへアクセスすることを可能にする仕組み」です。
Google CloudのAPIは、本来外部IPアドレスを使用したインターネット経由のアクセスにより接続される仕様となっています。
しかし、この”外部IPアドレスを持つ”といった特性はネットワーク外部と繋がることができることによって「外部からの不正アクセス等のリスクにさらされる」といった危険性を孕んでいます。
ここで登場するのが、今回紹介する「限定公開のGoogleアクセス」です。限定公開のGoogleアクセスを設定することで、インスタンスがインターネットを経由せずにGoogle APIとサービスにアクセスすることが可能になります。
(左図)インスタンスが外部IPアドレスを持つ場合
[Compute Engine A1]
- インターネットアクセス:可
- Google API,Google Cloudサービスへのアクセス::可(インターネット経由でのアクセス)
[Compute Engine B1]
- インターネットアクセス:可
- Google API,Google Cloudサービスへのアクセス::可
(⇒外部IPアドレスを持つインスタンスには限定公開のGoogleアクセスをつける必要がない(意味がない))
(右図)インスタンスが外部IPを持たない場合
[Compute Engine A1]
- インターネットアクセス:不可
- Google API,Google Cloudサービスへのアクセス : 不可
[Compute Engine B2]
- インターネットアクセス:不可
- Google API,Google Cloudサービスへのアクセス : 可
(⇒メリット:インスタンスが外部IPアドレスを持てなくてもGoogle API,Google Cloudサービスへアクセスが可能)
設定方法
限定公開のGoogleアクセスは、サブネット単位で設定します。以下の設定画面から有効化することができます。
- 新規作成時
VPCネットワーク-VPCネットワークの作成-新しいサブネット-「限定公開のGoogleアクセス」を「オン」 - 設定変更時
VPCネットワーク-<サブネット名を選択>-編集-「限定公開のGoogleアクセス」を「オン」
やってみた : 限定公開のGoogleアクセスを使用したCloud Storage へのアクセス
ここでは、実際に限定公開のGoogleアクセスを使用して、VPCネットワーク内に作成したCompute EngineからGoogle APIである「Cloud Storage」へのアクセスを実際にやってみます。
環境構築
- プロジェクトを作成します。
VPCを作成し、「限定公開のGoogleアクセス」を「オン」に設定したサブネットを追加します。
(※外部IPアドレスは設定しない)
- 追加したサブネット内に「外部IPアドレス」を「なし」でインスタンスを作成します。
- 以下のCloud Storageを作成します。
ここまでの作業で、以下の環境が完成しました。
[検証①]Compute EngineからCloud Storageへのアクセス可否
ここから検証に入ります。今回はコマンドラインからCloud StorageへアクセスできるPythonアプリケーションの「gsutilツール」を用いて検証を行います。
gsutilツールではバケットの作成や削除、一覧表示や移動等の管理作業を行うことができます。オプションコマンドは以下の一覧の通りです。
今回は「gsutil ls」(バケットとオブジェクトの一覧表示)のコマンドを用いて検証します。
「gsutil ls」コマンドの実行結果は以下の通りです。
今回作成したCloud Storage(test-yamaguchi-20221130)へアクセスできていることが確認できました。
これにより、外部IPアドレスを持たないインスタンス(Compute Engine)が、「限定公開のGoogleアクセス」の設定によってサブネット外部のGoogle Cloud サービスへアクセスできていることが確認できました。
[検証②]限定公開のGoogleアクセスをオフにして再度検証①を行う
検証②では、サブネットの限定公開のGoogleアクセスをオフにした場合の、Compute EngineからCloud Storageへのアクセス可否を検証します。
限定公開のGoogleアクセスは、「VPCネットワーク-VPCネットワーク名-サブネット名」を選択し、「サブネットの詳細」画面で設定変更が可能です。
⇒以下に変更
限定公開のGoogleアクセスをオフにし、再度検証①の「gsutil ls」を実行した際の結果は以下の通りです。
上図のように、先ほどまで表示されていた「gs://test-yamaguchi-20221130」が表示されなくなり、Cloud Storageへのアクセスが不可能となっていることが確認できました。
終わりに
今回初めてブログを執筆したのですが、11月の末から執筆を開始して気づけば1月になっていました、、、
Google Cloudを使用し始めてまだ4か月ほどで、毎日が新しいインプットの連続です。今後、この場をお借りしてどんどんアウトプットしていきたいと思います。
(アウトプットのスピードも上げていきたいです、、、)
今回取り扱った「限定公開のGoogleアクセス」ですが、この機能を活用することで、Google Cloud内のみの通信でCloud Storage等のAPIやその他サービスを利用することができます。
クラウド環境を可能な限り閉じた(インターネットへの露出がない)環境にしたい場合に有効な機能だということがわかりました。
サポート対象のサービス
Google APIとGoogle Cloudサービスが対象。
詳しくはコチラ👇