クロスアカウントラムダトリガを持つSQSキュー
8654 ワード
AWS SQSは、SQS待ち行列がつくられる同じアカウントに属していたAWS Lambda functionsトリガーに制限されました.最近の発表で、我々はtrigger Lambda functions from a different accountです.
AWSの新機能
@ awsWhatsnew
AWSラムダは、Amazonの単純なキューサービス(Amazon SQS)キューから別のAWSアカウントにある機能をトリガすることができます.はじめにaws.amazon.com/about-aws/what…
午後19時46分- 2021年9月30日
建築
クロスアカウントラムダトリガのアーキテクチャは、既存のラムダ関数を持つSQSキューを持つアカウント1と同じアカウントでトリガされます.現在、ラムタム関数arnでトリガ2としてアカウント2のラムダ関数を追加できます.
ラムダ関数トリガの設定
SQSコンソールに移動し、ラムダトリガの下でキューを選択し、設定ラムダ関数トリガをクリックします
オプション2を選択します.
SQSキューへのアクセスとアクセス
アカウント2トリガーラムダ関数の実行ロールはAWSマネージポリシー
ラムダ関数実行機能.
からのメッセージの送受信
コンソールから、あなたはメッセージを送るのをクリックして、メッセージボタンを受け取って、あなたのメッセージをタイプして、メッセージを送るのをクリックすることができます.
メッセージがSQSキューに送信されると、SQSメッセージレコードを使用して設定されたラムダ関数をトリガします.メッセージはCloudWatch実行ログで記録されます.
この実装はCLIでテストすることもできます.
tutorial
結論
最も古いサービスの1つであるSQSはラムダ関数トリガーとの統合を容易にしました、そして、現在、それはこれを実装するために働いている大部分の開発者のために統合プロセスを緩和したクロスアカウントラムダ関数でレベル調整されました.
AWSの新機能
@ awsWhatsnew
AWSラムダは、Amazonの単純なキューサービス(Amazon SQS)キューから別のAWSアカウントにある機能をトリガすることができます.はじめにaws.amazon.com/about-aws/what…
午後19時46分- 2021年9月30日
建築
クロスアカウントラムダトリガのアーキテクチャは、既存のラムダ関数を持つSQSキューを持つアカウント1と同じアカウントでトリガされます.現在、ラムタム関数arnでトリガ2としてアカウント2のラムダ関数を追加できます.
ラムダ関数トリガの設定
SQSコンソールに移動し、ラムダトリガの下でキューを選択し、設定ラムダ関数トリガをクリックします
オプション2を選択します.
SQSキューへのアクセスとアクセス
アカウント2トリガーラムダ関数の実行ロールはAWSマネージポリシー
AWSLambdaSQSQueueExecutionRole
でアカウント1でSQSアクセスを提供するように変更される必要がありますラムダ関数実行機能.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:ReceiveMessage",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}
キューアクセスポリシー{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__owner_statement",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account1:root"
},
"Action": "SQS:*",
"Resource": "arn:aws:sqs:us-east-1:account1:demo"
},
{
"Sid": "demo_cross_account",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account2:role/lambdaExecutionRole",
},
"Action": "SQS:*",
"Resource": "arn:aws:sqs:us-east-1:account1:demo"
}
]
}
ただし、AWSLambdaSQSQueueExecutionRole
と24579142との間では、Crossアカウントのアクセス権は"Action": "SQS:*"
、"Effect": "Allow"
、AddPermission
、CreateQueue
、DeleteQueue
、ListQueue
、ListQueueTags
、RemovePermission
、SetQueueAttributes
sqsアクションにアクセスできません.クロスアカウントラムダトリガの唯一の制約は、両方のSQSとラムダ関数は、同じAWS領域にある必要があります.からのメッセージの送受信
コンソールから、あなたはメッセージを送るのをクリックして、メッセージボタンを受け取って、あなたのメッセージをタイプして、メッセージを送るのをクリックすることができます.
メッセージがSQSキューに送信されると、SQSメッセージレコードを使用して設定されたラムダ関数をトリガします.メッセージはCloudWatch実行ログで記録されます.
この実装はCLIでテストすることもできます.
tutorial
結論
最も古いサービスの1つであるSQSはラムダ関数トリガーとの統合を容易にしました、そして、現在、それはこれを実装するために働いている大部分の開発者のために統合プロセスを緩和したクロスアカウントラムダ関数でレベル調整されました.
Reference
この問題について(クロスアカウントラムダトリガを持つSQSキュー), 我々は、より多くの情報をここで見つけました https://dev.to/aws-builders/sqs-queue-with-across-account-lambda-triggers-4jobテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol