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á.
Usar o comando register (ARN de usuário do IAM) para registrar uma instância on-premises
Importante
O registro de uma instância usando um usuário do IAM não é recomendado porque usa credenciais estáticas (permanentes) para autenticação. Para melhorar a segurança, recomendamos registrar uma instância usando credenciais temporárias para autenticação. Para ter mais informações, consulte Use o register-on-premises-instance comando (ARN da sessão do IAM) para registrar uma instância local.
Importante
Certifique-se de ter um plano para alternar as chaves de acesso do usuário do IAM (credenciais permanentes). Para obter mais informações, consulte Alternando as chaves de acesso.
Esta seção descreve como configurar uma instância local, registrá-la e marcá-la CodeDeploy com o mínimo de esforço. O comando register é mais útil quando você está trabalhando com frotas únicas ou pequenas de instâncias locais. Você pode usar o comando register somente quando está usando um ARN de usuário do IAM para autenticar uma instância. Você não pode usar o comando register com um ARN de sessão do IAM para autenticação.
Ao usar o register comando, você pode CodeDeploy fazer o seguinte:
-
Crie um usuário do IAM AWS Identity and Access Management para a instância local, se você não especificar um com o comando.
-
Salvar as credenciais do usuário do IAM em um arquivo de configuração da instância on-premises.
-
Registre a instância local com CodeDeploy.
-
Adicione tags à instância local se você as especificar como parte do comando.
nota
O register-on-premises-instancecomando é uma alternativa ao comando register. Você usa o register-on-premises-instance comando se quiser configurar uma instância local, registrá-la e marcá-la CodeDeploy principalmente por conta própria. O comando register-on-premises-instance também fornece a opção de usar um ARN de sessão do IAM para registrar instâncias em vez de um ARN de usuário do IAM. Essa abordagem proporciona uma grande vantagem quando você tem grandes frotas de instâncias locais. Especificamente, é possível usar um único ARN de sessão do IAM para autenticar várias instâncias em vez de ter que criar um usuário do IAM para cada instância on-premises, uma a uma. Para obter mais informações, consulte Use o register-on-premises-instance comando (IAMusuárioARN) para registrar uma instância local e Use o register-on-premises-instance comando (ARN da sessão do IAM) para registrar uma instância local.
Tópicos
Etapa 1: instalar e configurar o AWS CLI na instância local
-
Instale o AWS CLI na instância local. Siga as instruções em Conceitos básicos do AWS CLI no Guia do usuário do AWS Command Line Interface .
nota
CodeDeploy os comandos para trabalhar com instâncias locais estão disponíveis na AWS CLI versão 1.7.19 e posterior. Se você AWS CLI já tiver o instalado, ligue aws --version para verificar sua versão.
-
Configure o AWS CLI na instância local. Siga as instruções em Configuração do AWS CLI no Guia do usuário do AWS Command Line Interface .
Importante
Ao configurar o AWS CLI (por exemplo, chamando o aws configure comando), certifique-se de especificar o ID da chave secreta e a chave de acesso secreta de um usuário do IAM que tenha, no mínimo, as seguintes permissões de AWS acesso, além das permissões especificadas emPré-requisitos para configurar uma instância on-premises. Isso possibilita o download e a instalação do CodeDeploy agente na instância local. As permissões de acesso podem parecer semelhantes a estas:
{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:*", "iam:CreateAccessKey", "iam:CreateUser", "iam:DeleteAccessKey", "iam:DeleteUser", "iam:DeleteUserPolicy", "iam:ListAccessKeys", "iam:ListUserPolicies", "iam:PutUserPolicy", "iam:GetUser", "tag:getTagKeys", "tag:getTagValues", "tag:GetResources" ], "Resource" : "*" }, { "Effect" : "Allow", "Action" : [ "s3:Get*", "s3:List*" ], "Resource" : [ "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
nota
Se você ver erros de acesso negado ao tentar acessar um dos buckets do Amazon S3 mostrados anteriormente, tente omitir a parte
/*
do ARN do recurso do bucket, por exemplo,arn:aws:s3:::aws-codedeploy-sa-east-1
.
Etapa 2: chamar o comando register
Para esta etapa, estamos supondo que você esteja registrando a instância local a partir dela mesma. Você também pode registrar uma instância local a partir de um dispositivo ou instância separada que a tenha AWS CLI instalada e configurada conforme descrito na etapa anterior.
Use o AWS CLI para chamar o comando register, especificando:
-
Um nome que identifica de forma exclusiva a instância local para CodeDeploy (com a opção).
--instance-name
Importante
Para ajudar a identificar a instância local, especialmente para fins de depuração, recomendamos que você use um nome que seja mapeado para algumas características exclusivas da instância local (por exemplo, o número de série ou algum identificador de ativo interno exclusivo, se aplicável). Se você especificar um endereço MAC para um nome, saiba que os endereços MAC contêm caracteres que CodeDeploy não são permitidos, como dois pontos (
:
). Para obter uma lista de caracteres permitidos, consulte CodeDeploy cotas. -
Opcionalmente, o ARN de um usuário do IAM existente que você deseja associar a essa instância on-premises (com a opção
--iam-user-arn
). Para obter o ARN de um usuário do IAM, chame o comando get-user ou escolha o nome do usuário do IAM na seção Usuários do console do IAM e localize o valor de ARN do usuário na seção Resumo. Se essa opção não for especificada, CodeDeploy criará um usuário do IAM em seu nome na sua AWS conta e o associará à instância local.Importante
Se você especificar a opção
--iam-user-arn
, também deverá criar manualmente o arquivo de configuração da instância local, conforme descrito em Etapa 4: adicionar um arquivo de configuração à instância on-premises.É possível associar apenas um usuário do IAM a apenas uma instância on-premises. Tentar associar um único usuário do IAM a várias instâncias on-premises pode resultar em erros, implantações com falhas nessas instâncias on-premises ou implantações em instâncias on-premises que estão presas em um estado pendente perpétuo.
-
Opcionalmente, um conjunto de tags de instância local (com a
--tags
opção) que CodeDeploy serão usadas para identificar o conjunto de instâncias do Amazon EC2 nas quais implantar. Especifique cada tag comKey=
(por exemplo,tag-key
,Value=tag-value
Key=Name,Value=Beta Key=Name,Value=WestRegion
). Se essa opção não for especificada, nenhuma tag será registrada. Para registrar as tags posteriormente, chame o comando add-tags-to-on-premises-instances. -
Opcionalmente, a AWS região em que a instância local será registrada CodeDeploy (com a
--region
opção). Essa deve ser uma das regiões compatíveis listadas em Região e endpoints na Referência geral da AWS (por exemplo,us-west-2
). Se essa opção não for especificada, a AWS região padrão associada ao usuário do IAM chamador será usada.
Por exemplo: .
aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2
O comando register faz o seguinte:
-
Se nenhum usuário existente do IAM for especificado, cria um usuário do IAM, anexa as permissões necessárias a ele e gera uma chave secreta e uma chave de acesso secreta correspondentes. A instância local usará esse usuário do IAM e suas permissões e credenciais para autenticar e interagir com ele. CodeDeploy
-
Registra a instância local com. CodeDeploy
-
Se especificado, associa-se CodeDeploy às tags especificadas com a
--tags
opção com o nome da instância local registrada. -
Se um usuário do IAM tiver sido criado, também criará o arquivo de configuração necessário no mesmo diretório do qual o comando register foi chamado.
Se esse comando encontrar erros, será exibida uma mensagem de erro descrevendo como você pode concluir manualmente as etapas restantes. Caso contrário, será exibida uma mensagem de sucesso, descrevendo como chamar o comando install, conforme listado na próxima etapa.
Etapa 3: chamar o comando install
Na instância local, use o AWS CLI para chamar o comando install, especificando:
-
O caminho para o arquivo de configuração (com a opção
--config-file
). -
Opcionalmente, seja para substituir o arquivo de configuração já existente na instância local (com a opção
--override-config
). Se não for especificado, o arquivo de configuração existente não será substituído. -
Opcionalmente, a AWS região em que a instância local será registrada CodeDeploy (com a
--region
opção). Essa deve ser uma das regiões compatíveis listadas em Região e endpoints na Referência geral da AWS (por exemplo,us-west-2
). Se essa opção não for especificada, a AWS região padrão associada ao usuário do IAM chamador será usada. -
Opcionalmente, um local personalizado a partir do qual instalar o CodeDeploy agente (com a
--agent-installer
opção). Essa opção é útil para instalar uma versão personalizada do CodeDeploy agente que CodeDeploy não oferece suporte oficial (como uma versão personalizada baseada no repositório do CodeDeployagenteGitHub). O valor deve ser o caminho para um bucket do Amazon S3 que contém: -
Um script de instalação do CodeDeploy agente (para sistemas operacionais baseados em Linux ou UNIX, semelhante ao arquivo de instalação no repositório do CodeDeployagente
). GitHub -
Um arquivo de pacote de instalação do CodeDeploy agente (.msi) (para sistemas operacionais baseados em Windows).
Se essa opção não for especificada, CodeDeploy fará a melhor tentativa de instalar de seu próprio local uma versão oficialmente suportada do CodeDeploy agente que seja compatível com o sistema operacional na instância local.
-
Por exemplo: .
aws deploy install --override-config --config-file /tmp/codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi
O comando install faz o seguinte:
-
Verifica se a instância on-premises é uma instância do Amazon EC2. Se for, uma mensagem de erro será exibida.
-
Copia o arquivo de configuração das instâncias locais do local especificado na instância para o local em que o CodeDeploy agente espera encontrá-lo, desde que o arquivo ainda não esteja nesse local.
Para Ubuntu Server e Red Hat Enterprise Linux (RHEL)), isso é
/etc/codedeploy-agent/conf
/codedeploy.onpremises.yml
.Para o Windows Server, isso é
C:\ProgramData\Amazon\CodeDeploy
\conf.onpremises.yml
.Se a opção
--override-config
tiver sido especificada, criará ou substituirá o arquivo. -
Instala o CodeDeploy agente na instância local e a inicia.
Etapa 4: implantar revisões de aplicações na instância on-premises
Agora, você está pronto para implantar revisões de aplicativo na instância on-premises registrada e marcada.
Você implementa revisões de aplicativos em instâncias on-premises de uma maneira semelhante à implantação de revisões de aplicativos em instâncias do Amazon EC2. Para obter instruções, consulte Crie uma implantação com CodeDeploy. Essas instruções contêm um link para pré-requisitos, que incluem: criar um aplicativo, criar um grupo de implantação e preparar uma revisão de aplicativo. Se você precisa de uma simples revisão de aplicativo de amostra para implantar, poderá criar aquela descrito em Etapa 2: criar uma revisão de aplicativo de amostra, no Tutorial: Implantar um aplicativo em uma instância local com CodeDeploy (Windows Server, Ubuntu Server ou Red Hat Enterprise Linux).
Importante
Se você reutilizar uma função de CodeDeploy serviço existente como parte da criação de um grupo de implantação que tenha como alvo instâncias locais, deverá Tag:get*
incluí-la na Action
parte da declaração de política da função de serviço. Para ter mais informações, consulte Etapa 2: criar uma função de serviço para CodeDeploy.
Etapa 5: acompanhar implantações na instância on-premises
Depois de implantar uma revisão de aplicativo em instâncias on-premises registradas e marcadas, você poderá controlar o progresso da implantação.
Você controla as implantações em instâncias on-premises de uma maneira semelhante ao controle de implantações em instâncias do Amazon EC2. Para obter instruções, consulte Exibir detalhes CodeDeploy da implantação .
Para obter mais opções, consulte Gerenciando operações de instâncias locais em CodeDeploy.