Gestisci i prodotti AWS Service Catalog in più AWS account e AWS aree geografiche - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestisci i prodotti AWS Service Catalog in più AWS account e AWS aree geografiche

Creato da Ram Kandaswamy () AWS

Ambiente: produzione

Tecnologie: gestione e governance; infrastruttura; modernizzazione

Carico di lavoro: tutti gli altri carichi di lavoro

AWSservizi: AWS Service Catalog; AWS CloudFormation

Riepilogo

Amazon Web Services (AWS) Service Catalog semplifica e accelera la governance e la distribuzione dei modelli Infrastructure as Code (IaC) per le aziende. AWS CloudFormation I modelli vengono utilizzati per definire una raccolta di AWS risorse (pile) necessarie per un prodotto. AWS CloudFormation StackSets estende questa funzionalità consentendoti di creare, aggiornare o eliminare pile su più account e AWS regioni con un'unica operazione.

AWSGli amministratori del Service Catalog creano prodotti utilizzando CloudFormation modelli creati dagli sviluppatori e li pubblicano. Questi prodotti vengono quindi associati a un portafoglio e vengono applicati dei vincoli per la governance. Per rendere i tuoi prodotti disponibili agli utenti di altri AWS account o unità organizzative (OUs), in genere condividi il tuo portafoglio con loro. Questo modello descrive un approccio alternativo per la gestione delle offerte di prodotti AWS Service Catalog basato su AWS CloudFormation StackSets. Invece di condividere i portafogli, utilizzi i vincoli dello stack set per impostare le AWS regioni e gli account in cui il prodotto può essere distribuito e utilizzato. Utilizzando questo approccio, è possibile effettuare il provisioning dei prodotti AWS Service Catalog in più account e AWS aree geografiche e gestirli da una posizione centrale, rispettando al contempo i requisiti di governance. OUs 

Vantaggi di questo approccio:

  • Il prodotto viene fornito e gestito dall'account principale e non viene condiviso con altri account.

  • Questo approccio fornisce una visione consolidata di tutti i prodotti (pile) forniti e basati su un prodotto specifico.

  • La configurazione con AWS Service Management Connector è più semplice, perché si rivolge a un solo account.

  • È più facile interrogare e utilizzare i prodotti di AWS Service Catalog.

Prerequisiti e limitazioni

Prerequisiti

  • AWS CloudFormation modelli per IaC e controllo delle versioni

  • Configurazione multi-account e AWS Service Catalog per il provisioning e la gestione delle risorse AWS

Limitazioni

  • Questo approccio utilizza e AWS CloudFormation StackSets ne applica le limitazioni: StackSets

    • StackSets non supporta la distribuzione di CloudFormation modelli tramite macro. Se utilizzi una macro per preelaborare il modello, non sarai in grado di utilizzare una distribuzione StackSets basata.

    • StackSets offre la possibilità di dissociare uno stack dal set di stack, in modo da poter scegliere come destinazione uno stack specifico per risolvere un problema. Tuttavia, uno stack dissociato non può essere riassociato allo stack set.

  • AWSService Catalog genera automaticamente i nomi StackSet . La personalizzazione non è attualmente supportata.

Architettura

Architettura di Target

L'utente gestisce AWS il prodotto Service Catalog utilizzando AWS CloudFormation il modello e StackSets.
  1. L'utente crea un AWS CloudFormation modello per il provisioning AWS delle risorse, in JSON o in YAML formato.

  2. Il CloudFormation modello crea un prodotto in AWS Service Catalog, che viene aggiunto a un portfolio.

  3. L'utente crea un prodotto fornito, che crea CloudFormation pile negli account di destinazione.

  4. Ogni stack fornisce le risorse specificate nei modelli. CloudFormation

Strumenti

AWSservizi

  • AWS CloudFormationti aiuta a configurare AWS le risorse, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita tra AWS account e regioni.

  • AWSCommand Line Interface (AWSCLI) è uno strumento open source che consente di interagire con i AWS servizi tramite comandi nella shell della riga di comando.

  • AWSIdentity and Access Management (IAM) consente di gestire in modo sicuro l'accesso alle AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.

  • AWSService Catalog consente di gestire centralmente i cataloghi dei servizi IT approvatiAWS. Gli utenti finali possono distribuire rapidamente soltanto i servizi IT approvati di cui hanno bisogno, in accordo con i vincoli stabiliti dall'organizzazione.

Epiche

AttivitàDescrizioneCompetenze richieste

Crea un portfolio.

Un portafoglio è un contenitore che include uno o più prodotti raggruppati in base a criteri specifici. L'utilizzo di un portafoglio per i tuoi prodotti ti aiuta ad applicare vincoli comuni a tutti i tuoi set di prodotti.

Per creare un portfolio, segui le istruzioni nella documentazione del AWS Service Catalog. Se utilizzi il AWSCLI, ecco un esempio di comando:

aws servicecatalog create-portfolio --provider-name my-provider --display-name my-portfolio

Per ulteriori informazioni, consulta la AWSCLIdocumentazione.

AWSService Catalog, IAM

Crea un CloudFormation modello.

Crea un CloudFormation modello che descriva le risorse. I valori delle proprietà delle risorse devono essere parametrizzati ove applicabile.

AWS CloudFormation, JSON/YAML

Crea un prodotto con informazioni sulla versione.

Il CloudFormation modello diventa un prodotto quando lo pubblichi nel AWS Service Catalog. Fornisci i valori per i parametri opzionali di dettaglio della versione, come il titolo e la descrizione della versione; ciò sarà utile per richiedere informazioni sul prodotto in un secondo momento.

Per creare un prodotto, segui le istruzioni nella documentazione del AWS Service Catalog. Se utilizzi il AWSCLI, un comando di esempio è:

aws servicecatalog create-product --cli-input-json file://create-product-input.json

dove create-product-input.json è il file che passa i parametri per il prodotto. Per un esempio di questo file, consulta la sezione Informazioni aggiuntive. Per ulteriori informazioni, consulta la AWSCLIdocumentazione.

AWS Service Catalog

Applica vincoli.

Applica i vincoli dello stack set al portafoglio per configurare le opzioni di distribuzione del prodotto come AWS account multipli, regioni e autorizzazioni. Per istruzioni, consulta la documentazione del AWS Service Catalog.

AWS Service Catalog

Aggiungi autorizzazioni

Fornisci le autorizzazioni agli utenti in modo che possano lanciare i prodotti del portafoglio. Per le istruzioni sulla console, consulta la documentazione del AWS Service Catalog. Se utilizzi il AWSCLI, ecco un esempio di comando:

aws servicecatalog associate-principal-with-portfolio \ --portfolio-id port-2s6abcdefwdh4 \ --principal-arn arn:aws:iam::444455556666:role/Admin \ --principal-type IAM

Per ulteriori informazioni, consulta la AWSCLIdocumentazione.

AWSService Catalog, IAM

Fornisci il prodotto.

Un prodotto sottoposto a provisioning è un'istanza di risorse di un prodotto. Il provisioning di un prodotto basato su un CloudFormation modello avvia uno CloudFormation stack e le relative risorse sottostanti.

Effettua il provisioning del prodotto scegliendo come target le AWS regioni e gli account applicabili, in base ai vincoli dello stack set. Nel AWSCLI, ecco un comando di esempio:

aws servicecatalog provision-product \ --product-id prod-abcdfz3syn2rg \ --provisioning-artifact-id pa-abc347pcsccfm \ --provisioned-product-name "mytestppname3"

Per ulteriori informazioni, consulta la AWSCLIdocumentazione.

AWS Service Catalog

Risorse correlate

Riferimenti

Tutorial e video

Informazioni aggiuntive

Quando si utilizza il create-product comando, il cli-input-json parametro punta a un file che specifica informazioni come il proprietario del prodotto, l'e-mail di supporto e i dettagli del modello. CloudFormation Ecco un esempio di tale file:

{ "Owner": "Test admin", "SupportDescription": "Testing", "Name": "SNS", "SupportEmail": "example@example.com", "ProductType": "CLOUD_FORMATION_TEMPLATE", "AcceptLanguage": "en", "ProvisioningArtifactParameters": { "Description": "SNS product", "DisableTemplateValidation": true, "Info": { "LoadTemplateFromURL": "<url>" }, "Name": "version 1" }