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à.
Utilizzo di Enterprise Blueprint Factory
Questa sezione consente di creare, aggiornare o eliminare i blueprint nel proprio ambiente. Fornisce istruzioni dettagliate per la gestione di un blueprint durante l'intero ciclo di vita.
Per creare o aggiornare blueprint personalizzati, è necessario conoscere come creare modelli IaC, come AWS CloudFormationmodelli o costrutti. AWS Cloud Development Kit (AWS CDK) Questa guida non include informazioni o istruzioni su come definire i blueprint rilasciati tramite Enterprise Blueprint Factory.
Prerequisiti
Di seguito sono riportati i prerequisiti per l'utilizzo di Enterprise Blueprint Factory nell'ambiente in uso: AWS
-
AWS Command Line Interface (AWS CLI), installato e configurato
-
Autorizzazioni per assumere il ruolo
ServiceCatalogEndUserRoleAWS Identity and Access Management (IAM) -
Un CloudFormation modello o AWS CDK un costrutto
Creazione di un blueprint
Le pipeline di Enterprise Blueprint Factory distribuiscono i blueprint definiti nel file di configurazione. Lo sviluppatore avvia la pipeline di configurazione unendo il file di configurazione nel repository di configurazione. Quindi, Enterprise Blueprint Factory utilizza il ServiceCatalogLaunchConstraintRole per distribuire il blueprint come prodotto in Service Catalog. Per ulteriori informazioni sulle azioni eseguite dalla pipeline di configurazione e dalla pipeline di rilascio quando si crea un blueprint, vedere Creazione di Blueprint in questa guida.
Per aggiungere il blueprint all'archivio del prodotto
-
Assicurati di aver configurato Enterprise Blueprint Factory secondo le istruzioni riportate in Configurazione di Enterprise Blueprint Factory in questa guida.
-
Conferma che la politica per il
ServiceCataloglogLaunchConstraintRoleruolo consenta di fornire le risorse definite nel blueprint. -
Nell'archivio del prodotto (
ServiceCatalog-BlueprintProductRepo), crea una cartella per il nuovo blueprint. -
Incolla il modello IAc (CloudFormation modello o AWS CDK costrutto) nella cartella che hai creato.
-
Crea un file denominato product_config.json nella cartella che hai creato.
-
Apri il file product_config.json e incolla quanto segue nel file:
{ "SchemaVersion": "1.0", "ProductVersionName": "1.0.1", "Deprecated_Versions" : [], "ProductVersionDescription": "<description>", "ProductType": "CLOUD_FORMATION_TEMPLATE", "Properties": { "TemplateFilePath": "./<folder name>/<file name>" } }Dove:
-
<description>è una breve descrizione della versione del blueprint -
<folder name>è il nome della cartella creata nell'archivio del prodotto -
<file name>è il nome del modello IAc
Nota
È possibile aggiornare la versione dello schema o i nomi delle versioni del prodotto in modo che corrispondano alle politiche dell'organizzazione.
-
-
Salvate e chiudete il file product_config.json.
-
Immettete i seguenti comandi per unire le modifiche nell'archivio del prodotto:
cd ServiceCatalog-BlueprintProductRepo git add <folder name>/<file name> <folder name>\product_config.json git commit -m "The first version of <file name> blueprint" git push origin main
Per aggiornare il file di configurazione
-
Nel repository di configurazione (
ServiceCatalog-ConfigRepo), aprite il file config.yml. -
Modificate la
portfoliossezione e laproductssezione secondo necessità per il nuovo blueprint. Per ulteriori informazioni, consulta il file di configurazione in questa guida. -
Salvate e chiudete il file config.yml.
-
Immettete i seguenti comandi per unire le modifiche nel repository di configurazione:
cd ServiceCatalog-ConfigRepo git add config.yml git commit -m "<description of change>" git push origin mainL'approvazione di questa pull request avvia la pipeline di configurazione. La pipeline di configurazione crea una pipeline di rilascio per il prodotto.
Per esaminare i registri di distribuzione
-
Accedere all'account amministrativo di Enterprise Blueprint Factory.
-
Apri la AWS CodePipeline console
. -
In Nome, scegli la pipeline di rilascio per il prodotto. Per impostazione predefinita, il nome della pipeline è.
BluePrint_<Product-Name>-<CloudFormation-Stack-Name> -
Scegli View history (Visualizza cronologia).
-
Visualizza lo stato della pipeline e dell'esecuzione della fase. Per ulteriori informazioni sullo stato, consulta Visualizza lo stato di esecuzione nella CodePipeline documentazione.
-
Se la pipeline fallisce, esamina la causa dell'errore. Per istruzioni su come configurare il monitoraggio per le pipeline, consulta Monitoraggio delle pipeline nella documentazione. CodePipeline Se la pipeline di rilascio non è riuscita a causa di un controllo cfn-lint o cfn_nag, correggi l'errore nel modello. Invia un'altra pull request al repository del prodotto. Questo riavvia la pipeline di rilascio. Per ulteriori informazioni sulla correzione degli errori del modello, consultate la sezione Risoluzione dei problemi di questa guida.
-
Attendi che lo stato della pipeline di rilascio sia raggiunto.
Succeeded
Per convalidare la distribuzione
-
Accedi a un account consumatore dell'organizzazione.
-
Assumi il ruolo di
ServiceCatalogEndUserRoleIAM. -
Aprire la console Service Catalog
. -
Nel riquadro di navigazione, scegli Prodotti.
-
Verifica che il nuovo prodotto sia disponibile nell'elenco dei prodotti.
Aggiornamento di uno schema
Per ulteriori informazioni sulle azioni eseguite dalla pipeline di configurazione e dalla pipeline di rilascio quando si crea un blueprint, consulta Blueprint update in questa guida.
Per aggiornare un blueprint
-
Nell'archivio del prodotto, accedi alla cartella del prodotto.
-
Incolla il modello iAc aggiornato. Assicurati che il nome del file sia lo stesso della versione precedente.
-
Apri il file product_config.json.
-
Per
ProductVersionName, aggiorna il numero di versione. -
Se desideri evitare che la versione precedente del prodotto venga distribuita in futuro
Deprecated_Versions, inserisci i numeri di versione precedenti in un elenco separato da virgole. -
Immettete i seguenti comandi per unire le modifiche nell'archivio del prodotto:
cd ServiceCatalog-BlueprintProductRepo git add <folder name>/<file name> <folder name>\product_config.json git commit -m "Version <number> of <file name> blueprint" git push origin mainL'approvazione di questa pull request avvia la pipeline di rilascio del prodotto.
Per esaminare i registri di distribuzione
-
Accedere all'account amministrativo di Enterprise Blueprint Factory.
-
Apri la AWS CodePipeline console
. -
In Nome, scegli la pipeline di rilascio. Per impostazione predefinita, il nome della pipeline è.
BluePrint_<Product-Name>-<CloudFormation-Stack-Name> -
Scegli View history (Visualizza cronologia).
-
Visualizza lo stato della pipeline e dell'esecuzione della fase. Per ulteriori informazioni sullo stato, consulta Visualizza lo stato di esecuzione nella CodePipeline documentazione.
-
Se la pipeline fallisce, esamina la causa dell'errore. Per istruzioni su come configurare il monitoraggio per le pipeline, consulta Monitoraggio delle pipeline nella documentazione. CodePipeline Se la pipeline di rilascio non è riuscita a causa di un controllo cfn-lint o cfn_nag, correggi l'errore nel modello. Invia un'altra pull request al repository del prodotto. Questo riavvia la pipeline di rilascio. Per ulteriori informazioni sulla correzione degli errori del modello, consultate la sezione Risoluzione dei problemi di questa guida.
-
Attendi che lo stato della pipeline di rilascio sia raggiunto.
Succeeded
Per convalidare l'aggiornamento
-
Accedi a un account consumatore dell'organizzazione.
-
Assumi il ruolo di
ServiceCatalogEndUserRoleIAM. -
Aprire la console Service Catalog
. -
Nel riquadro di navigazione, scegli Prodotti.
-
Verifica che la nuova versione del prodotto sia disponibile nell'elenco dei prodotti.
Eliminazione di un blueprint
Quando elimini un prodotto, Service Catalog rimuove tutte le versioni del prodotto da ogni portafoglio che contiene il prodotto. Per ulteriori informazioni, vedere Eliminazione dei prodotti nella documentazione del Service Catalog. Per ulteriori informazioni sulle azioni eseguite dalla pipeline di configurazione e dalla pipeline di rilascio quando si crea un blueprint, consulta la sezione Eliminazione del blueprint in questa guida.
Per eliminare un blueprint
-
Nel repository di configurazione, apri il file config.yml.
-
Modifica la sezione prodotti, rimuovi o commenta il prodotto che desideri eliminare.
-
Salva e chiudi il file config.yml.
-
Immettete i seguenti comandi per unire le modifiche nel repository di configurazione:
cd ServiceCatalog-ConfigRepo git add config.yml git commit -m "<description of change>" git push origin mainL'approvazione di questa pull request avvia la pipeline di configurazione. La pipeline di configurazione elimina il prodotto e la relativa pipeline di rilascio.
-
Nell'archivio del prodotto, elimina la cartella del prodotto, incluso il suo contenuto.
-
Immettete i seguenti comandi per unire le modifiche nell'archivio del prodotto:
cd ServiceCatalog-BlueprintProductRepo git add . git commit -m "Delete <file name> blueprint" git push origin main
Per convalidare l'eliminazione
-
Accedi a un account consumatore dell'organizzazione.
-
Assumi il ruolo di
ServiceCatalogEndUserRoleIAM. -
Aprire la console Service Catalog
. -
Nel riquadro di navigazione, scegli Prodotti.
-
Conferma che il prodotto eliminato non è più disponibile.
Risoluzione dei problemi
Quando crei o aggiorni un blueprint, gli strumenti cfn-lint e cfn-nag convalidano il blueprint. Per ulteriori informazioni sulla convalida nella pipeline di rilascio, consulta Release pipeline in questa guida. Qualsiasi errore di sintassi o di sicurezza segnalato causa il fallimento della pipeline. Per distribuire correttamente il blueprint tramite la pipeline di rilascio, è necessario correggere gli errori nel blueprint.
Di seguito è riportato un esempio di output che mostra due errori relativi alla sicurezza, un errore e un avviso.
BP-SNS.yml --------------------------------------------------- BP-SNS.yml --------------------------------------------------- | WARN W47 | | Resource: ["ExampleTopic"] | Line numbers: [5] | | SNS Topic should specify KmsMasterKeyId property --------------------------------------------------- | FAIL F18 | | Resource: ["ExampleTopicPolicy"] | Line numbers: [10] | | SNS topic policy should not allow * principal Failures count: 1 Warnings count: 1
Per correggere questi errori, nel file blueprint, devi sostituire il * principale nella policy tematica di Amazon Simple Notification Service (Amazon SNS) e associare una chiave AWS Key Management Service (AWS KMS) all'argomento. Il seguente esempio di codice illustra questi aggiornamenti.
ExampleTopic: Type: AWS::SNS::Topic Properties: TopicName: ExampleTopic ExampleTopicPolicy: Type: AWS::SNS::TopicPolicy Properties: KmsMasterKeyId: alias/aws/sns # Added KMS key PolicyDocument: Id: Id1 Version: '2012-10-17' Statement: - Sid: Sid2 Effect: Allow Principal: "Service" : "s3.amazonaws.com" # Replaced "AWS": '*' Action: 'sns:Publish' Resource: !Ref ExampleTopic Topics: - !Ref ExampleTopic