このページでは、サーバーレス VPC アクセスや内部 IP アドレスの使用に関する質問など、App Engine の接続に関する一般的な質問と回答をご紹介します。
内部 IP アドレスを使用して、VPC から App Engine インスタンスへのインバウンド接続を設定する
Google のサーバーレス サービスから Virtual Private Cloud(VPC)ネットワークへの呼び出しを行うには、サーバーレス VPC アクセスが役立ちますが、内部 IP アドレスを使用して App Engine インスタンスにアクセスすることはできません。
外部 IP アドレスを割り当てずに内部 IP アドレスを使用して VPC ネットワークから App Engine に接続するには、次の手順で Google API とサービスにアクセスします。
- 限定公開の Google アクセスを設定します。App Engine サービスで、限定公開の Google アクセスに対応したサブネットを使用します。
- Private Service Connect エンドポイントを使用します。このエンドポイントが、限定公開の Google アクセスに対応したサブネットに接続されるようにします。
- Private Service Connect エンドポイントにトラフィックを送信します。このエンドポイントがサブネットに接続されるようにします。
外部 IP アドレスを持つ App Engine インスタンスは、要件なしで Private Service Connect エンドポイントにトラフィックを送信できます。
App Engine を Cloud SQL のプライベート IP アドレスに接続する
このシナリオは、App Engine スタンダード環境または App Engine フレキシブル環境のアプリから、プライベート IP アドレスを使用して Cloud SQL インスタンスに接続する必要がある場合が考えられるものです。
このシナリオでは、次のいずれかのオプションを使用して接続を作成します。
- App Engine スタンダード環境: サーバーレス VPC アクセス コネクタを使用して、内部 IP アドレスで Cloud SQL に接続します。詳細については、App Engine スタンダード環境から Cloud SQL への接続をご覧ください。
- App Engine フレキシブル環境: Cloud SQL インスタンスと同じ VPC ネットワークにフレキシブル環境のアプリをデプロイします。これにより、アプリが Cloud SQL インスタンスのプライベート IP アドレスを使用して直接接続できるようになります。詳細については、App Engine フレキシブル環境から Cloud SQL への接続をご覧ください。
パブリック IP アドレスを使用して Cloud SQL インスタンスをトラブルシューティングする
Unix ソケットを使用して Cloud SQL で従来の App Engine スタンダード環境アプリをデプロイすると、アプリが正しく Cloud SQL インスタンスに接続するように構成されている場合、いくつかのエラー メッセージが表示される可能性があります。
次の警告メッセージは、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 サポートにお問い合わせください。
App Engine サービス間のアクセス権限をカスタマイズする
このシナリオは、複数の App Engine サービスがあり、サービスごとに異なるアクセス権限を構成しようとする場合に考えられるものです(例: App Engine Service A へのアクセスを App Engine Service B からのみ有効にする場合)。
このシナリオでは、App Engine と Identity-Aware Proxy(IAP)を併用し、一部のサービスのみを一般公開して、その他のサービスは保護された状態のままにします。詳細については、IAP を使用した組織のウェブサイトへのアクセスの一元化に関する動画と IAP のドキュメントをご覧ください。