Amazon Simple Notification Service
개발자 안내서

Amazon SNS에 대한 Amazon VPC 엔드 포인트 생성

Amazon VPC에서 Amazon SNS 주제에 메시지를 게시하려면 인터페이스 VPC 엔드포인트를 생성해야 합니다. 그런 다음 VPC로 관리하는 네트워크 안에 트래픽을 유지하면서 메시지를 해당 주제에 게시할 수 있습니다.

다음 정보를 사용하여 엔드포인트를 생성하고 VPC와 Amazon SNS 간 연결을 테스트합니다. 또는 처음부터 새로 시작하는 경우 이에 대한 안내를 받으려면 자습서: Amazon SNS에서 Amazon VPC 메시지를 비공개로 게시 단원을 참조하십시오.

엔드포인트 생성

AWS Management 콘솔, 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 콘솔에서 호스트 이름을 가져오려면 인스턴스를 선택하고 원하는 인스턴스를 선택한 다음 퍼블릭 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" }