Copie os produtos do AWS Service Catalog em diferentes AWS contas e AWS regiões - Recomendações da AWS

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

Copie os produtos do AWS Service Catalog em diferentes AWS contas e AWS regiões

Criado por Sachin Vighe (AWS) e Santosh Kale () AWS

Ambiente: produção

Tecnologias: gerenciamento e governança; tecnologia sem servidor

Workload: todas as outras workloads

AWSserviços: AWS Service Catalog; AWS Lambda

Resumo

AWSO Service Catalog é um serviço regional e isso significa que os portfólios e produtos do AWS Service Catalog só são visíveis na AWS região em que foram criados. Se você configurar um hub do AWS Service Catalog em uma nova região, deverá recriar seus produtos existentes e isso pode ser um processo demorado.

A abordagem desse padrão ajuda a simplificar esse processo, descrevendo como copiar produtos de um hub do AWS Service Catalog em uma AWS conta de origem ou região para um novo hub em uma conta ou região de destino. Para obter mais informações sobre o hub e o modelo spoke do AWS Service Catalog, consulte AWSService Catalog hub and spoke model: Como automatizar a implantação e o gerenciamento do AWS Service Catalog em várias contas no blog AWS Management and Governance. 

O padrão também fornece os pacotes de códigos separados necessários para copiar os produtos do AWS Service Catalog entre contas ou para outras regiões. Ao usar esse padrão, sua organização pode economizar tempo, disponibilizar versões de produtos existentes e anteriores em um novo hub do AWS Service Catalog, minimizar o risco de erros manuais e escalar a abordagem em várias contas ou regiões.

Observação: a seção Épicos desse padrão oferece duas opções para copiar produtos. Você pode usar a Opção 1 para copiar produtos entre contas ou escolher a Opção 2 para copiar produtos entre regiões.

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta da AWS ativa.

  • Produtos existentes do AWS Service Catalog em uma conta ou região de origem.

  • Um hub do AWS Service Catalog existente em uma conta ou região de destino.

  • Se quiser copiar produtos entre contas, você deve compartilhar e depois importar o portfólio do AWS Service Catalog contendo os produtos em sua conta de destino. Para obter mais informações sobre isso, consulte Compartilhamento e importação de portfólios na documentação do AWS Service Catalog.

Limitações

  • AWSOs produtos do Service Catalog que você deseja copiar entre regiões ou contas não podem pertencer a mais de um portfólio.

Arquitetura

O diagrama a seguir mostra a cópia dos produtos do AWS Service Catalog de uma conta de origem para uma conta de destino.

O diagrama a seguir mostra a cópia dos produtos do AWS Service Catalog de uma região de origem para uma região de destino.

Uma função entre contas na Região 1, uma função de execução do Lambda e uma função Lambda na Região 2.

Produtos copiados usando a função scProductCopy Lambda na Região 2.

Pilha de tecnologia

  • Amazon CloudWatch

  • AWSIdentity and Access Management (IAM)

  • AWSLambda

  • AWS Service Catalog

Automação e escala

Você pode escalar a abordagem desse padrão usando uma função Lambda que pode ser escalada dependendo do número de solicitações recebidas ou de quantos produtos do AWS Service Catalog você precisa copiar. Para obter mais informações sobre isso, consulte Dimensionamento da função Lambda na documentação do AWS Lambda.

Ferramentas

  • AWSA interface de linha de comando (AWSCLI) é uma ferramenta de código aberto que ajuda você a interagir com AWS serviços por meio de comandos em seu shell de linha de comando.

  • AWSO Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.

  • AWSO Lambda é um serviço de computação que ajuda você a executar código sem precisar provisionar ou gerenciar servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.

  • AWSO Service Catalog ajuda você a gerenciar centralmente catálogos de serviços de TI aprovados. AWS Os usuários finais podem implantar rapidamente somente os serviços de TI aprovados de que precisam, seguindo as restrições definidas pela organização.

Código

Você pode usar o  cross-account-copy pacote (anexado) para copiar produtos do AWS Service Catalog entre contas ou o cross-region-copy pacote (anexado) para copiar produtos entre regiões.

O pacote cross-account-copy contém os seguintes arquivos:

  • copyconf.properties— O arquivo de configuração que contém os parâmetros de região e ID da AWS conta para copiar produtos entre contas.

  • scProductCopyLambda.py: a função Python para copiar produtos entre contas.

  • createDestAccountRole.sh— O script para criar uma IAM função na conta de destino.

  • createSrcAccountRole.sh— O script para criar uma IAM função na conta de origem.

  • copyProduct.sh: o script para criar e invocar a função do Lambda para copiar produtos entre contas.

O pacote cross-region-copy contém os seguintes arquivos:

  • copyconf.properties— O arquivo de configuração que contém os parâmetros de região e ID da AWS conta para copiar produtos entre regiões.

  • scProductCopyLambda.py: a função Python para copiar produtos entre regiões.

  • copyProduct.sh— O script para criar uma IAM função e criar e invocar a função Lambda para copiar produtos entre regiões.

Épicos

TarefaDescriçãoHabilidades necessárias

Atualizar o arquivo de configuração.

  1. Faça download do pacote cross-account-copy (anexado) na sua máquina local.

  2. Atualize o arquivo de configuração copyconf.properties com os valores a seguir:

    • srcRegion: forneça a região de origem que contém os produtos.

    • destRegion: forneça a região de destino dos produtos.

    • sourceAccountId— Forneça o AWS ID da conta de origem.

    • destAccountId— Forneça o AWS ID da conta de destino.

AWSadministrador, administrador AWS de sistemas, administrador de nuvem

Configure suas credenciais para AWS CLI a conta de destino.

Configure suas credenciais para acessar AWS CLI em sua conta de destino executando o aws configure comando e fornecendo os seguintes valores:

$aws configure AWS Access Key ID [None]: <your_access_key_id> AWS Secret Access Key [None]: <your_secret_access_key> Default region name [None]: Region Default output format [None]:

Para obter mais informações sobre isso, consulte Conceitos básicos de configuração na documentação da interface de linha de AWS comando. 

AWSadministrador, administrador AWS de sistemas, administrador de nuvem

Configure suas credenciais para AWS CLI a conta de origem.

Configure suas credenciais para acessar AWS CLI em sua conta de origem executando o aws configure comando e fornecendo os seguintes valores: 

$aws configure AWS Access Key ID [None]: <your_access_key_id> AWS Secret Access Key [None]: <your_secret_access_key> Default region name [None]: Region Default output format [None]:

Para obter mais informações sobre isso, consulte Conceitos básicos de configuração na documentação da interface de linha de AWS comando. 

AWSadministrador, administrador AWS de sistemas, administrador de nuvem

Crie uma função de execução do Lambda na sua conta de destino.

Execute o script createDestAccountRole.sh  na sua conta de destino. O script implementa as seguintes ações:

  • Cria uma função de execução do Lambda na sua conta de destino

  • Cria e anexa a IAM política para a função de execução do Lambda 

AWSadministrador, administrador AWS de sistemas, administrador de nuvem

Crie a IAM função entre contas em sua conta de origem.

Execute o script createSrcAccountRole.sh  na sua conta de origem. O script implementa as seguintes ações:

  • Cria uma IAM função entre contas em sua conta de origem que é assumida pela função de execução do Lambda na conta de destino para copiar produtos

  • Cria e anexa uma IAM política para a função entre contas em sua conta de origem

AWSadministrador, administrador AWS de sistemas, administrador de nuvem

Execute o copyProduct script na conta de destino.

Execute o script copyProduct.sh  na sua conta de destino. O script implementa as seguintes ações:

  • Cria e invoca a função do Lambda para copiar produtos da conta de origem para a conta de destino

AWSadministrador, administrador AWS de sistemas, administrador de nuvem
TarefaDescriçãoHabilidades necessárias

Atualizar o arquivo de configuração.

  1. Faça download do pacote cross-region-copy (anexado) na sua máquina local.

  2. Atualize o arquivo de configuração copyconf.properties com os valores a seguir:

    • srcRegion: forneça a região de origem que contém os produtos.

    • destRegion: forneça a região de destino dos produtos.

    • accountId— Forneça o ID AWS da sua conta.

AWSadministrador de sistemas, administrador de nuvem, AWS administrador

Configure suas credenciais para AWSCLI.

Configure suas credenciais para acesso AWS CLI em seu ambiente executando o aws configure comando e fornecendo os seguintes valores:

$aws configure AWS Access Key ID [None]: <your_access_key_id> AWS Secret Access Key [None]: <your_secret_access_key> Default region name [None]: Region Default output format [None]:

Para obter mais informações sobre isso, consulte Conceitos básicos de configuração na documentação da interface de linha de AWS comando. 

AWSadministrador, administrador AWS de sistemas, administrador de nuvem

Execute o copyProduct script.

Execute o script copyProduct.sh na sua região de destino. O script implementa as seguintes ações:

  • Cria uma função de execução do Lambda

  • Cria e anexa a IAM política para a função de execução do Lambda

  • Cria e invoca a função do Lambda para copiar produtos da região de origem para a região de destino

AWSadministrador, administrador AWS de sistemas, administrador de nuvem

Recursos relacionados

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip