Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Publicar uma mensagem do Amazon SNS da Amazon VPC

Modo de foco
Publicar uma mensagem do Amazon SNS da Amazon VPC - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Esta seção descreve como publicar em um tópico do Amazon SNS, mantendo as mensagens seguras em uma rede privada. Você publica uma mensagem de uma EC2 instância da Amazon que está hospedada na Amazon Virtual Private Cloud (Amazon VPC). A mensagem permanece na AWS rede sem viajar pela Internet pública. Ao publicar mensagens de forma privada a partir de uma VPC, você pode melhorar a segurança do tráfego entre seus aplicativos e o Amazon SNS. Essa segurança é importante ao publicar informações de identificação pessoal (PII) sobre seus clientes ou quando sua assinatura está sujeita a regulamentações de mercado. Por exemplo, publicar de maneira privada é útil se você tiver um sistema para área da saúde que precise estar em conformidade com a Lei de Portabilidade e Responsabilidade de Provedores de Saúde (HIPAA) ou um sistema financeiro que precise estar em conformidade com o Padrão de segurança de dados do setor de cartão de pagamento (Payment Card Industry Data Security Standard, PCI DSS).

As etapas gerais são as seguintes:

  • Use um AWS CloudFormation modelo para criar automaticamente uma rede privada temporária no seu Conta da AWS.

  • Crie um VPC endpoint que conecte a VPC com o Amazon SNS.

  • Faça login em uma EC2 instância da Amazon e publique uma mensagem de forma privada em um tópico do Amazon SNS.

  • Verifique se a mensagem foi entregue com sucesso.

  • Exclua os recursos que você criou durante esse processo para que eles não permaneçam no seu Conta da AWS.

O diagrama a seguir mostra a rede privada que você cria em sua AWS conta ao concluir essas etapas:

A arquitetura de rede privada que você cria com estas etapas.

Essa rede consiste em uma VPC que contém uma instância da Amazon EC2 . A instância se conecta ao Amazon SNS por meio de um endpoint da VPC de interface. Esse tipo de endpoint se conecta a serviços que são alimentados por AWS PrivateLink. Com essa conexão estabelecida, você pode fazer login na EC2 instância da Amazon e publicar mensagens no tópico do Amazon SNS, mesmo que a rede esteja desconectada da Internet pública. O tópico distribui as mensagens que recebe em duas AWS Lambda funções de assinatura. Essas funções registram as mensagens que recebem no Amazon CloudWatch Logs.

Demora cerca de 20 minutos para concluir essas etapas.

Antes de começar

Antes de começar, você precisa de uma conta da Amazon Web Services (AWS). Quando você se inscreve, sua conta é automaticamente cadastrada em todos os serviços AWS, incluindo Amazon SNS e Amazon VPC. Caso ainda não tenha criado uma conta, acesse https://aws.amazon.com/ e escolha Create a Free Account (Criar conta gratuita).

Etapa 1: criar um par de EC2 chaves da Amazon

Um par de chaves é usado para fazer login em uma EC2 instância da Amazon. Esse par consiste em uma chave pública usada para criptografar suas informações de login e uma chave privada usada para descriptografá-la. Ao criar um par de chaves, você faz download de uma cópia da chave privada. Posteriormente, você usa o par de chaves para fazer login em uma EC2 instância da Amazon. Para efetuar login, especifique o nome do par de chaves e insira a chave privada.

Para criar o par de chaves
  1. Faça login no AWS Management Console e abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No menu de navegação à esquerda, localize a seção Rede e segurança. Em seguida, escolha Pares de chave).

  3. Escolha Criar par de chaves.

  4. Na janela Criar par de chaves, em Nome do par de chaves, digite VPCE-Tutorial-KeyPair. Escolha Criar.

    A janela Criar par de chaves com o texto “VPCE-Tutorial-KeyPair” no campo Nome do par de chaves.
  5. O arquivo de chave privada é baixado automaticamente pelo navegador. Salve-o em um local seguro. A Amazon EC2 fornece ao arquivo uma extensão de.pem.

  6. (Opcional) Se estiver usando um cliente de SSH em um computador Mac ou Linux para se conectar à sua instância, use o seguinte comando chmod para definir as permissões do arquivo de chave privada, de maneira que apenas você possa lê-lo:

    1. Abra um terminal e navegue até o diretório que contém a chave privada:

      $ cd /filepath_to_private_key/
    2. Defina as permissões usando o seguinte comando:

      $ chmod 400 VPCE-Tutorial-KeyPair.pem

Etapa 2: criar os AWS recursos

Para configurar a infraestrutura, você usa um AWS CloudFormation modelo. Um modelo é um arquivo que atua como um modelo para criar AWS recursos, como EC2 instâncias da Amazon e tópicos do Amazon SNS. O modelo para esse processo é fornecido GitHub para você baixar.

Você fornece o modelo e AWS CloudFormation provisiona os recursos de que precisa como uma pilha em seu Conta da AWS. AWS CloudFormation Uma pilha é um conjunto de recursos que pode gerenciar como uma unidade. Ao concluir essas etapas, você pode usar AWS CloudFormation para excluir todos os recursos da pilha de uma só vez. Esses recursos não permanecem em seu Conta da AWS, a menos que você queira.

A pilha deste processo inclui os seguintes recursos:

  • Uma VPC e os recursos de rede associados, incluindo uma sub-rede, um grupo de segurança, um gateway da Internet e uma tabela de rotas.

  • Uma EC2 instância da Amazon que é iniciada na sub-rede na VPC.

  • Um tópico do Amazon SNS.

  • Duas AWS Lambda funções. Essas funções recebem mensagens que são publicadas no tópico do Amazon SNS e registram eventos em CloudWatch Logs.

  • CloudWatch Métricas e registros da Amazon.

  • Uma função do IAM que permite que a EC2 instância da Amazon use o Amazon SNS e uma função do IAM que permite que as funções do Lambda gravem nos registros. CloudWatch

Para criar os AWS recursos
  1. Baixe o arquivo de modelo do GitHub site.

  2. Faça login no console do AWS CloudFormation.

  3. Escolha Create Stack (Criar pilha).

  4. Na página Select Template (Selecionar modelo), escolha Upload a template to Amazon S3 (Carregar um modelo no Amazon S3) e, em seguida, o arquivo e Next (Avançar).

  5. Na página Especificar detalhes, especifique os nomes de pilha e chave:

    1. Para Nome da pilha, digite VPCE-Tutorial-Stack.

    2. Para KeyName, escolha VPCE-Tutorial -. KeyPair

    3. Para SSHLocation, mantenha o valor padrão de0.0.0.0/0.

      A página Especificar detalhes exibindo campos de valor preenchidos para nome da pilha KeyName, e. SSHLocation
    4. Escolha Próximo.

  6. Na página Opções, mantenha todos os valores padrão e escolha Próximo.

  7. Na página Revisar, verifique os detalhes da pilha.

  8. Em Capacidades, reconheça que isso AWS CloudFormation pode criar recursos do IAM com nomes personalizados.

  9. Escolha Criar.

    O AWS CloudFormation console abre a página Stacks. O VPCE-Tutorial-Stack tem um status de CREATE_IN_PROGRESS. Em instantes, após a conclusão do processo de criação, o status muda para CREATE_COMPLETE.

    A AWS CloudFormation pilha com o status CREATE_COMPLETE.
    dica

    Escolha o botão Atualizar para ver o status mais recente da pilha.

Etapa 3: confirme se sua EC2 instância da Amazon não tem acesso à Internet

A EC2 instância da Amazon que foi lançada em sua VPC na etapa anterior não tem acesso à Internet. Ela não permite o tráfego de saída e não pode publicar mensagens no Amazon SNS. Para verificar isso, faça login na instância. Em seguida, conecte-se a um endpoint público e tente enviar uma mensagem Amazon SNS.

Neste ponto do tutorial, a tentativa de publicação falha. Em uma etapa posterior, depois de criar um VPC endpoint para o Amazon SNS, sua tentativa de publicação será bem-sucedida.

Para se conectar à sua EC2 instância da Amazon
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No menu de navegação à esquerda, localize a seção Instâncias. Em seguida, selecione Instâncias.

  3. Na lista de instâncias, selecione VPCE-. Tutorial-EC2Instance

  4. Copie o nome do host fornecido na coluna Public DNS (IPv4).

    Detalhes sobre a EC2 instância da Amazon lançada por AWS CloudFormation.
  5. Abra um terminal. No diretório que contém o key pair, conecte-se à instância usando o comando a seguir, onde instance-hostname está o nome do host que você copiou do console da Amazon EC2 :

    $ ssh -i VPCE-Tutorial-KeyPair.pem ec2-user@instance-hostname
Para verificar se a instância não tem conectividade com a Internet
  • No seu terminal, tente se conectar a qualquer endpoint público, como amazon.com:

    $ ping amazon.com

    Como a tentativa de conexão falha, você pode cancelar a qualquer momento (Ctrl + C no Windows ou Command + C no macOS).

Para verificar se a instância não tem conectividade com o Amazon SNS
  1. Faça login no console do Amazon SNS.

  2. No menu de navegação à esquerda, escolha Tópicos.

  3. Na página Tópicos, copie o nome do recurso da Amazon (ARN) para o tópico VPCE-Tutorial-Topic.

  4. No seu terminal, tente publicar uma mensagem no tópico:

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

    Como a tentativa de publicação falha, você pode cancelar a qualquer momento.

Etapa 4: criar um endpoint da VPC para Amazon SNS

Para conectar a VPC ao Amazon SNS, você define um VPC endpoint de interface. Depois de adicionar o endpoint, você pode fazer login na EC2 instância da Amazon em sua VPC e, a partir daí, usar a API do Amazon SNS. Você pode publicar mensagens no tópico. Elas serão publicadas de maneira privada. Eles permanecem na AWS rede e não navegam pela Internet pública.

nota

A instância ainda não tem acesso a outros AWS serviços e endpoints na Internet.

Para criar o endpoint
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No menu de navegação à esquerda, escolha Endpoints.

  3. Escolha Criar Endpoint.

  4. Na página Criar endpoint, em Categoria de serviço, mantenha o valor padrão de Serviços da AWS .

  5. Em Service Name (Nome do serviço), escolha o nome do serviço para o Amazon SNS.

    Os nomes de serviços variam de acordo com a região escolhida. Por exemplo, se você escolher Leste dos EUA (Norte da Virgínia), o nome do serviço será com.amazonaws. us-east-1.sns.

  6. Para VPC, escolha a VPC com nome VPCE-Tutorial-VPC.

    O menu da VPC na página Criar endpoint.
  7. Em Sub-redes, selecione aquela que contém VPCE-Tutorial-Subnet no ID de sub-rede.

    As sub-redes na página Criar endpoints.
  8. Em Ativar nome DNS privado, selecione Ativar para este terminal.

  9. Em Grupo de segurança, escolha Selecionar grupo de segurança e escolha VPCE-Tutorial -. SecurityGroup

    Os grupos de segurança na página Criar endpoints.
  10. Escolha Criar endpoint. O console da Amazon VPC verifica se o endpoint da VPC foi criado.

    A mensagem de confirmação exibida depois da criação de um endpoint.
  11. Escolha Fechar.

    O console da Amazon VPC abre a página Endpoints. O novo endpoint tem um status pendente. Em instantes, após a conclusão do processo de criação, o status muda para disponível.

    O VPC endpoint com o status disponível.

Etapa 5: publicar uma mensagem no seu tópico do Amazon SNS

Agora que sua VPC inclui um endpoint para o Amazon SNS, você pode fazer login na EC2 instância da Amazon e publicar mensagens no tópico.

Para publicar uma mensagem
  1. Se o seu terminal não estiver mais conectado à sua EC2 instância da Amazon, conecte-se novamente:

    $ ssh -i VPCE-Tutorial-KeyPair.pem ec2-user@instance-hostname
  2. Execute o mesmo comando que você fez anteriormente para publicar uma mensagem no seu tópico do Amazon SNS. Desta vez, a tentativa de publicação será bem-sucedida e o Amazon SNS retornará um ID de mensagem:

    $ aws sns publish --region aws-region --topic-arn sns-topic-arn --message "Hello" { "MessageId": "5b111270-d169-5be6-9042-410dfc9e86de" }

Etapa 6: verificar as entregas de mensagens

Quando o tópico do Amazon SNS receber uma mensagem, ele enviará a mensagem para as duas funções assinantes do Lambda. Quando essas funções recebem a mensagem, elas registram o evento nos CloudWatch registros. Para verificar se a entrega da mensagem foi bem-sucedida, verifique se as funções foram invocadas e se os CloudWatch registros foram atualizados.

Para verificar se as funções do Lambda foram invocadas
  1. Abra o AWS Lambda console em https://console.aws.amazon.com/lambda/.

  2. Na página Funções, escolha VPCE-Tutorial-Lambda-1.

  3. Escolha Monitoramento.

  4. Verifique o gráfico Contagem de invocação. Este gráfico mostra o número de vezes que a função do Lambda foi executada.

    A contagem de invocação corresponde ao número de vezes que você publicou uma mensagem no tópico.

    O gráfico de contagem de invocação no console do Lambda.
Para verificar se os CloudWatch registros foram atualizados
  1. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/.

  2. No menu de navegação à esquerda, escolha Logs.

  3. Verifique os registros que foram escritos pelas funções do Lambda:

    1. Escolha o grupo de registros/aws/lambda/VPCE-Tutorial-Lambda-1/.

    2. Escolha o fluxo de logs.

    3. Verifique se o log inclui a entrada From SNS: Hello.

      O CloudWatch registro inclui a entrada “Do SNS: Olá”.
    4. Escolha Grupos de logs na parte superior do console para retornar para a página Grupos de logs. Em seguida, repita as etapas anteriores para o grupo de registros the /aws/lambda/VPCE -Tutorial-Lambda-2/.

Parabéns! Ao adicionar um endpoint para o Amazon SNS a uma VPC, você conseguiu publicar uma mensagem em um tópico de dentro da rede gerenciada pela VPC. A mensagem foi publicada de maneira privada sem ser exposta à Internet pública.

Etapa 7: limpar

A menos que você queira manter os recursos criados, você poderá excluí-los agora. Ao excluir AWS recursos que você não está mais usando, você evita cobranças desnecessárias no seu Conta da AWS.

Primeiro, exclua seu endpoint da VPC usando o console da Amazon VPC. Em seguida, exclua os outros recursos que você criou excluindo a pilha no AWS CloudFormation console. Quando você exclui uma pilha, AWS CloudFormation remove os recursos da pilha do seu. Conta da AWS

Para excluir seu VPC endpoint
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No menu de navegação à esquerda, escolha Endpoints.

  3. Selecione o endpoint que você criou.

  4. Escolha Ações e escolha Excluir endpoint.

  5. Na janela Excluir endpoint, escolha Sim, excluir.

    O status do endpoint muda para excluindo. Quando a exclusão é concluída, o endpoint é removido da página.

Para excluir sua AWS CloudFormation pilha
  1. Abra o AWS CloudFormation console em https://console.aws.amazon.com/cloudformation.

  2. Selecione a pilha VPCE-Tutorial-Stack.

  3. Escolha Ações e, em seguida, escolha Excluir pilha.

  4. Na janela Excluir pilha, escolha Sim, excluir.

    O status da pilha muda para DELETE_IN_PROGRESS. Quando a exclusão é concluída, a pilha é removida da página.

Para obter mais informações, consulte os recursos a seguir.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.