Lambda 用のサービスリンクロールの使用
Lambda は AWS Identity and Access Management (IAM) のサービスリンクロールを使用します。サービスリンクロールは Lambda に直接リンクされた一意のタイプの IAM ロールです。サービスリンクロールは、Lambda による事前定義済みのロールであり、ユーザーに代わってサービスから他の AWS サービスを呼び出すために必要なアクセス許可を備えています。
Lambda は、サービスリンクロールのアクセス許可を定義し、Lambda のみがそのロールを引き受けることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。
サービスリンクロールを削除するには、最初に関連リソースを削除する必要があります。これにより、リソースへの意図しないアクセスによる許可の削除が防止され、Lambda リソースが保護されます。
サービスにリンクされたロールをサポートする他のサービスについては、「IAM と連動する AWS のサービス」を参照し、[サービスにリンクされたロール] 列内で [はい] と表記されたサービスを確認してください。サービスリンクロールに関するドキュメントをサービスで表示するには、リンクで [はい] を選択します。
Lambda 用のサービスリンクロールのアクセス許可
Lambda は [AWSServiceRoleForLambda] という名前のサービスリンクロールを使用します。 サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
-
lambda.amazonaws.com
AWSLambdaServiceRolePolicy という名前のロールアクセス許可ポリシーを使用すると、Lambda は指定されたリソースに対して次のアクションを完了できます。
-
アクション:
ec2:ManagedResourceOperatorがscaler.lambda.amazonaws.comと等しい条件のarn:aws:ec2:*:*:instance/*でec2:TerminateInstances -
アクション:
ec2:DescribeInstanceStatusに対するec2:DescribeInstancesと*。
ユーザー、グループ、またはロールにサービスリンクロールの作成、編集、または削除を許可するには、アクセス許可を設定する必要があります。詳細についてはIAM ユーザーガイド の「サービスにリンクされた役割のアクセス許可」を参照してください。
管理ポリシーの更新については、「Lambda managed policies」を参照してください。
Lambda 用のサービスリンクロールの作成
サービスリンクロールを手動で作成する必要はありません。AWS マネジメントコンソール、AWS CLI、または AWS API で Lambda キャパシティープロバイダーを作成すると、Lambda によってサービスリンクロールが作成されます。
このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。Lambda キャパシティープロバイダーを作成すると、Lambda によってサービスリンクロールが再度作成されます。
AWSServiceRoleForLambda ユースケースでサービスリンクロールを作成するのにも、IAM コンソールを使用できます。AWS CLI または AWS API では、lambda.amazonaws.com サービス名を使用してサービスリンクロールを作成します。詳細については、IAM ユーザーガイドの「サービスリンクロールの作成」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。
Lambda 用のサービスリンクロールの編集
Lambda では、AWSServiceRoleForLambda のサービスリンクロールを編集することはできません。サービスリンクロールの作成後は、さまざまなエンティティがロールを参照する可能性があるため、ロール名を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの編集」を参照してください。
Lambda 用のサービスリンクロールの削除
サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。
注記
リソースを削除する際に、Lambda のサービスでロールが使用されていると、削除に失敗することがあります。失敗した場合は数分待ってから操作を再試行してください。
AWSServiceRoleForLambda が使用する Lambda リソースを削除するには
-
アカウントからすべての Lambda キャパシティープロバイダーを削除します。これは、Lambda のコンソール、CLI または API を使用すれば可能です。
-
サービスリンクロールを削除する前に、アカウントに Lambda キャパシティプロバイダーが残っていないことを確認します。
サービスリンクロールを IAM で手動削除するには
IAM コンソール、AWS CLI、または AWS API を使用して、AWSServiceRoleForLambda のサービスリンクロールを削除します。詳細については、「IAM ユーザーガイド」の「サービスにリンクされたロールの削除」を参照してください。
Lambda のサービスリンクロールをサポートするリージョン
Lambda はサービスが利用可能なすべてのリージョンでサービスリンクロールの使用がサポートされているとは限りません。AWSServiceRoleForLambda は次の AWS リージョンでサポートされています。
| リージョン名 | リージョン識別子 | Lambda でのサポート |
|---|---|---|
| 米国東部 (バージニア北部) | us-east-1 | はい |
| 米国東部 (オハイオ) | us-east-2 | はい |
| 米国西部 (北カリフォルニア) | us-west-1 | はい |
| 米国西部 (オレゴン) | us-west-2 | はい |
| アフリカ (ケープタウン) | af-south-1 | いいえ |
| アジアパシフィック (香港) | ap-east-1 | はい |
| アジアパシフィック (ジャカルタ) | ap-southeast-3 | はい |
| アジアパシフィック (バンコク) | ap-southeast-7 | はい |
| アジアパシフィック (ムンバイ) | ap-south-1 | はい |
| アジアパシフィック (大阪) | ap-northeast-3 | いいえ |
| アジアパシフィック (ソウル) | ap-northeast-2 | 不可 |
| アジアパシフィック (シンガポール) | ap-southeast-1 | はい |
| アジアパシフィック (シドニー) | ap-southeast-2 | はい |
| アジアパシフィック (東京) | ap-northeast-1 | はい |
| カナダ (中部) | ca-central-1 | 不可 |
| 欧州 (フランクフルト) | eu-central-1 | はい |
| 欧州 (アイルランド) | eu-west-1 | はい |
| 欧州 (ロンドン) | eu-west-2 | はい |
| 欧州 (ミラノ) | eu-south-1 | いいえ |
| 欧州 (パリ) | eu-west-3 | 不可 |
| 欧州 (ストックホルム) | eu-north-1 | 不可 |
| 中東 (バーレーン) | me-south-1 | 不可 |
| 中東 (アラブ首長国連邦) | me-central-1 | 不可 |
| 南米 (サンパウロ) | sa-east-1 | 不可 |
| AWS GovCloud (米国東部) | us-gov-east-1 | いいえ |
| AWS GovCloud (米国西部) | us-gov-west-1 | いいえ |