Melhores práticas para criar AMIs para usar com AWS Marketplace - AWS Marketplace

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á.

Melhores práticas para criar AMIs para usar com AWS Marketplace

Este tópico fornece as melhores práticas e referências para ajudar você a criar imagens de máquina da Amazon (AMIs) para uso com AWS Marketplace. As AMIs criadas e enviadas para o AWS Marketplace devem aderir a todas as políticas de produto do AWS Marketplace. Para obter mais informações, consulte as seções a seguir.

Proteção dos direitos de revenda

Para distribuições do Linux não gratuitas, você é responsável por garantir os direitos de revenda deles com exceção de Amazon Linux, RHEL e SUSE fornecidos pela AWS. Você não precisa garantir direitos de revenda para AMIs do Windows.

Criação de uma AMI

Use as seguintes diretrizes para criar AMIs:

  • Verifique se a AMI atende a todas as políticas do AWS Marketplace.

  • Crie a AMI na região Leste dos EUA (Norte da Virgínia).

  • Crie produtos a partir de AMIs existentes e bem mantidas com suporte do Amazon Elastic Block Store (Amazon EBS) e com um ciclo de vida claramente definido e fornecido por fontes confiáveis e respeitáveis, como o AWS Marketplace.

  • Crie AMIs usando os sistemas operacionais, pacotes e softwares mais atualizados.

  • Verifique se a AMI se baseia em uma AMI do Amazon EC2, que usa a virtualização de máquina virtual de hardware (HVM) e a arquitetura de 64 bits.

  • Desenvolva um processo repetível para criar, atualizar e republicar as AMIs.

  • Use um nome de usuário do sistema operacional (SO) consistente em todas as versões e produtos. Os nomes de usuário padrão recomendados são ec2-user para Linux e outros sistemas semelhantes ao UNIX e Administrator para Windows.

  • Antes de enviar uma AMI final para publicação do AWS Marketplace, inicie e teste uma instância da AMI para verificar a experiência do usuário final desejada. Teste todos os métodos de instalação, atributos e desempenho nessa instância.

  • Verifique as configurações da porta da seguinte forma:

    • Como configuração de segurança de prática recomendada contra firewalls abertos, proxies reversos e vulnerabilidades de SSRF, a opção suporte IMDS só deve ser definida como IMDSv2. A seguinte CLI pode ser usada durante o registro de uma nova AMI na fase de compilação final:

      • aws ec2 register-image --name my-image --root-device-name /dev/xvda --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} --architecture x86_64 --imds-support v2.0

Para obter mais informações sobre a criação de uma AMI, consulte os seguintes recursos:

Preparação e proteção da AMI para AWS Marketplace

Recomendamos as seguintes diretrizes para a criação de AMIs seguras:

  • Use as Diretrizes para AMIs do Linux compartilhadas no Guia do usuário do Amazon EC2

  • Projete sua AMI par implantação como instalação mínima para reduzir a superfície de ataque. Desative ou remova serviços e programas desnecessários.

  • Sempre que possível, use criptografia de ponta a ponta para o tráfego de rede. Por exemplo, use Secure Sockets Layer (SSL) para proteger sessões HTTP entre você e seus compradores. Verifique se o serviço usa apenas certificados válidos e atualizados.

  • Ao documentar o produto da AMI, faça recomendações do grupo de segurança para que os compradores controlem o acesso do tráfego de entrada às instâncias. As recomendações devem especificar o seguinte:

    • O conjunto mínimo de portas necessário para que os serviços funcionem.

    • As portas recomendadas e os intervalos de endereços IP de origem para acesso administrativo.

    Essas recomendações do grupo de segurança ajudam compradores a implementar os controles de acesso indicados. Para obter mais informações sobre como adicionar uma nova versão ao produto de AMI, consulte Adicionar uma nova versão.

  • Considere a realização de um teste de penetração no ambiente computacional da AWS em intervalos regulares ou empregar um terceiro para realizar tais testes em seu nome. Para obter mais informações, incluindo um formulário de solicitação de teste de penetração, consulte Testes de penetração da AWS.

  • Esteja ciente das dez principais vulnerabilidades para aplicativos web e crie seus aplicativos adequadamente. Para saber mais, consulte Open Web Application Security Project (OWASP) - Top 10 Web Application Security Risks. Quando novas vulnerabilidades da Internet são descobertas, atualize prontamente qualquer aplicativo web enviado na AMI. Exemplos de recursos que incluem essas informações são SecurityFocus e o NIST National Vulnerability Database.

Para obter mais informações sobre segurança, consulte os seguintes recursos relacionados:

Verificação da AMI quanto aos requisitos de publicação

Para publicar a AMI no catálogo do AWS Marketplace, você deve concluir a verificação da AMI. A verificação da AMI atesta se há vulnerabilidades e exposições comuns (CVEs) não corrigidas e se a AMI segue as práticas recomendadas de segurança. Para obter mais informações, consulte Preparação e proteção da AMI para AWS Marketplace

Para realizar a verificação da AMI, escolha uma das seguintes opções:

Opção 1: menu Ativos

Esse método possibilita verificar AMIs fora do fluxo de criação do produto. Ele também é útil para vendedores de SaaS que usam o Início Rápido de SaaS e precisam verificar ativos sem criar um produto AMI.

  1. No Portal de gerenciamento do AWS Marketplace, navegue até Ativos e escolha Imagem de máquina da Amazon.

  2. Para iniciar o processo de verificação, escolha Adicionar AMI.

  3. Você pode exibir o status de verificação das AMIs retornando a essa página.

Opção 2: menu Solicitar alterações

Essa opção está disponível para vendedores que já criaram um produto AMI. Saiba mais em Criação de produtos baseados em AMI

  1. No Portal de gerenciamento do AWS Marketplace, navegue até o menu Produtos e escolha Servidor.

  2. Selecione o produto em Produtos de servidor. Ele deve ser um produto baseado em AMI. O produto pode estar em qualquer estado e não precisa estar no estado publicado Público para as próximas etapas.

  3. Navegue até o menu Solicitar alterações e selecione Atualizar versões.

  4. Selecione Testar “Adicionar versão”. Siga os prompts para enviar uma solicitação com os detalhes da AMI. Se a solicitação for bem-sucedida, isso indicará que a AMI passou pela verificação com êxito. Diferentemente da opção Adicionar nova versão, Testar “Adicionar versão” não adicionará uma nova versão ao produto baseado em AMI se a verificação for bem-sucedida.

nota

Para saber mais sobre como dar ao AWS Marketplace acesso à sua AMI, consulte Fornecer ao AWS Marketplace acesso para a AMI.

Verificar se o software está sendo executado na AMI do AWS Marketplace

É altamente recomendável que o software seja verificado em runtime se está em execução em uma instância do Amazon EC2 criada a partir do produto da AMI.

Para verificar se a instância do Amazon EC2 foi criada a partir do seu produto de AMI, use o serviço de metadados da instância incorporado ao Amazon EC2. As etapas a seguir conduzem você por essa validação. Para obter mais informações sobre como usar o serviço de metadados, consulte Metadados de instância e dados do usuário no Guia do usuário do Amazon Elastic Compute Cloud.

  1. Obter o documento de identidade da instância

    Cada instância em execução tem um documento de identidade acessível na instância que fornece dados sobre a própria instância. O exemplo a seguir mostra o uso do curl da instância para recuperar o documento de identidade da instância.

    IMDSv2: (recomendado)

    TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document { "accountId" : "0123456789", "architecture" : "x86_64", "availabilityZone" : "us-east-1e", "billingProducts" : null, "devpayProductCodes" : null, "marketplaceProductCodes" : [ "0vg0000000000000000000000" ], "imageId" : "ami-0123456789abcdef1", "instanceId" : "i-0123456789abcdef0", "instanceType" : "t2.medium", "kernelId" : null, "pendingTime" : "2020-02-25T20:23:14Z", "privateIp" : "10.0.0.2", "ramdiskId" : null, "region" : "us-east-1", "version" : "2017-09-30" }

    IMDSv1:

    curl http://169.254.169.254/latest/dynamic/instance-identity/document{ "accountId" : "0123456789", "architecture" : "x86_64", "availabilityZone" : "us-east-1e", "billingProducts" : null, "devpayProductCodes" : null, "marketplaceProductCodes" : [ "0vg0000000000000000000000" ], "imageId" : "ami-0123456789abcdef1", "instanceId" : "i-0123456789abcdef0", "instanceType" : "t2.medium", "kernelId" : null, "pendingTime" : "2020-02-25T20:23:14Z", "privateIp" : "10.0.0.2", "ramdiskId" : null, "region" : "us-east-1", "version" : "2017-09-30" }
  2. Verificar o documento de identidade da instância

    Você pode verificar se a identidade da instância está correta usando a assinatura. Para obter detalhes sobre esse processo, consulte Documentos de identidade da instância no Guia do usuário do Amazon Elastic Compute Cloud.

  3. Verificar o código do produto

    Quando você envia inicialmente seu produto de AMI para publicação, seu produto recebe um código de produto do AWS Marketplace. Você pode verificar o código do produto verificando o campo marketplaceProductCodes no documento de identidade da instância ou pode obtê-lo diretamente do serviço de metadados:

    IMDSv2:

    TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/product-codes

    Se o código do produto corresponder ao do produto de AMI, a instância foi criada a partir do seu produto.