このページでは、サーバーレス VPC アクセスや内部 IP アドレスの使用に関連する手順など、App Engine でよく使用される接続戦略について説明します。
- VPC から App Engine インスタンスに接続する
- App Engine を Cloud SQL のプライベート IP アドレスに接続する
- App Engine サービス間のアクセス権限をカスタマイズする
- 共有 VPC ネットワークに App Engine アプリをデプロイする
VPC から App Engine インスタンスに接続する
Google のサーバーレス サービスから Virtual Private Cloud(VPC)ネットワークへの呼び出しを行うには、サーバーレス VPC アクセスが役立ちますが、内部 IP アドレスを使用して App Engine インスタンスにアクセスすることはできません。
外部 IP アドレスを割り当てずに内部 IP アドレスを使用して VPC ネットワークから App Engine に接続するには、次の操作を行います。
- 限定公開の Google アクセスを設定します。App Engine サービスで、限定公開の Google アクセス対応のサブネットが使用されていることを確認します。
- Private Service Connect エンドポイントを使用します。エンドポイントが限定公開の Google アクセス対応のサブネットに接続されていることを確認します。
- Private Service Connect エンドポイントにトラフィックを送信します。エンドポイントがサブネットに接続されていることを確認します。
外部 IP アドレスを持つ App Engine インスタンスは、要件なしで Private Service Connect エンドポイントにトラフィックを送信できます。
App Engine サービス間のアクセス権限をカスタマイズする
複数の App Engine サービスがあり、サービスごとに異なるアクセス権限を構成する場合(例: App Engine Service A へのアクセスを App Engine Service B からのみ有効にする場合)は、App Engine と Identity-Aware Proxy(IAP)を併用できます。
詳細については、ウェブサイトとアプリへのアクセスを制御すると IAP のドキュメントをご覧ください。
App Engine を Cloud SQL のプライベート IP アドレスに接続する
プライベート IP アドレス経由で App Engine アプリを Cloud SQL インスタンスに接続するには、次のいずれかのオプションを使用します。
- App Engine スタンダード環境: サーバーレス VPC アクセス コネクタを使用して、内部 IP アドレスで Cloud SQL に接続します。詳細については、App Engine スタンダード環境から Cloud SQL への接続をご覧ください。
- App Engine フレキシブル環境: Cloud SQL インスタンスと同じ VPC ネットワークにフレキシブル環境のアプリをデプロイします。これにより、アプリが Cloud SQL インスタンスのプライベート IP アドレスを使用して直接接続できるようになります。詳細については、App Engine フレキシブル環境から Cloud SQL への接続をご覧ください。
App Engine アプリを Cloud SQL に接続する際の問題のトラブルシューティング
Unix ソケットを使用して Cloud SQL で従来の App Engine スタンダード環境アプリをデプロイすると、アプリが正しく Cloud SQL インスタンスに接続するように構成されていない場合、いくつかのエラー メッセージが表示される可能性があります。アプリを構成する詳しい手順については、App Engine スタンダード環境から接続するをご覧ください。
次の警告メッセージは、App Engine が以前の接続方法にフォールバックして操作を正常に完了できたことを示しています。
CloudSQL warning: your action is needed to update your application and avoid potential disruptions. Please see https://cloud.google.com/sql/docs/mysql/connect-app-engine-standard for additional details: ...
次のエラー メッセージは、Cloud SQL への接続操作が正常に完了しなかったことを示しています。
Cloud SQL connection failed. Please see https://cloud.google.com/sql/docs/mysql/connect-app-engine-standard for additional details: ...
どちらのエラー メッセージに対しても、以下を確認して、Cloud SQL Auth Proxy が Cloud SQL インスタンスに接続できるように正しく構成されていることを確認します。
- Cloud SQL Admin API が有効になっている必要があります。
- App Engine アプリのサービス アカウントには適切な権限が必要です。
- インスタンス接続名にはリージョンを含める必要があります。
トラブルシューティングを行ってもエラー メッセージが表示される場合は、Google Cloud サポートにお問い合わせください。