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á.
Configurando o Enterprise Blueprint Factory
Esta seção ajuda você a configurar o Enterprise Blueprint Factory em seu AWS ambiente. Ele inclui instruções detalhadas para configurar os repositórios e os AWS recursos necessários para o Enterprise Blueprint Factory.
Pré-requisitos
A seguir estão os pré-requisitos para configurar o Enterprise Blueprint Factory em seu ambiente: AWS
-
O seguinte Contas da AWS:
-
Uma conta usada para administrar o Enterprise Blueprint Factory e lançar produtos
-
Uma ou mais contas que consomem o produto lançado
-
-
Todas as contas são:
-
Gerenciado como uma organização em AWS Organizations
-
Localizado na mesma unidade organizacional (OU)
-
A organização segue o account-per-tenant modelo
-
-
AWS Command Line Interface (AWS CLI), instalado e configurado
-
Permissões para implantar uma AWS CloudFormation pilha que cria os seguintes AWS recursos:
-
Grupo de CloudWatch registros do Amazon Logs
-
AWS CodePipeline oleodutos
-
AWS CodeBuild projetos
-
Política e regra de ônibus para EventBridge eventos da Amazon
-
AWS Identity and Access Management Papel e política (IAM)
-
AWS Key Management Service (AWS KMS) chave e política chave
-
AWS Service Catalog portfólios, produtos e produtos provisionados
-
Tópico, política de tópicos e assinatura do Amazon Simple Notification Service (Amazon SNS)
-
Buckets do Amazon Simple Storage Service (Amazon S3)
-
AWS Systems Manager Parâmetros do Parameter Store
Para obter mais informações sobre como configurar essas permissões, consulte a CloudFormation documentação e a implementação de políticas para permissões de privilégios mínimos para. AWS CloudFormation
-
-
Uma GitHub conta
Práticas recomendadas
Recomendamos que você siga estas melhores práticas ao configurar o Enterprise Blueprint Factory em seu AWS ambiente:
-
Ao configurar as permissões necessárias para implantar o Enterprise Blueprint Factory, siga o princípio do menor privilégio e conceda as permissões mínimas necessárias. Para obter mais informações, consulte Concessão de privilégio mínimo e nas melhores práticas de segurança na documentação do IAM.
-
Ao configurar o acesso aos portfólios do Service Catalog, siga o princípio do privilégio mínimo e conceda acesso somente a funções, usuários ou administradores específicos. Siga as melhores práticas de segurança do Service Catalog.
Criando os repositórios
Esta seção ajuda você a configurar o repositório de configuração e o repositório de produtos para o Enterprise Blueprint Factory. Para configurar seus repositórios, você bifurca
Para bifurcar os repositórios GitHub
-
Inicie sessão no GitHub
. -
Navegue até o repositório do GitHub repositório de configuração
. -
Escolha Fork.
-
Na página Criar uma nova bifurcação, na caixa Nome do repositório, digite.
ServiceCatalog-ConfigRepo -
(Opcional) Insira uma descrição.
-
Selecione Copiar somente a ramificação principal.
-
Escolha Criar bifurcação.
-
Repita essas etapas para bifurcar o repositório Code repo
GitHub . Insira o nome ServiceCatalog-CodeRepodesse repositório. -
Repita essas etapas para bifurcar o repositório do Product Repo
GitHub . Insira o nome ServiceCatalog-BlueprintProductRepodesse repositório.
Para criar a CodeConnections conexão
-
Na AWS CLI, insira o seguinte comando para criar uma CodeConnections conexão com: GitHub
aws codeconnections create-connection --provider-type GitHub --connection-name <MyConnection> -
Use o console AWS Developer Tools para concluir a conexão. Para obter mais informações, consulte Atualizar uma conexão pendente.
Para clonar os repositórios bifurcados
-
Insira os seguintes comandos para clonar os GitHub repositórios em sua estação de trabalho local:
git clone git@github.com:<user>/aws-enterprise-blueprint-factory-config-repo ServiceCatalog-ConfigRepo git clone git@github.com:<user>/aws-enterprise-blueprint-factory-blueprint-repo ServiceCatalog-BlueprintProductRepo git clone git@github.com:<user>/aws-enterprise-blueprint-factory-code-repo ServiceCatalog-CodeRepo
Configurando o Enterprise Blueprint Factory
As instruções nesta seção descrevem como configurar o Enterprise Blueprint Factory em sua conta de destino. O repositório de produtos do qual você clonou GitHub contém dois CloudFormation modelos de amostra e. BP-S3 BP-SNS Seguindo essas instruções, você implanta esses dois exemplos de blueprints como produtos no Service Catalog.
Para configurar as funções
-
Na conta do desenvolvedor do Blueprint, crie a seguinte política de confiança e salve-a como
sc-enduserrole-trust-policy.json:{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/ServiceCatalogEndUserRole" }, "Action": "sts:AssumeRole" } } -
Insira o comando a seguir para criar a função
ServiceCatalogEndUserRoledo IAM:aws iam create-role \ --role-name ServiceCatalogEndUserRole \ --assume-role-policy-document file://sc-enduserrole-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogEndUserFullAccess \ -- role-name ServiceCatalogEndUserRolenota
Os desenvolvedores usam a
ServiceCatalogEndUserRolefunção para provisionar o produto Service Catalog. Essa função não precisa de permissões para criar os recursos definidos no blueprint. Isso segue as melhores práticas de permissões com menos privilégios e segregação de funções. -
Crie a seguinte política de confiança e salve-a como
sc-launchconstraintrole-trust-policy.json:{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" } } -
Insira o comando a seguir para criar a função
ServiceCataloglogLaunchConstraintRoledo IAM:aws iam create-role \ --role-name ServiceCataloglogLaunchConstraintRole \ --assume-role-policy-document file://sc-launchconstraintrole-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSCloudFormationFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole -
Adicione a política a seguir à função
ServiceCataloglogLaunchConstraintRoledo IAM. Inclua todas as outras permissões necessárias para os recursos do produto, conforme descrito em Configurando uma função do Launch na documentação do Service Catalog:{ "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":"*", "Condition":{ "StringEquals":{ "s3:ExistingObjectTag/servicecatalog:provisioning":"true" } } ] }nota
O Service Catalog usa essa função para implantar a CloudFormation pilha como um produto no Service Catalog. A política de confiança para essa função garante que somente o Service Catalog possa assumi-la. Outros usuários ou serviços não podem assumir essa função. Isso segue a melhor prática de segregação de funções.
-
Crie a seguinte política de confiança e salve-a como
sc-codebuild-trust-policy.json:{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole" } } -
Insira o comando a seguir para criar a função
codebuild-servicecatalog-admin-roledo IAM:aws iam create-role \ --role-name codebuild-servicecatalog-admin-role \ --assume-role-policy-document file://sc-codebuild-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess \ --role-name codebuild-servicecatalog-admin-rolenota
Os CodeBuild trabalhos no pipeline de configuração usam essa função.
Para configurar o bucket do Amazon S3
-
Para criar um bucket do Amazon Simple Storage Service (Amazon S3) usado para armazenar CodePipeline os artefatos, siga as instruções em Criação de um bucket na documentação do Amazon S3. Siga as melhores práticas de segurança do Amazon S3.
Para configurar os AWS Systems Manager parâmetros
-
Siga as instruções em Criando parâmetros do Parameter Store no Systems Manager para criar os parâmetros do Systems Manager na tabela a seguir. Esses parâmetros são usados no CloudFormation modelo que implanta o pipeline de configuração.
Nome do parâmetro Tipo Descrição /blueprints/resources/vpc_idString Parâmetro que armazena o ID da nuvem privada virtual (VPC) de destino. /blueprints/resources/subnetsStringList Parâmetro que armazena IDs as sub-redes de destino. /blueprints/resources/securitygroupsStringList Parâmetro que armazena os grupos IDs de segurança de destino. /blueprints/resources/artifacts-bucket-nameString Parâmetro que armazena o nome do bucket do Amazon S3 usado para CodePipeline artefatos. /blueprints/resources/BlueprintRepoString Parâmetro que armazena o GitHub repositório em que os blueprints do Enterprise Blueprint Factory são armazenados. O valor padrão é <user>/aws-enterprise-blueprint-factory-blueprint-repo./blueprints/resources/CodeRepoString Parâmetro que armazena o GitHub repositório em que o código do pipeline de configuração do Enterprise Blueprint Factory e o Bootstrapping-Admin-Productcódigo são armazenados. O valor padrão é<user>/aws-enterprise-blueprint-factory-code-repo./blueprints/resources/ConfigRepoString Parâmetro que armazena o GitHub repositório em que os arquivos de configuração do Enterprise Blueprint Factory são armazenados. O valor padrão é <user>/aws-enterprise-blueprint-factory-config-repo.
Para atualizar os CloudFormation modelos
-
No repositório de código (
ServiceCatalog-CodeRepo), abra o arquivo ServiceCatalog-Pipeline.yml. -
Edite os valores padrão para os seguintes parâmetros nesse arquivo:
-
ConfigRepositoryNameé o parâmetro do Systems Manager que armazena o GitHub repositório em que os arquivos de configuração do Enterprise Blueprint Factory são armazenados. O valor padrão é/blueprints/resources/ConfigRepo. -
CodeRepositoryNameé o parâmetro do Systems Manager que armazena o GitHub repositório em que o código do pipeline de configuração do Enterprise Blueprint Factory e oBootstrapping-Admin-Productcódigo são armazenados. O valor padrão é/blueprints/resources/CodeRepo. -
BlueprintRepositoryNameé o parâmetro do Systems Manager que armazena o GitHub repositório em que os blueprints do Enterprise Blueprint Factory são armazenados. O valor padrão é/blueprints/resources/BlueprintRepo. -
BranchNameé a ramificação do repositório de configuração em que o arquivo de configuração é armazenado. O valor padrão émain. -
VPCIDé o parâmetro do Systems Manager que armazena o ID da VPC de destino. O valor padrão é/blueprints/resources/vpc_id. -
Subnetsé o parâmetro do Systems Manager que armazena as sub-redes IDs de destino. O valor padrão é/blueprints/resources/subnets. -
SecurityGroupIdsé o parâmetro do Systems Manager que armazena os grupos IDs de segurança de destino. O valor padrão é/blueprints/resources/securitygroups. -
IamRoleNameé o nome da função do IAM que os CodeBuild trabalhos usam. O valor padrão écodebuild-servicecatalog-admin-role. -
EnvironmentTypeé o ambiente em que você está implantando o Enterprise Blueprint Factory. O valor padrão éDEV. -
ArtifactBucketé o parâmetro do Systems Manager que armazena o bucket do Amazon S3 onde CodePipeline armazena artefatos. O valor padrão é/blueprints/resources/artifacts-bucket-name. -
CodeConnectionArné o Amazon Resource Name (ARN) da CodeConnections conexão a. GitHub
-
-
Salve e feche o arquivo ServiceCatalog-Pipeline.yml.
-
Insira os seguintes comandos para mesclar as alterações no repositório de código:
cd ServiceCatalog-CodeRepo git add ServiceCatalog-Pipeline.yml git commit -m "<description of change>" git push origin main -
No repositório de configuração (
ServiceCatalog-ConfigRepo), abra o arquivo bp_config.yml. -
Atualize os valores na seção de portfólio conforme necessário para sua organização. Por exemplo,
portfolio_access_rolesatualize osshare_to_ouatributos e. Para obter mais informações, consulte Arquivo de configuração neste guia. -
Salve e feche o arquivo bp_config.yml.
-
Insira os seguintes comandos para mesclar as alterações no repositório de código:
cd ServiceCatalog-ConfigRepo git add bp_config.yml git commit -m "<description of change>" git push origin main
Para implantar a CloudFormation pilha
-
Faça login na conta administrativa do Enterprise Blueprint Factory.
-
Mude para uma função do IAM que tenha permissões administrativas.
-
Abra o console de CloudFormation
. -
Na barra de navegação na parte superior da tela, escolha o destino Região da AWS.
-
Na página Pilhas, escolha Criar pilha no canto superior direito e selecione Com novos recursos (padrão).
-
Em Prepare template (Preparar modelo), selecione Template is ready (O modelo está pronto).
-
Em Especificar modelo, escolha Fazer upload de um arquivo de modelo.
-
Escolha Escolher arquivo, navegue até a
ServiceCatalog-CodeRepopasta e escolha ServiceCatalog-Pipeline.yml. -
Escolha Avançar para continuar e validar o modelo.
-
Em Nome da pilha, insira um nome para a pilha.
-
Na seção Parâmetros, não altere os valores padrão.
-
Escolha Próximo.
-
Na página Configurar opções de pilha, não altere os valores padrão e escolha Avançar.
-
Na página Revisar e criar, verifique os detalhes do modelo e da pilha e escolha Enviar.
-
Monitore o progresso da implantação da pilha. Para obter mais informações, consulte a documentação do CloudFormation.
-
Aguarde até que o status mude para
CREATE_COMPLETE.
Para validar a implantação
-
Abra o console de AWS Service Catalog
. -
No painel de navegação, escolha Produtos.
-
Confirme se ServiceCatalog-Pipeline está disponível na lista de produtos.
-
Abra o console de AWS CodePipeline
. -
Em Nome, escolha o pipeline de configuração. Por padrão, o nome do pipeline é
ServiceCatalog-Pipeline. -
Selecione Visualizar histórico.
-
Visualize o status da execução do pipeline e do estágio. Para obter mais informações sobre o status, consulte Exibir status de execução na CodePipeline documentação.
-
Espere até que o status do pipeline de configuração seja
Succeeded. -
Abra o console do Service Catalog
. -
No painel de navegação, escolha Produtos.
-
Confirme se os produtos BP-S3 e BP-SNS estão disponíveis. Isso indica que os pipelines de lançamento do produto para os esquemas de amostra foram concluídos com êxito.
-
Se você quiser excluir os exemplos de blueprints que você implantou ao configurar o Enterprise Blueprint Factory, siga as instruções em Excluindo um blueprint.
Excluir o Enterprise Blueprint Factory
Se você não estiver usando o Enterprise Blueprint Factory, poderá excluí-lo para parar de incorrer nos custos associados aos seus AWS recursos.
Para excluir os recursos do
-
Insira os seguintes comandos para excluir as funções do IAM que foram implantadas na conta administrativa do Enterprise Blueprint Factory:
aws iam detach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogEndUserFullAccess \ --role-name ServiceCatalogEndUserRole aws iam delete-role --role-name ServiceCatalogEndUserRole aws iam detach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole aws iam delete-role --role-name ServiceCataloglogLaunchConstraintRole -
Exclua a CloudFormation pilha da Enterprise Blueprint Factory. Para obter instruções, consulte Excluir uma pilha do CloudFormation console ou Excluir uma pilha do. AWS CLI
-
Exclua o bucket do Amazon S3 usado para armazenar os CodePipeline artefatos. Para obter instruções, consulte Excluir um bucket na documentação do Amazon S3.
-
Exclua os seguintes parâmetros do Systems Manager do Parameter Store:
-
/blueprints/resources/vpc_id -
/blueprints/resources/subnets -
/blueprints/resources/securitygroups -
/blueprints/resources/artifacts-bucket-name -
/blueprints/resources/BlueprintRepo -
/blueprints/resources/CodeRepo -
/blueprints/resources/ConfigRepo
Para obter instruções, consulte Excluindo parâmetros do Parameter Store na documentação do Systems Manager.
-