「世の中には難しいことが多い!」と感じることが多い私が、様々な用語を、初学者向けにわかりやすく全力で解説します。
解説する用語
サーバレスVPCアクセスについて解説をします。App EngineやCloud Functions、Cloud Runなどについて説明している記事は多いですが、サーバレスVPCアクセスについては触れてないことが多いかなと思います。Google Cloudのサーバレス製品を使用する際に、必須となってくる知識となりますので本記事を読んで理解してみてください。
サーバレスVPCアクセスとは
サーバレスVPCアクセスとは、App EngineやCloud Functions、Cloud Runなどのサーバレス環境からVPC内部のリソースにアクセスするための設定方法のことです。サーバレスVPCアクセスコネクタを経由させることで、通信をすることが出来るようになります。
詳細に説明するよ
サーバレスVPCアクセスについて、詳細に説明をしていきます。サーバレスVPCアクセスを理解するために必要なことを一つ一つ解説していきますので、知っている場合は適宜読み飛ばしてください。
サーバレスとは
サーバレスとは、サーバーの構築やメンテナンスが必要のない、システムの実行環境のことです。主にクラウド事業者がサーバレスサービスを提供しています。
作成したアプリケーションをサーバレス環境に配置するだけでアプリケーションが稼働します。そのため、ユーザーはアプリケーションの開発のみに専念することが出来ます。サービスによってはコードを書くだけでアプリケーションを稼働させられます。
Google Cloudでは、App EngineやCloud Functions、Cloud Runなどのサーバレスサービスがあります。
サーバレスについてより理解を深めたい方は以下の記事を読んでみてください。
VPCネットワークとGoogleが管理するネットワーク
Google Cloudのネットワークには、VPCネットワークとGoogleが管理するネットワークが存在します。Google CloudのリソースはVPCネットワークかGoogleが管理するネットワークのどちらかに配置されています。
例えば、以下の図のように、自身で作成したCompute EngineやCloudSQLはVPCネットワーク内に配置され、App EngineやCloud Functions、Cloud RunなどのリソースはGoogleが管理するネットワークに配置されています。
サーバレスVPCアクセス
通常であれば、App EngineやCloud Functions、Cloud Run などのサーバレス環境からVPCネットワーク内のリソースにアクセスすることが出来ません。
サーバーレス VPC アクセスを使用すると、App EngineやCloud Functions、Cloud Run などのサーバレス環境からVPCネットワーク内のリソースにアクセスすることが出来るようになります。
以下の図のように、サーバレスVPCアクセスコネクタ(Serverless VPC Access connector)を作成し、コネクタを経由させることで、VPC内部のリソースにアクセスすることが出来ます。
サーバレスVPCアクセスコネクタはIPアドレスを指定して作成します。
VPC ネットワークに送信されたリクエストは、インターネットに公開されることはありません。
また、サーバーレスVPCアクセスを使用した通信では、インターネットを経由するに比べて早く通信をすることが出来ます。
逆に、VPC内部のネットワークからGoogleが管理するネットワークに内部IPアドレスのみで接続したい場合は、限定公開のGoogleアクセスを使います。以下の記事に分かりやすくまとめていますので読んでみてください。
まとめ
- サーバレスVPCアクセスとは、サーバレス環境からVPCネットワークに接続するための設定のこと
- サーバレスVPCアクセスコネクタを作成し、コネクタを経由して通信を行う
参考
本サイトでの注意事項
本サイトではなんとなく理解することを目的としているため正確性に欠ける表現があります。より正確な情報を詳しく知りたい場合は公式ドキュメントを参照ください。