

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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>

AWS Management Console, AWS CLI, AWS SDK, Amazon SNS API 또는 AWS CloudFormation을 사용하여 VPC에서 Amazon SNS 엔드포인트를 생성할 수 있습니다.

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.sns**입니다.  
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"
   }
   ```