Amazon Simple Notification Service
開発者ガイド

Amazon SNS 用の Amazon VPC エンドポイントの作成

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

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

エンドポイントの作成

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

Amazon VPC コンソールまたは AWS CLI を使用してエンドポイントを作成および設定する方法については、Amazon VPC ユーザーガイド の「インターフェイスエンドポイントの作成」を参照してください。

注記

エンドポイントを作成するとき、VPC の接続先のサービスとして Amazon SNS を指定します。Amazon VPC コンソールで、このサービス名は選択したリージョンによって異なります。たとえば、米国東部(バージニア北部) を選択した場合、サービス名は com.amazonaws.us-east-1.sns です。

AWS CloudFormation を使用してエンドポイントを作成および設定する方法については、AWS CloudFormation ユーザーガイド の「AWS::EC2::VPCEndpoint」リソースを参照してください。

VPC と Amazon SNS との間の接続のテスト

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

  1. VPC にある Amazon EC2 インスタンスに接続します。接続の詳細については、Amazon EC2 のドキュメントの「Linux インスタンスへの接続」または「Windows インスタンスへの接続」を参照してください。

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

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

    ここでは次のとおりです。

    • ec2-key-pair.pem は、インスタンスの作成時に Amazon EC2 から提供されたキーペアを含むファイルです。

    • instance-hostname は、インスタンスのパブリックホスト名です。Amazon EC2 コンソールでホスト名を取得するには: [Instances (インスタンス)] を選択してから、インスタンスを選択して、[パブリック DNS (IPv4)] の値を見つけます。

  2. インスタンスから、AWS CLI で Amazon SNS publish コマンドを使用します。以下のコマンドを使用して、シンプルなメッセージをトピックに送信できます。

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

    ここでは次のとおりです。

    • aws-region は、トピックがある AWS リージョンです。

    • sns-topic-arn は、トピックの Amazon リソースネーム (ARN) です。Amazon SNS コンソールから ARN を取得するには: [トピック] を選択し、トピックを検索して、[ARN] 列でその値を見つけます。

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

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