Etapa 2. Crie o produto do AWS Service Catalog - AWS Control Tower

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

Etapa 2. Crie o produto do AWS Service Catalog

Para criar um AWS Service Catalog produto, siga as etapas em Criação de produtos no Guia AWS Service Catalog do administrador. Você adicionará o modelo da sua conta como modelo ao criar o AWS Service Catalog produto.

Importante

Como resultado do licenciamento atualizado HashiCorp do Terraform, AWS Service Catalog alterei o suporte aos produtos Terraform Open Source e provisionei os produtos para um novo tipo de produto, chamado Externo. Para saber mais sobre como essa alteração afeta o AFC, incluindo como atualizar seus esquemas de conta existentes para o tipo de produto External, consulte Transição para o tipo de produto External.

Resumo das etapas para criar um esquema
  • Crie ou baixe um AWS CloudFormation modelo ou arquivo de configuração tar.gz do Terraform que se tornará o modelo da sua conta. Alguns exemplos de modelos são fornecidos posteriormente nesta seção.

  • Faça login no Conta da AWS local em que você armazena seus blueprints do Account Factory (às vezes chamados de conta central).

  • Navegue até o AWS Service Catalog console. Escolha Lista de produtos e Fazer upload de novo produto.

  • No painel Detalhes do produto, insira os detalhes do seu produto de esquema, como nome e descrição.

  • Selecione Usar um arquivo de modelo e Escolher arquivo. Selecione ou cole o modelo ou arquivo de configuração que você desenvolveu ou baixou para usar como seu esquema.

  • Escolha Criar produto na parte inferior da página do console.

Você pode baixar um AWS CloudFormation modelo do repositório de arquitetura de AWS Service Catalog referência. Um exemplo desse repositório ajuda a configurar um plano de backup para seus recursos.

Aqui está um exemplo de modelo para uma empresa fictícia chamada Best Pets. Isso ajuda a configurar uma conexão com o banco de dados de animais de estimação que ela possui.

Resources: ConnectionStringGeneratorLambdaRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: - lambda.amazonaws.com Action: - "sts:AssumeRole" ConnectionStringGeneratorLambda: Type: AWS::Lambda::Function Properties: FunctionName: !Join ['-', ['ConnectionStringGenerator', !Select [4, !Split ['-', !Select [2, !Split ['/', !Ref AWS::StackId]]]]]] Description: Retrieves the connection string for this account to access the Pet Database Role: !GetAtt ConnectionStringGeneratorLambdaRole.Arn Runtime: nodejs22.x Handler: index.handler Timeout: 5 Code: ZipFile: > export const handler = async (event, context) => { const awsAccountId = context.invokedFunctionArn.split(“:”)[4] const connectionString= “fake connection for account ” + awsAccountId; const response = { statusCode: 200, body: connectionString }; return response; }; ConnectionString: Type: Custom::ConnectionStringGenerator Properties: ServiceToken: !GetAtt ConnectionStringGeneratorLambda.Arn PetDatabaseConnectionString: DependsOn: ConnectionString # For example purposes we're using SSM parameter store. # In your template, use secure alternatives to store # sensitive values such as connection strings. Type: AWS::SSM::Parameter Properties: Name: pet-database-connection-string Description: Connection information for the BestPets pet database Type: String Value: !GetAtt ConnectionString.Value