すべてのプロダクト
Search
ドキュメントセンター

Function Compute:データベースアクセス障害の一般的な原因

最終更新日:Apr 02, 2026

Function Compute の関数がデータベースにアクセスする際に発生する障害には、断続的に発生するものと、すべての試行で発生するものの 2 つの明確なパターンがあります。このガイドでは、最も一般的な原因と、それぞれの解決方法について説明します。

断続的な接続障害

データベース接続が断続的に失敗する場合は、以下のチェックを順番に実行してください。

1. 接続を閉じるには、`end()` の代わりに `destroy()` を使用します。

Function Compute インスタンス は、2 ~ 5 分間アクティビティがないと自動的にリサイクルされます。end() メソッド は、接続を閉じる前に MySQL サーバー がクエリ結果を認識するのを待機するため、接続が不整合な状態になり、次の呼び出しが タイムアウト する可能性があります。destroy() を呼び出して、接続を直ちに強制終了してください。

2. Virtual Private Cloud (VPC) 経由でデータベースにアクセスする場合は、セキュリティグループ を IP アドレスホワイトリスト に置き換えます。

データベース側 の セキュリティグループ は、Function Compute からアクセスすると接続を不安定にする可能性があります。代わりに IP アドレスホワイトリスト を使用して、トラフィック を確実に許可してください。

3. 障害 が続く場合は、「[データベース接続が常に失敗する](#database-connection-constantly-fails)」の手順に従ってください。

データベース接続が常に失敗する

すべての接続試行が失敗する場合は、以下の手順を順番に実行してください。

  1. データベース の 接続 レコード で、障害 が発生した タイムウィンドウ を確認します。

    • Function Compute からの 接続 リクエスト が見つからない場合 → ステップ 2 に進みます。

    • Function Compute からの 接続 リクエスト が存在する場合 → ステップ 4 に進みます。

  2. ユーザー名 と パスワード を確認します。

    • 認証情報 が正しい場合 → ステップ 3 に進みます。

    • 認証情報 が間違っている場合 → 修正して リトライ します。

  3. Function Compute インスタンス から telnet を使用して ネットワーク接続 をテストします。以下の コマンド を実行し、<DB_HOST><DB_PORT> を ご利用の データベースエンドポイント と ポート に置き換えます。

    telnet <DB_HOST> <DB_PORT>
  4. 接続処理の バグ について、ご利用の 機能コード の ロジック を確認します。

    Function Compute は、直接使用できる サンプルコード を提供しています。詳細については、「サンプルコード」をご参照ください。

すべての手順を完了しても 問題 が解決しない場合は、DingTalk ユーザーグループ 11721331 に参加して テクニカルサポート を受けてください。

ネットワークの問題のトラブルシューティング

VPC アクセス

  • データベースインスタンス と 関数 が 同じ リージョン にあることを確認します。

  • AccessDenied エラー (エラーコード 403) が表示される場合は、ご利用の 関数 に elastic network interface (ENI) に対する必要な 権限 があるかどうかを確認します。

  • InvalidArgument」エラー(エラーコード 400)が表示された場合は、[VPC][vSwitch]、および[セキュリティグループ]の構成が有効であることを確認します。

  • データベース で IP アドレスホワイトリスト を 設定 している場合は、VPC プライベート CIDR ブロック と vSwitch CIDR ブロック の両方を含めます。すべての IP アドレス からの トラフィック を許可するには、0.0.0.0/0 を追加します。

  • セキュリティグループ が、データベース の プライベート IP アドレス と ポート で アウトバウンドトラフィック を許可していることを確認します。

  • ResourceExhausted エラー (エラーコード 429) が表示される場合は、vSwitch の 使用可能な IP アドレス が不足しています。デフォルト の CIDR ブロック は プレフィックス 長が /24 で、252 個の 使用可能なアドレス を提供します。ご利用の 関数 がこの 制限 を超えて スケール する場合は、vSwitch CIDR ブロック を手動で拡張し、それに応じて セキュリティグループ を更新してください。

インターネットアクセス

  • ご利用の サービス の インターネットアクセス を有効にします。詳細については、「ネットワーク設定 の構成」をご参照ください。

  • データベース が 静的 IP アドレスホワイトリスト を使用している場合は、ご利用の 関数 に 固定パブリック IP アドレス を 設定 します。Function Compute は IP アドレス を 動的 に 割り当てる ため、静的 IP アドレス がないと、ご利用の 関数 は ホワイトリストチェック に合格できません。詳細については、「固定パブリック IP アドレス の構成」をご参照ください。

データベース側 の ネットワークの問題

問題 が データベース側 にあるかどうかを特定するには、別の サービス で同様の ネットワーク環境 を 設定 し、telnet テスト を実行します。

telnet <DB_HOST> <DB_PORT>

接続 が成功した場合、データベース側 の ネットワーク は正常です。