View a markdown version of this page

Melhores práticas de construção AMIs para uso 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 de construção AMIs para uso com AWS Marketplace

Este tópico fornece as melhores práticas e referências para ajudá-lo a criar Amazon Machine Images (AMIs) para uso com AWS Marketplace. AMIs criado e enviado para, AWS Marketplace deve seguir todas as políticas AWS Marketplace do produto. Para obter mais informações, consulte as seções a seguir.

Proteção dos direitos de revenda

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

Criação de uma AMI

Use as seguintes diretrizes para construir AMIs:

  • Certifique-se de que sua AMI atenda a todas AWS Marketplace as políticas.

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

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

  • Crie AMIs usando a maioria dos sistemas up-to-date operacionais, pacotes e software.

  • 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. 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 AWS Marketplace publicação, execute e teste uma instância da sua AMI para verificar a experiência pretendida do usuário final. Teste todos os métodos de instalação, atributos e desempenho nessa instância.

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

    • Como melhor prática de configuração de segurança contra firewalls abertos, proxies reversos e vulnerabilidades de SSRF, a opção de suporte do IMDS deve ser definida como somente. 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:

Preparando e protegendo sua AMI para AWS Marketplace

Recomendamos as seguintes diretrizes para criar segurança AMIs:

  • Use as diretrizes para Linux compartilhado AMIs 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 end-to-end criptografia para tráfego de rede. Por exemplo, use Secure Sockets Layer (SSL) para proteger sessões HTTP entre você e seus compradores. Certifique-se de que seu serviço use somente up-to-date certificados válidos.

  • 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 realizar um teste de penetração em seu ambiente de AWS computação em intervalos regulares ou considere contratar um terceiro para realizar esses 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 SecurityFocuse o Banco de Dados Nacional de Vulnerabilidades do NIST.

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 sua AMI no AWS Marketplace catálogo, você deve concluir a verificação da AMI. O escaneamento de AMI verifica vulnerabilidades e exposições comuns não corrigidas (CVEs) e verifica se sua AMI segue as melhores práticas de segurança. Para obter mais informações, consulte Preparando e protegendo sua 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 permite a digitalização 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 ver o status do AMIs escaneamento retornando a esta 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 AWS Marketplace acesso à sua AMI, consulteDando AWS Marketplace acesso à sua AMI.

Verificando se o software está sendo executado na sua AMI 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.