AWS Systems Manager を使用して Amazon VPC にある AWS Lambda 関数のインターネットアクセスの問題をトラブルシューティングするにはどうすればよいですか?

最終更新日: 2021 年 8 月 3 日

Amazon Virtual Private Cloud (Amazon VPC) にある AWS Lambda 関数にインターネットアクセス許可を付与しました。現在、この関数はインターネットにアクセスできなくなったり、タイムアウトしたりし続けています。この問題をトラブルシューティングする方法を教えてください。

簡単な説明

次のリソースを確認し、Lambda 関数へのアウトバウンドインターネットアクセスを許可していることを確認します。

これらのリソースのいずれかが Lambda 関数へのインターネットアクセス権限を付与しない場合は、関数にインターネットアクセス権限を付与するようにリソースを再構成します。

これらのリソースを手動で確認するには、「Amazon VPC に接続されている Lambda 関数にインターネットアクセス権限を付与するにはどうすればよいですか?」の手順に従います。 トラブルシューティングプロセスを自動化には、AWSSupport-TroubleshootLambdaInternetAccess AWS Systems Manager のランブックを使用できます。

解決方法

注: 次のトラブルシューティング手順は、AWSSupport-TroubleshootLambdaInternetAccess ランブックの使用方法を示しています。

1.    AWS Systems Manager コンソールを開きます。

2.    左側のナビゲーションペインの [変更管理] で、[オートメーション] を選択します。

3.    [オートメーションの実行] を選択します。

4.    [Amazon が所有する] タブの [オートメーションドキュメント] 検索ボックスに、「AWSSupport-TroubleshootLambdaInternetAccess」と入力します。次に、検索アイコンを選択するか、キーボードの Enter キーを押します。

5.    AWSSupport-TroubleshootLambdaInternetAccess カードの右上にあるアイコンを選択します。オートメーションの名前ではなく、カードの右上にあるアイコンを選択してください。

6.    [次へ] を選択します。

7.    (オプション) [入力パラメータ] セクションの [AutomationAssumeRole] に、Systems Manager のオートメーションによるアクションの実行を許可するロールの Amazon リソースネーム (ARN) を入力します。IAM ロールが指定されていない場合、Systems Manager Automation はドキュメントを実行する IAM ユーザーロールのアクセス許可を使用します。Systems Manager Automation の引き受けロールの作成の詳細については、「Automation のサービスロールを作成する」を参照してください。

重要: AutomationAssumeRole またはユーザーロールには、次のアクションに対する許可が必要です。
lambda:GetFunction
ec2:DescribeRouteTables
ec2:DescribeNatGateways
ec2:DescribeSecurityGroups
ec2:DescribeNetworkAcls

8.    [FunctionName] に、接続性を検証する必要がある関数の名前を入力します。

9.    [destinationIp] に、アウトバウンドインターネットアクセスを開始する宛先 IP アドレスを入力します。

10.    [destinationPort] に、アウトバウンドインターネットアクセスを開始する宛先ポートを入力します。

11.    [実行] を選択します。

ランブックの出力には、Lambda 関数のインターネット接続が失われる可能性がある各リソースのステータスが表示されます。出力には、「分析」メッセージとして問題を解決する方法に関するレコメンデーションも表示されます。

注: AWS System Manager のオートメーションランブックの詳細については、「Runbook の操作」を参照してください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?