Pilha de uma camada de alta disponibilidade | Crie (com ELB) - Referência avançada de tipo de alteração 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á.

Pilha de uma camada de alta disponibilidade | Crie (com ELB)

Crie uma pilha com um grupo de Auto Scaling e um Elastic Load Balancer (ELB) com até dois ouvintes, integrados a um grupo de segurança existente que você especificar.

Classificação completa: Implantação | Pilhas padrão | Pilha de uma camada de alta disponibilidade | Criar (com ELB)

Detalhes do tipo de alteração

ID do tipo de alteração

ct-3w4lxdl3pqxob

Versão atual

1,0

Duração esperada da execução

60 minutos

Aprovação da AWS

Obrigatório

Aprovação do cliente

Não obrigatório

Modo de execução

Automatizado

Informações adicionais

Pilhas de uma camada de alta disponibilidade: criação (com ELB)

Alteração type details for creating an HA One-Tier Stack with ELB, including description and execution mode.

Como funciona:

  1. Navegue até a página Criar RFC: No painel de navegação esquerdo do console AMS, clique RFCspara abrir a página da RFCs lista e, em seguida, clique em Criar RFC.

  2. Escolha um tipo de alteração popular (CT) na visualização padrão Procurar tipos de alteração ou selecione uma CT na visualização Escolher por categoria.

    • Navegar por tipo de alteração: você pode clicar em um CT popular na área de criação rápida para abrir imediatamente a página Executar RFC. Observe que você não pode escolher uma versão mais antiga do CT com a criação rápida.

      Para classificar CTs, use a área Todos os tipos de alteração na exibição Cartão ou Tabela. Em qualquer exibição, selecione uma CT e clique em Criar RFC para abrir a página Executar RFC. Se aplicável, a opção Criar com uma versão mais antiga aparece ao lado do botão Criar RFC.

    • Escolha por categoria: selecione uma categoria, subcategoria, item e operação e a caixa de detalhes do CT será aberta com a opção Criar com uma versão mais antiga, se aplicável. Clique em Criar RFC para abrir a página Executar RFC.

  3. Na página Executar RFC, abra a área do nome do CT para ver a caixa de detalhes do CT. É necessário um Assunto (preenchido se você escolher seu CT na visualização Procurar tipos de alteração). Abra a área Configuração adicional para adicionar informações sobre o RFC.

    Na área Configuração de execução, use as listas suspensas disponíveis ou insira valores para os parâmetros necessários. Para configurar parâmetros de execução opcionais, abra a área Configuração adicional.

  4. Ao terminar, clique em Executar. Se não houver erros, a página RFC criada com sucesso será exibida com os detalhes da RFC enviada e a saída inicial de execução.

  5. Abra a área Parâmetros de execução para ver as configurações que você enviou. Atualize a página para atualizar o status de execução do RFC. Opcionalmente, cancele a RFC ou crie uma cópia dela com as opções na parte superior da página.

Como funciona:

  1. Use o método Template Create (você cria dois arquivos JSON, um para os parâmetros RFC e outro para os parâmetros de execução) e emita o create-rfc comando com os dois arquivos como entrada. Ambos os métodos são descritos aqui.

  2. Envie o aws amscm submit-rfc --rfc-id ID comando RFC: com o ID RFC retornado.

    Monitore o aws amscm get-rfc --rfc-id ID comando RFC:.

Para verificar a versão do tipo de alteração, use este comando:

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
nota

Você pode usar qualquer CreateRfc parâmetro com qualquer RFC, independentemente de eles fazerem parte do esquema para o tipo de alteração. Por exemplo, para receber notificações quando o status da RFC mudar, adicione essa linha --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" à parte dos parâmetros da RFC da solicitação (não aos parâmetros de execução). Para obter uma lista de todos os CreateRfc parâmetros, consulte a Referência da API de gerenciamento de alterações do AMS.

CRIAÇÃO EM LINHA:

Execute o comando create RFC com os parâmetros de execução fornecidos em linha (aspas de escape ao fornecer parâmetros de execução em linha) e, em seguida, envie a ID de RFC retornada. Por exemplo, você pode substituir o conteúdo por algo assim:

aws amscm --profile saml --region us-east-1 create-rfc --change-type-id "ct-3w4lxdl3pqxob" --change-type-version "1.0" --title 'Test - HA' --description "Test Stack" --execution-parameters "{\"Description\":\"DESCRIPTION\",\"VpcId\":\"VPC_ID\",\"Name\":\"TestStack\",\"StackTemplateId\":\"stm-g7rc538l62r4c23nb\",\"TimeoutInMinutes\":60,\"AutoScaling\":{\"AmiId\":\"AMI_ID\",\"SubnetIds\":[\"SUBNET_ID\"]},\"LoadBalancer\":{\"SecurityGroups\":\"SG_ID\",\"SubnetIds\":[\"SUBNET_ID\"]},\"Listener1\":{\"Port\":\"443\",\"Protocol\":\"HTTPS\",\"InstancePort\":\"443\"}}"

CRIAÇÃO DE MODELO:

  1. Exiba os parâmetros de execução do esquema JSON para esse tipo de alteração em um arquivo na sua pasta atual; este exemplo o chama de .json. CreateOnetierElbStackParams

    aws amscm get-change-type-version --change-type-id "ct-3w4lxdl3pqxob" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateOnetierElbStackParams.json
  2. Modifique o esquema, substituindo-o variables conforme apropriado.

    { "Description" : "DESCRIPTION", "VpcId" : "VPC_ID", "Name" : "TestStack", "StackTemplateId" : "stm-g7rc538l62r4c23nb", "TimeoutInMinutes" : 60, "AutoScaling" : { "AmiId" : "AMI_ID", "SubnetIds": ["SUBNET_ID"] }, "LoadBalancer" : { "SecurityGroups" : "SG_ID", "SubnetIds" : ["SUBNET_ID"] }, "Listener1" : { "Port" : "443", "Protocol" : "HTTPS", "InstancePort" : "443" } }
  3. Envie o modelo CreateRfc JSON para um arquivo na sua pasta atual; o exemplo o chama de CreateOnetierElbStackRfc .json:

    aws amscm create-rfc --generate-cli-skeleton > CreateOnetierElbStackRfc.json
  4. Modifique o modelo de RFC conforme apropriado e salve-o. Redefina os horários de início e término de um RFC agendado ou interrompa para um RFC ASAP.

    { "ChangeTypeVersion": 1.0", "ChangeTypeId": "ct-3w4lxdl3pqxob", "Title": "HA-One-Tier-ELB-RFC", "RequestedStartTime": "2019-04-28T22:45:00Z", "RequestedEndTime": "2019-04-28T22:45:00Z" }
  5. Crie o RFC, especificando o CreateOnetierElbStackRfc arquivo.json e o arquivo de parâmetros de execução CreateOnetierElbStackParams .json:

    aws amscm create-rfc --cli-input-json file://CreateOnetierElbStackRfc.json --execution-parameters file://CreateOnetierElbStackParams.json

    Você recebe a ID da nova RFC na resposta e pode usá-la para enviar e monitorar a RFC. Até que você o envie, o RFC permanece no estado de edição e não inicia.

nota

Esse é um grande provisionamento de recursos, especialmente se você adicionar. UserData O Amazon Resource Name (ARN) do balanceador de carga pode ser encontrado na página Load Balancer do console, pesquisando com EC2 o ID da pilha do balanceador de carga retornado na saída de execução do RFC.

Parâmetros de entrada de execução

Para obter informações detalhadas sobre os parâmetros de entrada de execução, consulteEsquema para o tipo de alteração ct-3w4lxdl3pqxob.

Exemplo: parâmetros obrigatórios

{ "Description" : "Test description", "VpcId" : "vpc-12345678901234567", "Name" : "TestStack", "StackTemplateId" : "stm-g7rc538l62r4c23nb", "TimeoutInMinutes" : 60, "AutoScaling" : { "AmiId" : "ami-12345678901234567", "SubnetIds": ["subnet-12345678"] }, "LoadBalancer" : { "SecurityGroups" : "sg-12345678901234567", "SubnetIds" : ["subnet-12345678901234567"] }, "Listener1" : { "Port" : "443", "Protocol" : "HTTPS", "InstancePort" : "443" } }

Exemplo: Todos os parâmetros

{ "Description" : "Test description", "VpcId" : "vpc-12345678", "Name" : "TestStack", "Tags" : [ { "Key" : "foo", "Value" : "bar" } ], "StackTemplateId" : "stm-g7rc538l62r4c23nb", "TimeoutInMinutes" : 60, "AutoScaling" : { "AmiId" : "ami-12345678", "InstanceType" : "m4.large", "RootVolumeIops" : "100", "RootVolumeName" : "/dev/xvda", "RootVolumeSize" : 100, "RootVolumeType" : "gp2", "EBSOptimized" : "false", "MaxInstances" : "1", "MinInstances" : "2", "IAMInstanceProfile" : "customer-mc-ec2-instance-profile", "SubnetIds": ["subnet-12345678"], "UserData": ["touch /tmp/test.out"], "MaxBatchSize" : 1, "MinInstancesInService" : 1, "HealthCheckType" : "EC2", "HealthCheckGracePeriod" : "600", "DetailedMonitoring" : "true", "Cooldown" : "300", "ScaleMetricName" : "CPUUtilization", "ScaleUpPolicyCooldown" : "60", "ScaleUpPolicyEvaluationPeriods" : "2", "ScaleUpPolicyPeriod" : "60", "ScaleUpPolicyScalingAdjustment" : "2", "ScaleUpPolicyStatistic" : "Average", "ScaleUpPolicyThreshold" : "75", "ScaleDownPolicyCooldown" : "300", "ScaleDownPolicyEvaluationPeriods" : "4", "ScaleDownPolicyPeriod" : "60", "ScaleDownPolicyScalingAdjustment" : "-1", "ScaleDownPolicyStatistic" : "Average", "ScaleDownPolicyThreshold" : "35" }, "LoadBalancer" : { "Name" : "testLoadBalancer", "Public" : "false", "SecurityGroups" : "sg-12345678", "SubnetIds" : ["subnet-12345678"], "AccessLogInterval" : "60", "ConnectionDrainingTimeout" : 60, "IdleTimeout" : 60, "CrossZone" : "true", "HealthCheckHealthyThreshold" : "2", "HealthCheckInterval" : "10", "HealthCheckTarget" : "TCP:80", "HealthCheckTimeout" : "5", "HealthCheckUnhealthyThreshold" : "10", "LBCookieExpirationPeriod" : "2", "LBCookieStickinessPolicyName" : "LBCOOKIE", "AppCookieName": "APPCookie", "AppCookiePolicyName": "AppCookiePolicy" }, "Listener1" : { "InstancePort" : "80", "InstanceProtocol" : "HTTP", "Port" : "443", "Protocol" : "HTTPS", "SSLCertificateId" : "arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012" }, "Listener2" : { "InstancePort" : "8080", "InstanceProtocol" : "HTTP", "Port" : "8443", "Protocol" : "HTTPS", "SSLCertificateId" : "arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012" } }