SQSキューARN — メッセージキューの識別
Amazon SQSキューARNを解析し、キューの命名、FIFOキューARN、デッドレターキューの関係を理解します。ARNとキューURLの違いについても解説。
Messaging
詳細な説明
SQSキューARNとキューURL
SQSキューにはARNとURLの両方があり、それぞれいつ使用するかを理解することは正しいAWS設定に重要です。
ARNの例
arn:aws:sqs:us-east-1:123456789012:payment-processing
解析されたコンポーネント
| コンポーネント | 値 |
|---|---|
| Partition | aws |
| Service | sqs |
| Region | us-east-1 |
| Account ID | 123456789012 |
| Resource Type | (なし) |
| Resource ID | payment-processing |
ARNとキューURL
同じキューは2つの識別子で参照されます:
- ARN:
arn:aws:sqs:us-east-1:123456789012:payment-processing— IAMポリシー、SNSサブスクリプション、イベントソースマッピングで使用 - URL:
https://sqs.us-east-1.amazonaws.com/123456789012/payment-processing— SendMessage、ReceiveMessage、DeleteMessage API呼び出しで使用
ARNは権限と設定に使用され、URLはデータ操作に使用されます。
FIFOキュー
SNSと同様に、FIFOキューは.fifoを追加します:
arn:aws:sqs:us-east-1:123456789012:payment-processing.fifo
デッドレターキューの関係
デッドレターキュー(DLQ)を設定する場合、ソースキューのリドライブポリシーでDLQのARNを指定します。ARNレベルで見える関係はありません。リンケージはキュー設定で定義されます。
クロスアカウントアクセス
SQSキューポリシーは、S3バケットポリシーと同様に、キューARNを使用してクロスアカウントのSendMessageまたはReceiveMessage権限を付与します。
ユースケース
新しいメッセージのためにSQSキューをポーリングするLambdaイベントソースマッピングの設定。キューARNはイベントソースマッピング設定と、Lambda実行ロールにキューからの読み取り権限を付与するIAMポリシーの両方で必要です。