

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

# aws-sns-sqs
<a name="aws-sns-sqs"></a>

![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/experimental.png)


 すべてのクラスは積極的に開発されており、将来のバージョンでは下位互換性がない変更または削除の対象となります。これらは、[セマンティックバージョン管理](https://semver.org/)モデル。つまり、これらのパッケージを使用するかもしれませんが、このパッケージの新しいバージョンにアップグレードするときにソースコードを更新する必要があるかもしれません。

**注意:** 正しく機能するためには、プロジェクト内の AWS ソリューション構築パッケージと AWS CDK パッケージが同じバージョンである必要があります。


|  **言語**  |  **パッケージ**  | 
| --- | --- | 
|  ![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/python.png) Python  |  aws\_solutions\_constructs.aws\_sns\_sqs  | 
|  ![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-sns-sqs  | 
|  ![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.snssqs  | 

## Overview
<a name="overview-28"></a>

 この AWS ソリューション構築は、Amazon SQS キューに接続された Amazon SNS トピックを実装します。

 TypeScript の最小限のデプロイ可能なパターン定義は次のとおりです。

```
import { SnsToSqs, SnsToSqsProps } from "@aws-solutions-constructs/aws-sns-sqs";
import * as iam from '@aws-cdk/aws-iam';

const snsToSqsStack = new SnsToSqs(this, 'SnsToSqsPattern', {});

// Grant yourself permissions to use the Customer Managed KMS Key
const policyStatement = new iam.PolicyStatement({
    actions: ["kms:Encrypt", "kms:Decrypt"],
    effect: iam.Effect.ALLOW,
    principals: [ new iam.AccountRootPrincipal() ],
    resources: [ "*" ]
});

snsToSqsStack.encryptionKey?.addToResourcePolicy(policyStatement);
```

## Initializer
<a name="initializer-28"></a>

```
new SnsToSqs(scope: Construct, id: string, props: SnsToSqsProps);
```

 *パラメータ* 
+  scope[`Construct`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`SnsToSqsProps`](#pattern-construct-props-28) 

## パターン構成プロパティ
<a name="pattern-construct-props-28"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  ExistingTopicobj？  |  [`sns.Topic`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  SNS トピックオブジェクトの既存のインスタンス。これとtopicPropsはエラーを発生させます。 | 
|  TopicProps？  |  [`sns.TopicProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  SNS トピックのデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。の場合は無視されます。existingTopicObjが提供される。 | 
|  ExistingQueueObj？  |  [`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  デフォルトキューの代わりに使用されるオプションの既存の SQS キュー。これとqueuePropsはエラーを発生させます。 | 
|  キュープロップ  |  [`sqs.QueueProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  SQS キューのデフォルトプロパティーを上書きするオプションのユーザー指定のプロパティーです。の場合は無視されます。existingQueueObjが提供される。 | 
|  DeployDeadleterQueue  |  boolean  |  デッドレターキューとして使用するセカンダリキューを作成するかどうか。デフォルトは true です。 | 
|  DeadletterQueueProps？  |  [`sqs.QueueProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  デッドレターキューのデフォルト小道具を上書きするオプションのユーザ提供の小道具です。場合にのみ使用されます。deployDeadLetterQueueプロパティが true に設定されています。 | 
|  maxReceiveCount? |  number  |  デッドレターキューに移動する前に、メッセージがデキューに失敗した回数。デフォルトは 15 です。 | 
|  顧客管理キーによる暗号化の有効化  |  boolean  |  カスタマー管理型の暗号化キーを使用するかどうか。このCDKアプリによって管理されるか、インポートされます。暗号化キーをインポートする場合、暗号化キーをencryptionKeyプロパティです。 | 
|  encryptionKey  |  [`kms.Key`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  デフォルトの暗号化キーの代わりに使用する、オプションの既存の暗号化キー。 | 
|  EncryptionKeyProps？  |  [`kms.KeyProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  オプションのユーザー指定のプロパティで、暗号化キーのデフォルトプロパティを上書きします。 | 

## パターンプロパティ
<a name="pattern-properties-28"></a>


|  **名前**  |  **タイプ**  |  **説明**  | 
| --- | --- | --- | 
|  snsTopic  |  [`sns.Topic`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  パターンによって作成された SNS トピックのインスタンスを返します。 | 
|  encryptionKey  |  [`kms.Key`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  パターンによって作成された暗号化キーのインスタンスを返します。 | 
|  SQUEUE  |  [`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成された SQS キューのインスタンスを返します。 | 
|  DeadLetterQueue  |  [`sqs.Queue`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  パターンによって作成されたデッドレターキューのインスタンスを返します（デプロイされている場合）。 | 

## デフォルト設定
<a name="default-settings-28"></a>

 オーバーライドなしでこのパターンをすぐに実装すると、次のデフォルトが設定されます。

### Amazon SNS トピック
<a name="amazon-sns-topic-28"></a>
+  SNS トピックの最小権限アクセス権限を設定します。
+  AWS マネージド KMS キーを使用してサーバー側の暗号化を有効にします。
+  転送時のデータの暗号化を強制する。

### Amazon SQS キュー
<a name="aws-lambda-function-28"></a>
+  SQS キューの最小権限アクセス権限を設定します。
+  ソース SQS キューのデッドレターキューをデプロイする。
+  カスタマー管理の KMS キーを使用して、SQS キューのサーバー側の暗号化を可能にします。
+  転送時のデータの暗号化を強制する。

## Architecture
<a name="architecture-28"></a>

![](https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/aws-sns-sqs.png)


## GitHub
<a name="github-28"></a>


<table>
<thead>
  <tr><th colspan="2"> <b>このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。</b> </th></tr>
</thead>
<tbody>
  <tr><td> <img src="https://docs.aws.amazon.com/ja_jp/solutions/latest/constructs/images/GitHub-Mark-32px.png" alt="" /> </td><td> <a href="https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-sns-sqs">@aws-ソリューション-構築/aws-sns-sqs</a> </td></tr>
</tbody>
</table>
