

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

# Amazon SNS 用の Amazon VPC エンドポイントの作成
<a name="sns-vpc-create-endpoint"></a>

Amazon VPC から Amazon SNS トピックにメッセージを発行するには、インターフェイス VPC エンドポイントを作成します。次に、VPC で管理するネットワーク内でトラフィックを維持しながら、トピックにメッセージを発行できます。

次の情報を使用してエンドポイントを作成し、VPC と Amazon SNS 間の接続をテストします。一から開始する作業に役立つチュートリアルについては、「[Amazon VPC から Amazon SNS メッセージを発行する](sns-vpc-tutorial.md)」を参照してください。

## エンドポイントの作成
<a name="sns-vpc-endpoint-create"></a>

VPC に Amazon SNS エンドポイントを作成するには、AWS マネジメントコンソール、AWS CLI、AWS SDK、Amazon SNS API、または AWS CloudFormation を使用します。

Amazon VPC コンソールまたは AWS CLI を使用して、エンドポイントを作成および設定する方法については、『*Amazon VPC ユーザーガイド*』の「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)」を参照してください。

**重要**  
Amazon Virtual Private Cloud は HTTPS Amazon SNS エンドポイントでのみ使用できます。  
エンドポイントを作成するとき、VPC の接続先のサービスとして Amazon SNS を指定します。Amazon VPC コンソールで、このサービス名は選択したリージョンによって異なります。例えば、米国東部 (バージニア北部) を選択した場合、サービス名は **com.amazonaws.us-east-1.states**になります。  
Amazon VPC からメッセージを送信するように Amazon SNS を設定する場合、プライベート DNS を有効にして、`sns.us-east-2.amazonaws.com` の形式でエンドポイントを指定する必要があります。  
プライベートDNS は、`queue.amazonaws.com`や`us-east-2.queue.amazonaws.com`などのレガシーエンドポイントをサポートしていません。

AWS CloudFormation を使用してエンドポイントを作成および設定する方法については、『*AWS CloudFormation ユーザーガイド*』の「[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) リソース」を参照してください。

## VPC と Amazon SNS との間の接続をテストする
<a name="sns-vpc-publish"></a>

Amazon SNS のエンドポイントを作成したら、VPC から Amazon SNS トピックにメッセージを発行できます。この接続をテストするには、以下の手順を実行します。

1. VPC にある Amazon EC2 インスタンスに接続します。接続の詳細については、Amazon EC2 ドキュメントの [Linux インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/DeveloperGuide/AccessingInstances.html)または [Windows インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html)を参照してください。

   例えば、SSH クライアントを使用して Linux インスタンスに接続するには、ターミナルから以下のコマンドを実行します。

   ```
   $ ssh -i ec2-key-pair.pem ec2-user@instance-hostname
   ```

   実行する条件は以下の通りです。
   + *ec2-key-pair.pem* は、インスタンスの作成時に Amazon EC2 から提供されたキーペアを含むファイルです。
   + *instance-hostname* は、インスタンスのパブリックホスト名です。[Amazon EC2 コンソール](https://console.aws.amazon.com/ec2)でホスト名を取得するには、**[インスタンス]** を選択してから、目的のインスタンスを選び、**[パブリック DNS]** の値を見つけます。

1. インスタンスから、AWS CLI で Amazon SNS [https://docs.aws.amazon.com/cli/latest/reference/sns/publish.html](https://docs.aws.amazon.com/cli/latest/reference/sns/publish.html) コマンドを使用します。以下のコマンドを使用して、シンプルなメッセージをトピックに送信できます。

   ```
   $ aws sns publish --region aws-region --topic-arn sns-topic-arn --message "Hello"
   ```

   コードの説明は以下のとおりです。
   + *aws-region* は、トピックがある AWS リージョンです。
   + *sns-topic-arn* は、トピックの Amazon リソースネーム (ARN) です。[Amazon SNS コンソール](https://console.aws.amazon.com/sns/home)から ARN を取得するには: [**トピック**] を選択し、自分のトピックを検索して、[**ARN**] カラムでその値を見つけます。

   メッセージが Amazon SNS によって正常に受信された場合、ターミナルには以下のようなメッセージ ID が表示されます。

   ```
   {
      "MessageId": "6c96dfff-0fdf-5b37-88d7-8cba910a8b64"
   }
   ```