Amazon Virtual Private Cloud (Amazon VPC) にある AWS Lambda 関数へのインターネットアクセスを許可しました。これで、この関数はインターネットにアクセスできなくなるか、タイムアウトになります。
簡単な説明
次のリソースを参照して、Lambda 関数へのアウトバウンドインターネットアクセスが許可されていることを確認します:
前述のリソースのいずれかで Lambda 関数へのインターネットアクセスが許可されない場合は、関数にインターネットアクセスを許可するようにリソースを再構成します。
手動でリソースを確認するには、「Amazon VPC に接続されている Lambda 関数にインターネットアクセスを許可するにはどうすればよいですか?」を参照してください。トラブルシューティングのプロセスを自動化するには、AWS Systems Manager の AWSSupport-TroubleshootLambdaInternetAccess ランブックを使用できます。
解決策
AWSSupport-TroubleshootLambdaInternetAccess ランブックを使用するには、以下の手順を完了します。
- Systems Manager コンソールを開きます。
- 左側のナビゲーションペインで、[変更管理] から [オートメーション] を選択します。
- [オートメーションの実行] を選択します。
- 「Amazonが所有」タブを選択し、「AWS サポート-Lambda インターネットアクセスのトラブルシューティング」を検索します。
- AWS サポート - Lambda インターネットアクセスカードのアイコンを選択します。
**注:**オートメーションの名前は選択しないでください。
- [次へ] を選択します。
- (オプション) [入力パラメータ] セクションの [AutomationAssumeRole] に、Systems Manager Automation によるアクションの実行を許可するロールの ARN を入力します。IAM ロールを指定しない場合、Systems Manager Automation ではドキュメントを実行する IAM ユーザーのアクセス許可が使用されます。詳細については、「IAM を使用して、オートメーションのロールを設定する」を参照してください。
**重要:**AutomationAssumeRole またはユーザーのロールのいずれかに、次のアクションのアクセス許可が必要です:
GetFunction
DescribeRouteTables
DescribeNatGateways
DescribeSecurityGroups
DescribeNetworkAcls
- [関数名] に、関数の名前を入力します。
- destinationIp に、アウトバウンドインターネットアクセスを開始する宛先の IP アドレスを入力します。
- destinationPort に、アウトバウンドインターネットアクセスを開始する宛先ポートを入力します。
- **[実行]**を選択します。
ランブックの出力に、Lambda 関数のインターネット接続の切断の原因となっている可能性のある各リソースのステータスが表示されます。出力には、**「分析」**メッセージとして問題の解決方法に関する推奨事項も提供されます。
注: AWS System Manager のオートメーションランブックの詳細については、「独自のランブックの作成」を参照してください。