

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SQS コンソールを使用した Amazon SNS トピックへのキューのサブスクライブ
<a name="sqs-configure-subscribe-queue-sns-topic"></a>

Amazon SQS キューを Amazon SNS トピックに 1 つまたは複数サブスクライブできます。メッセージがトピックに発行されると、Amazon SNS はサブスクライブされた各キューにメッセージを送信します。Amazon SQS はサブスクリプションを管理し、必要なアクセス許可を処理します。Amazon SNS の詳細については、*Amazon Simple Notification Service デベロッパーガイド*の、「[Amazon SNS とは](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)」を参照してください。

Amazon SQS キューを Amazon SNS トピックにサブスクライブすると、Amazon SNS は HTTPS を使用してメッセージを Amazon SQS に転送します。暗号化された Amazon SQSキューでの Amazon SNS の使用については、「[AWS サービスの KMS アクセス許可を設定する](sqs-key-management.md#compatibility-with-aws-services)」を参照してください。

**重要**  
Amazon SQS は、各アクセスポリシーに対して最大 20 個のステートメントをサポートしています。Amazon SNS トピックにサブスクライブすると、このようなステートメントが 1 つ追加されます。この数を超えると、トピックサブスクリプションの配信が失敗します。

**キューを Amazon SNS にトピックにサブスクライブするには（コンソール）**

1. Amazon SQSコンソール ([https://console.aws.amazon.com/sqs/](https://console.aws.amazon.com/sqs/)) を開きます。

1. ナビゲーションペインで **[キュー]** を選択します。

1. キューのリストからキューを選択して、Amazon SNS トピックを購読します。

1. **[Actions]**(アクション) メニューで、**[Subscribe to Amazon SNS topic]**(Amazon SNS トピックを購読する) を選択します。

1. **[このキューメニューで使用できる Amazon SNS トピックを指定する]** で、キューの [Amazon SNS トピック] を選択します。

   SNS トピックが表示されていない場合は、**Amazon SNS トピック ARN と入力し**、次に、トピックの Amazon リソースネーム (ARN) を入力します。

1. **[保存]** を選択します。

1. サブスクリプションを確認するには、トピックにメッセージを発行し、キューにメッセージを表示します。詳細については、「*Amazon Simple Notification Service デベロッパーガイド*」の「[Amazon SNS メッセージの公開](https://docs.aws.amazon.com/sns/latest/dg/sns-publishing.html)」を参照してください。

## クロスアカウントサブスクリプション
<a name="cross-account-subscriptions"></a>

Amazon SQS キューと Amazon SNS トピックが異なる場合は AWS アカウント、追加のアクセス許可が必要です。

**トピック所有者 (アカウント A)**

Amazon SNS トピックのアクセスポリシーを変更して、Amazon SQS キューの が AWS アカウント サブスクライブできるようにします。ポリシーステートメントの例:

```
{
  "Effect": "Allow",
  "Principal": { "AWS": "arn:aws:iam::111122223333:root" },
  "Action": "sns:Subscribe",
  "Resource": "arn:aws:sns:us-east-1:123456789012:MyTopic"
}
```

このポリシーにより、アカウント `111122223333` は `MyTopic` にサブスクライブできます。

**キュー所有者 (アカウント B)**

Amazon SQS キューのアクセスポリシーを変更して Amazon SNS トピックがメッセージを送信できるようにします。ポリシーステートメントの例:

```
{
  "Effect": "Allow",
  "Principal": { "Service": "sns.amazonaws.com" },
  "Action": "sqs:SendMessage",
  "Resource": "arn:aws:sqs:us-east-1:111122223333:MyQueue",
  "Condition": {
    "ArnEquals": { "aws:SourceArn": "arn:aws:sns:us-east-1:123456789012:MyTopic" }
  }
}
```

このポリシーにより、`MyTopic` は `MyQueue` にメッセージを送信できます。

## クロスリージョンサブスクリプション
<a name="cross-region-subscriptions"></a>

別の で Amazon SNS トピックをサブスクライブするには AWS リージョン、以下を確認してください。
+ Amazon SNS トピックのアクセスポリシーは、クロスリージョンサブスクリプションを許可します。
+ Amazon SQS キューのアクセスポリシーは、Amazon SNS トピックがリージョン間でメッセージを送信することを許可します。

詳細については、[「Amazon Simple Notification Service デベロッパーガイド」の「別のリージョンの Amazon SQS キューまたは関数に Amazon SNS メッセージを送信 Amazon SQS AWS Lambda](https://docs.aws.amazon.com/sns/latest/dg/sns-cross-region-delivery.html)する」を参照してください。 **