Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Personalizza il AWS CDK bootstrap

Modalità Focus
Personalizza il AWS CDK bootstrap - AWS Cloud Development Kit (AWS CDK) v2

Questa è la guida per sviluppatori AWS CDK v2. Il vecchio CDK v1 è entrato in manutenzione il 1° giugno 2022 e ha terminato il supporto il 1° giugno 2023.

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

Questa è la guida per sviluppatori AWS CDK v2. Il vecchio CDK v1 è entrato in manutenzione il 1° giugno 2022 e ha terminato il supporto il 1° giugno 2023.

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

È possibile personalizzare il AWS Cloud Development Kit (AWS CDK) bootstrap utilizzando l'interfaccia a AWS CDK riga di comando (AWS CDK CLI) o modificando e distribuendo il modello bootstrap. AWS CloudFormation

Per un'introduzione al bootstrap, vedi. AWS CDK bootstrap

Usa il CDK CLI per personalizzare il bootstrap

Di seguito sono riportati alcuni esempi di come personalizzare il bootstrap utilizzando il CDK CLI. Per un elenco di tutte le cdk bootstrap opzioni, vederecdk bootstrap.

Sostituisci il nome del bucket Amazon S3

Utilizza l'--bootstrap-bucket-nameopzione per sovrascrivere il nome predefinito del bucket Amazon S3. Ciò potrebbe richiedere la modifica della sintesi del modello. Per ulteriori informazioni, consulta Personalizza la sintesi dello stack CDK.

Modifica le chiavi di crittografia lato server per il bucket Amazon S3

Per impostazione predefinita, il bucket Amazon S3 nello stack di bootstrap è configurato per utilizzare chiavi AWS gestite per la crittografia lato server. Per utilizzare una chiave gestita dal cliente esistente, utilizza l'--bootstrap-kms-key-idopzione e fornisci un valore da utilizzare per la AWS Key Management Service chiave ().AWS KMS Se desideri un maggiore controllo sulla chiave di crittografia, fornisci di --bootstrap-customer-key utilizzare una chiave gestita dal cliente.

Associa le politiche gestite al ruolo di implementazione assunto da AWS CloudFormation

Per impostazione predefinita, gli stack vengono distribuiti con autorizzazioni di amministratore complete utilizzando la policy. AdministratorAccess Per utilizzare le tue politiche gestite, utilizza l'--cloudformation-execution-policiesopzione e fornisci le ARNs politiche gestite da allegare al ruolo di distribuzione.

Per fornire più policy, passa loro una singola stringa, separata da virgole:

$ cdk bootstrap --cloudformation-execution-policies "arn:aws:iam::aws:policy/AWSLambda_FullAccess,arn:aws:iam::aws:policy/AWSCodeDeployFullAccess"

Per evitare errori di distribuzione, assicurati che le politiche specificate siano sufficienti per tutte le distribuzioni che eseguirai nell'ambiente da avviare.

Modifica il qualificatore che viene aggiunto ai nomi delle risorse nello stack di bootstrap

Per impostazione predefinita, il hnb659fds qualificatore viene aggiunto all'ID fisico delle risorse nello stack di bootstrap. Per modificare questo valore, usa l'opzione. --qualifier

Questa modifica è utile quando si effettua il provisioning di più stack di bootstrap nello stesso ambiente per evitare conflitti di nomi.

La modifica del qualificatore ha lo scopo di isolare i nomi tra i test automatici del CDK stesso. A meno che non sia possibile definire in modo molto preciso le autorizzazioni IAM assegnate al ruolo di CloudFormation esecuzione, non vi sono vantaggi in termini di isolamento delle autorizzazioni nell'avere due diversi stack di bootstrap in un unico account. Pertanto, in genere non è necessario modificare questo valore.

Quando modificate il qualificatore, l'app CDK deve passare il valore modificato al sintetizzatore stack. Per ulteriori informazioni, consulta Personalizza la sintesi dello stack CDK.

Aggiungi tag allo stack di bootstrap

Usa l'--tagsopzione nel formato di KEY=VALUE per aggiungere CloudFormation tag allo stack di bootstrap.

Specificane altri Account AWS che possono essere implementati nell'ambiente da avviare

Utilizzate l'--trustopzione per fornire informazioni aggiuntive Account AWS che possono essere distribuite nell'ambiente in cui si sta effettuando l'avvio. Per impostazione predefinita, l'account che esegue il bootstrap sarà sempre considerato attendibile.

Questa opzione è utile quando si avvia un ambiente che è un CDK Pipeline da un altro ambiente verrà distribuito in.

Quando si utilizza questa opzione, è necessario fornire --cloudformation-execution-policies anche.

Per aggiungere account attendibili a uno stack di bootstrap esistente, devi specificare tutti gli account da considerare attendibili, inclusi quelli che potresti aver fornito in precedenza. Se fornisci solo nuovi account da considerare attendibili, gli account precedentemente attendibili verranno rimossi.

Di seguito è riportato un esempio in cui vengono considerati attendibili due account:

$ cdk bootstrap aws://123456789012/us-west-2 --trust 234567890123 --trust 987654321098 --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess ⏳ Bootstrapping environment aws://123456789012/us-west-2... Trusted accounts for deployment: 234567890123, 987654321098 Trusted accounts for lookup: (none) Execution policies: arn:aws:iam::aws:policy/AdministratorAccess CDKToolkit: creating CloudFormation changeset... ✅ Environment aws://123456789012/us-west-2 bootstrapped.
Specificate altri Account AWS che possano cercare informazioni nell'ambiente da avviare

Utilizzate l'--trust-for-lookupopzione per specificare Account AWS che è consentito cercare informazioni di contesto dall'ambiente che viene avviato. Questa opzione è utile per concedere agli account il permesso di sintetizzare gli stack che verranno distribuiti nell'ambiente, senza concedere loro effettivamente il permesso di distribuire direttamente tali stack.

Abilita la protezione dalla terminazione per lo stack di bootstrap

Se uno stack di bootstrap viene eliminato, verranno eliminate anche le AWS risorse originariamente fornite nell'ambiente. Dopo aver avviato l'ambiente, si consiglia di non eliminare e ricreare lo stack di bootstrap dell'ambiente, a meno che non lo si stia facendo intenzionalmente. Prova invece ad aggiornare lo stack di bootstrap a una nuova versione eseguendo nuovamente il comando. cdk bootstrap

Usa l'--termination-protectionopzione per gestire le impostazioni di protezione dalla terminazione per lo stack di bootstrap. Abilitando la protezione dalla terminazione, si evita che lo stack di bootstrap e le relative risorse vengano eliminati accidentalmente. Ciò è particolarmente importante se si utilizza CDK Pipelines poiché non esiste un'opzione di ripristino generale se si elimina accidentalmente lo stack di bootstrap.

Dopo aver abilitato la protezione dalla terminazione, puoi utilizzare la console AWS CLI or AWS CloudFormation per verificare.

Per abilitare la protezione dalla terminazione
  1. Esegui il comando seguente per abilitare la protezione dalla terminazione su uno stack di bootstrap nuovo o esistente:

    $ cdk bootstrap --termination-protection
  2. Usa la CloudFormation console AWS CLI o per verificare. L'esempio seguente utilizza la AWS CLI. Se hai modificato il nome dello stack di bootstrap, sostituiscilo CDKToolkit con il nome dello stack:

    $ aws cloudformation describe-stacks --stack-name CDKToolkit --query "Stacks[0].EnableTerminationProtection" true

Modifica il modello di bootstrap predefinito

Quando hai bisogno di una maggiore personalizzazione rispetto al CDK CLI può fornire, è possibile modificare il modello di bootstrap secondo necessità. Quindi, distribuisci il modello per avviare il tuo ambiente.

Per modificare e distribuire il modello di bootstrap predefinito
  1. Ottieni il modello di bootstrap predefinito utilizzando l'opzione. --show-template Per impostazione predefinita, il CDK CLI mostrerà il modello nella finestra del terminale. È possibile modificare il CDK CLI comando per salvare il modello sul computer locale. Di seguito è riportato un esempio:

    $ cdk bootstrap --show-template > my-bootstrap-template.yaml
  2. Modifica il modello di bootstrap secondo necessità. Qualsiasi modifica apportata deve rispettare il contratto del modello di bootstrap. Per ulteriori informazioni sul modello di contratto bootstrap, consulta. Segui il contratto bootstrap

    Per evitare che le personalizzazioni vengano sovrascritte accidentalmente in un secondo momento da qualcuno che cdk bootstrap utilizza il modello predefinito, modifica il valore predefinito del parametro template. BootstrapVariant Il CDK CLI consentirà la sovrascrittura dello stack di bootstrap solo con modelli che hanno la stessa versione BootstrapVariant e una versione uguale o superiore a quella del modello attualmente distribuito.

  3. Distribuisci il modello modificato utilizzando il metodo di distribuzione preferito. AWS CloudFormation Di seguito è riportato un esempio che utilizza il CDK CLI:

    $ cdk bootstrap --template my-bootstrap-template.yaml

Segui il contratto bootstrap

Affinché le app CDK vengano distribuite correttamente, i CloudFormation modelli prodotti durante la sintesi devono specificare correttamente le risorse create durante il bootstrap. Queste risorse vengono comunemente chiamate risorse bootstrap. Il bootstrap crea risorse nell' AWS ambiente che vengono utilizzate per eseguire distribuzioni e AWS CDK gestire gli asset delle applicazioni. Synthesis produce CloudFormation modelli da ogni stack CDK dell'applicazione. Questi modelli non si limitano a definire le AWS risorse che verranno fornite dall'applicazione. Specificano inoltre le risorse di bootstrap da utilizzare durante la distribuzione.

Durante la sintesi, il CDK CLI non sa esattamente come sia stato avviato il vostro AWS ambiente. Invece, il CDK CLI produce CloudFormation modelli basati sul sintetizzatore configurato. Pertanto, quando si personalizza il bootstrap, potrebbe essere necessario personalizzare la sintesi. Per istruzioni sulla personalizzazione della sintesi, vedere. Personalizza la sintesi dello stack CDK Lo scopo è garantire che i CloudFormation modelli sintetizzati siano compatibili con l'ambiente di avvio. Questa compatibilità è denominata contratto bootstrap.

Il metodo più semplice per personalizzare la sintesi dello stack consiste nel modificare la DefaultStackSynthesizer classe nell'istanza. Stack Se avete bisogno di una personalizzazione che vada oltre a ciò che questa classe può offrire, potete scrivere il vostro sintetizzatore come classe che IStackSynthesizer implementa (magari derivando da). DefaultStackSynthesizer

Quando personalizzi il bootstrap, segui il contratto del modello bootstrap per rimanere compatibile con. DefaultStackSynthesizer Se modifichi il bootstrap oltre il contratto del modello bootstrap, dovrai scrivere il tuo sintetizzatore.

Controllo delle versioni

Il modello di bootstrap deve contenere una risorsa per creare un parametro Amazon EC2 Systems Manager (SSM) con un nome noto e un output che rifletta la versione del modello:

Resources: CdkBootstrapVersion: Type: AWS::SSM::Parameter Properties: Type: String Name: Fn::Sub: '/cdk-bootstrap/${Qualifier}/version' Value: 4 Outputs: BootstrapVersion: Value: Fn::GetAtt: [CdkBootstrapVersion, Value]

Roles

DefaultStackSynthesizerRichiede cinque ruoli IAM per cinque scopi diversi. Se non utilizzi i ruoli predefiniti, devi specificare il tuo ruolo IAM ARNs all'interno DefaultStackSynthesizer dell'oggetto. I ruoli sono i seguenti:

  • Il ruolo di distribuzione è assunto dal CDK CLI e da AWS CodePipeline implementare in un ambiente. AssumeRolePolicyControlla chi può dispiegarsi nell'ambiente. Nel modello, puoi vedere le autorizzazioni necessarie per questo ruolo.

  • Il ruolo di ricerca è assunto dal CDK CLI per eseguire ricerche contestuali in un ambiente. AssumeRolePolicyControlla chi può dispiegarsi nell'ambiente. Le autorizzazioni necessarie per questo ruolo possono essere visualizzate nel modello.

  • Il ruolo di pubblicazione dei file e il ruolo di pubblicazione delle immagini sono assunti dal CDK CLI e mediante AWS CodeBuild progetti di pubblicazione di risorse in un ambiente. Vengono utilizzati per scrivere rispettivamente nel bucket Amazon S3 e nel repository Amazon ECR. Questi ruoli richiedono l'accesso in scrittura a queste risorse.

  • Il ruolo di AWS CloudFormation esecuzione viene passato AWS CloudFormation a eseguire la distribuzione effettiva. Le relative autorizzazioni sono le autorizzazioni in base alle quali verrà eseguita la distribuzione. Le autorizzazioni vengono passate allo stack come parametro che elenca la politica gestita. ARNs

Output

Il CDK CLI richiede che nello stack di bootstrap siano presenti i seguenti CloudFormation output:

  • BucketName— Il nome del file asset bucket.

  • BucketDomainName— Il bucket di risorse di file nel formato del nome di dominio.

  • BootstrapVersion— La versione attuale dello stack bootstrap.

Cronologia dei modelli

Il modello bootstrap ha una versione e si evolve nel tempo con se stesso. AWS CDK Se fornisci il tuo modello di bootstrap, tienilo aggiornato con il modello canonico predefinito. Vuoi assicurarti che il tuo modello continui a funzionare con tutte le funzionalità di CDK. Per ulteriori informazioni, consulta Cronologia delle versioni del modello Bootstrap.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.