翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
デッドレターキューを設定します。
デッドレターキューのリドライブは既存のデッドレターキューからスタンダードの未使用メッセージをソースキューに戻すことが設定できます。デッドレターキューリドライブの詳細については、デッドレターキューからメッセージを移動するにはを参照してください。
既存のスタンダードキュー (API) にデッドレターキューリドライブを設定
次の API アクションを使用して、デッドレターキューリドライブを設定できます。
API アクション | 説明 |
---|---|
指定されたソースキューから指定された送信先キューにメッセージを移動する非同期タスクを開始します。 |
|
特定のソースキューにある最新のメッセージ移動タスク (最大 10 個) を取得します。 |
|
指定されたメッセージ移動タスクをキャンセルします。メッセージの移動は、現在のステータスが RUNNING の場合にのみキャンセルできます。 |
既存のスタンダードキュー (コンソール) にデッドレターキューリドライブを設定
Amazon SQSコンソールを開きます https://console.aws.amazon.com/sqs/
。 -
ナビゲーションペインで [Queues(キュー) ] を選択します。
-
デッドレターキューとして設定されたキューの名前を選択します。
-
DLQリドライブを開始するを選択する。
-
リドライブの設定に対してメッセージの送信先で、次のいずれかを実行します。
-
メッセージをソースキューに戻すには、ソースキューにリドライブを選択します。
-
メッセージを別のキューにリドライブするには、カスタム送信先にリドライブを選択します。次に、既存の宛先キューのAmazonリソースネーム(ARNを入力します。
注記
カスタムの送信先キューは、デッドレターキューのタイプと一致する必要があります。例えば、デッドレターキューが FIFO キューの場合、リドライブの送信先キューも FIFO キューでなければなりません。
-
-
Velocityコントロール設定で、次のいずれかを選択します。
-
システム最適化-デッドレターキューメッセージを1秒につき最大メッセージ数でリドライブします。
-
カスタム最大 velocity-1秒につきカスタム最大メッセージ数でデッドレターキューメッセージをリドライブします。許可される最大レートは1秒に500 メッセージです。
-
カスタム最大速度を小さい値から始めて、ソースキューがメッセージでいっぱいにならないことを確認することをお勧めします。そこから、ソースキューの状態を引き続き監視しながら、カスタム最大速度の値を徐々に上げていきます。
-
-
-
デッドレターキューリドライブの設定が完了したら、メッセージをリドライブするを選択します。
重要
Amazon SQSは、デッドレターキューからメッセージをリドライブするときにメッセージのフィルタリングと変更をサポートしていません。
デッドレターキューのリドライブタスクは、最大36時間実行できます。Amazon SQS は、アカウントごとに最大 100 通のアクティブなリドライブタスクがサポートします。
リドライブタスクによって、保持期間がリセットされます。リドライブされたメッセージには新規の
messageID
そしてenqueueTime
が割り当てられます。 -
メッセージリドライブタスクをキャンセルする場合は、の詳細キューのページで、DLQリドライブをキャンセルします。進行中のメッセージのリドライブをキャンセルすると、移動先キューにすでに正常に移動されたメッセージは、移動先キューに残ります。
デッドレターキューリドライブのキューアクセス許可を設定
ポリシーにアクセス許可を追加することで、ユーザーに特定のデッドレターキューアクションへのアクセスを許可できます。デッドレターキューリドライブに最低限必要なアクセス許可は次のとおりです。
最小限必要なアクセス権限 | 必要な API メソッド |
---|---|
メッセージのリドライブを開始するには |
|
進行中のメッセージのリドライブをキャンセルするには |
|
メッセージの移動状況を表示するには |
|
暗号化されたキューペア (デッドレターキューのあるソースキュー) のアクセス許可を設定するには
次の手順を使用して、デッドレターキューリドライブの最小限のアクセス許可を設定します。
-
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、[ポリシー] を選択します。
-
次のアクセス許可を持つポリシーを作成して、ログイン IAM ユーザーまたはロールにアタッチします。
-
sqs:StartMessageMoveTask
-
sqs:CancelMessageMoveTask
-
sqs:ListMessageMoveTasks
-
sqs:ListDeadLetterSourceQueues
-
sqs:ReceiveMessage
-
sqs:DeleteMessage
-
sqs:GetQueueAttributes
-
デッドレターキューの
Resource
ARN (例えば、"arn:aws:sqs:<DLQ_region>
:<DLQ_accountId>
:<DLQ_name>
")。 -
sqs:SendMessage
-
送信先キューの
Resource
ARN (例えば、「arn:aws:sqs:<DestQueue_region>:<DestQueue_accountId >:<DestQueue_name>
」)。 -
kms:Decrypt
— 復号アクションを許可します。 -
kms:GenerateDataKey
-
元のソースキュー内のメッセージの暗号化に使用された任意の KMS 暗号化キーの
Resource
ARN (例えば、"arn:aws:kms:<region>
:<accountId>
:key/<keyId_used to encrypt the message body>
")。 -
リドライブ送信先キューに使用される KMS 暗号化キーのリソース ARN (例えば、"arn:aws:kms:
<region>
:<accountId>
:key/<keyId_used for the destination queue>
")。
アクセスポリシーは以下のようになります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:StartMessageMoveTask", "sqs:CancelMessageMoveTask", "sqs:ListMessageMoveTasks", "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:GetQueueAttributes" ], "Resource": "arn:aws:sqs:<DLQ_region>:<DLQ_accountId>:<DLQ_name>" }, { "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:<DestQueue_region>:<DestQueue_accountId>:<DestQueue_name>" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:<region>:<accountId>:key/<keyId>" } ] }
-
暗号化されていないキューペア (デッドレターキューのあるソースキュー) を使用してアクセス許可を設定するには
次の手順を使用して、暗号化されていない標準的なデッドレターキューの最小限のアクセス許可を設定します。最低限必要なアクセス許可は、デッドレターキューからの属性の受信、削除、取得、およびソースキューへの属性の送信です。
-
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、[ポリシー] を選択します。
-
次のアクセス許可を持つポリシーを作成して、ログイン IAM ユーザーまたはロールにアタッチします。
-
sqs:StartMessageMoveTask
-
sqs:CancelMessageMoveTask
-
sqs:ListMessageMoveTasks
-
sqs:ReceiveMessage
-
sqs:DeleteMessage
-
sqs:GetQueueAttributes
-
デッドレターキューの
Resource
ARN (例えば、"arn:aws:sqs:<DLQ_region>
:<DLQ_accountId>
:<DLQ_name>
")。 -
sqs:SendMessage
-
送信先キューの
Resource
ARN (例えば、「arn:aws:sqs:<DestQueue_region>
:<DestQueue_accountId >
:<DestQueue_name>
」)。
アクセスポリシーは以下のようになります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:StartMessageMoveTask", "sqs:CancelMessageMoveTask", "sqs:ListMessageMoveTasks", "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:GetQueueAttributes" ], "Resource": "arn:aws:sqs:<DLQ_region>:<DLQ_accountId>:<DLQ_name>" }, { "Effect": "Allow", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:<DestQueue_region>:<DestQueue_accountId>:<DestQueue_name>" } ] }
-