Crie a infraestrutura - Guia do desenvolvedor de aplicativos avançados do AMS

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

Crie a infraestrutura

Coletar os dados a seguir antes de começar fará com que a implantação seja mais rápida.

OS DADOS NECESSÁRIOS TÊM UMA PILHA:

  • AutoScalingGroup:

    • UserData: esse valor é fornecido neste tutorial. Ele inclui comandos para configurar o recurso CodeDeploy e iniciar o CodeDeploy agente.

    • AMI-ID: esse valor determina que tipo de EC2 instâncias seu grupo de Auto Scaling (ASG) criará. Certifique-se de selecionar uma AMI em sua conta que comece com “cliente-” e seja do sistema operacional que você deseja. Encontre a AMI IDs com a referência da API For the AMS SKMS, consulte a guia Relatórios no AWS Artifact Console. operação (CLI: list-amis) ou no console do AMS -> página de detalhes. VPCs VPCs Este passo a passo é para ASGs configurar o uso de uma AMI Linux.

  • Banco de dados:

    • Esses parâmetros,DBEngine,EngineVersion, e LicenseModel devem ser definidos de acordo com sua situação, embora os valores mostrados no exemplo tenham sido testados.

    • Esses parâmetros,RDSSubnetIds,, DBNameMasterUsername, e MasterUserPassword são necessários ao implantar o pacote de aplicativos. Para RDSSubnet IDs, use duas sub-redes privadas.

  • LoadBalancer:

    • Esses parâmetros,DBEngine,EngineVersion, e LicenseModel devem ser definidos de acordo com sua situação, embora os valores mostrados no exemplo tenham sido testados.

    • ELBSubnetIds: Use duas sub-redes públicas.

  • Aplicativo: o ApplicationName valor define o nome do CodeDeploy aplicativo e o nome do grupo de CodeDeploy implantação. Você o usa para implantar seu aplicativo. Ele deve ser exclusivo na conta. Para verificar os CodeDeploy nomes da sua conta, consulte o CodeDeploy console. O exemplo usa "WordPress", mas, se você usar esse valor, certifique-se de que ele ainda não esteja em uso.

Esse procedimento utiliza a CT de duas camadas (avançada) de alta disponibilidade (ct-06mjngx5flwto) e a CT de armazenamento Create S3 (ct-1a68ck03fn98r). Na sua conta autenticada, siga estas etapas na linha de comando.

  1. Inicie a pilha de infraestrutura.

    1. Envie os parâmetros de execução do esquema JSON para a pilha HA de duas camadas CT em um arquivo em sua pasta atual chamado .json. CreateStackParams

      aws amscm get-change-type-version --change-type-id "ct-06mjngx5flwto" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateStackParams.json
    2. Modifique o esquema. Substitua o variables conforme apropriado. Por exemplo, use o sistema operacional que você deseja para as EC2 instâncias que o ASG criará. Grave o ApplicationName como você o usará posteriormente para implantar o aplicativo. Observe que você pode adicionar até 50 tags.

      { "Description": "HA two tier stack for WordPress", "Name": "WordPressStack", "TimeoutInMinutes": 360, "Tags": [ { "Key": "ApplicationName", "Value": "WordPress" } ], "AutoScalingGroup": { "AmiId": "AMI-ID", "UserData": "#!/bin/bash \n REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') \n yum -y install ruby httpd \n chkconfig httpd on \n service httpd start \n touch /var/www/html/status \n cd /tmp \n curl -O https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install \n chmod +x ./install \n ./install auto \n chkconfig codedeploy-agent on \n service codedeploy-agent start" }, "LoadBalancer": { "Public": true, "HealthCheckTarget": "HTTP:80/status" }, "Database": { "DBEngine": "MySQL", "DBName": "wordpress", "EngineVersion": "8.0.16 ", "LicenseModel": "general-public-license", "MasterUsername": "admin", "MasterUserPassword": "p4ssw0rd" }, "Application": { "ApplicationName": "WordPress" } }
    3. Envie o modelo CreateRfc JSON para um arquivo na sua pasta atual chamado CreateStackRfc .json:

      aws amscm create-rfc --generate-cli-skeleton > CreateStackRfc.json
    4. Modifique o modelo RFC da seguinte forma e salve-o, você pode excluir e substituir o conteúdo. Observe que RequestedStartTime agora RequestedEndTime são opcionais; excluí-los cria um ASAP RFC que é executado assim que aprovado (o que geralmente acontece automaticamente). Para enviar um RFC agendado, adicione esses valores.

      { "ChangeTypeVersion": "3.0", "ChangeTypeId": "ct-06mjngx5flwto", "Title": "HA-Stack-For-WP-RFC" }
    5. Crie o RFC, especificando o CreateStackRfc arquivo.json e o arquivo de parâmetros de execução CreateStackParams .json:

      aws amscm create-rfc --cli-input-json file://CreateStackRfc.json --execution-parameters file://CreateStackParams.json

      Você recebe o ID do RFC na resposta. Salve o ID para as etapas subsequentes.

    6. Envie o RFC:

      aws amscm submit-rfc --rfc-id RFC_ID

      Se o RFC for bem-sucedido, você não receberá nenhuma saída.

    7. Para verificar o status do RFC, execute

      aws amscm get-rfc --rfc-id RFC_ID

    Anote o ID do RFC.

  2. Inicie um bucket S3

    Coletar os dados a seguir antes de começar fará com que a implantação seja mais rápida.

    BUCKET S3 DE DADOS NECESSÁRIO:

    • VPC-ID: esse valor determina onde seu S3 Bucket estará. Use a mesma VPC ID que você usou anteriormente.

    • BucketName: esse valor define o nome do S3 Bucket, você o usa para carregar seu pacote de aplicativos. Ele deve ser exclusivo em toda a região da conta e não pode incluir letras maiúsculas. Incluir o ID da sua conta como parte do não BucketName é obrigatório, mas facilita a identificação posterior do bucket. Para ver quais nomes de bucket do S3 existem na conta, acesse o console do Amazon S3 da sua conta.

    1. Envie os parâmetros de execução do esquema JSON para o armazenamento S3 create CT em um arquivo JSON chamado createS3 .json. StoreParams

      aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateS3StoreParams.json
    2. Modifique o esquema da seguinte forma, você pode excluir e substituir o conteúdo. Substitua VPC_ID adequadamente. Os valores no exemplo foram testados, mas podem não ser adequados para você.

      dica

      O BucketName deve ser exclusivo em toda a região da conta e não pode incluir letras maiúsculas. Incluir o ID da sua conta como parte do não BucketName é obrigatório, mas facilita a identificação posterior do bucket. Para ver quais nomes de bucket do S3 existem na conta, acesse o console do Amazon S3 da sua conta.

      { "Description": "S3BucketForWordPressBundle", "VpcId": "VPC_ID", "StackTemplateId": "stm-s2b72beb000000000", "Name": "S3BucketForWP", "TimeoutInMinutes": 60, "Parameters": { "AccessControl": "Private", "BucketName": "ACCOUNT_ID-BUCKET_NAME" } }
    3. Envie o modelo JSON CreateRfc para um arquivo, na sua pasta atual, chamado StoreRfc createS3 .json:

      aws amscm create-rfc --generate-cli-skeleton > CreateS3StoreRfc.json
    4. Modifique e salve o arquivo CreateS3 StoreRfc .json, você pode excluir e substituir o conteúdo. Observe que RequestedStartTime agora RequestedEndTime são opcionais; excluí-los cria um ASAP RFC que é executado assim que aprovado (o que geralmente acontece automaticamente). Para enviar um RFC agendado, adicione esses valores.

      { "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-1a68ck03fn98r", "Title": "S3-Stack-For-WP-RFC" }
    5. Crie o RFC, especificando o arquivo CreateS3 .json e o arquivo de parâmetros de execução CreateS3 StoreRfc .json: StoreParams

      aws amscm create-rfc --cli-input-json file://CreateS3StoreRfc.json --execution-parameters file://CreateS3StoreParams.json

      Você recebe o RfcId do novo RFC na resposta. Salve o ID para as etapas subsequentes.

    6. Envie o RFC:

      aws amscm submit-rfc --rfc-id RFC_ID

      Se o RFC for bem-sucedido, você não receberá nenhuma saída.

    7. Para verificar o status do RFC, execute

      aws amscm get-rfc --rfc-id RFC_ID