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\".

Migra le risorse e i AWS CloudFormation modelli esistenti in AWS CDK

Modalità Focus
Migra le risorse e i AWS CloudFormation modelli esistenti in AWS CDK - 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à.

La funzionalità CDK Migrate è disponibile in anteprima AWS CDK ed è soggetta a modifiche.

Utilizzate l'interfaccia a riga AWS Cloud Development Kit (AWS CDK) di comando (AWS CDK CLI) per migrare AWS le risorse distribuite, gli AWS CloudFormation stack distribuiti e i modelli locali verso. AWS CloudFormation AWS CDK

Come funziona la migrazione

Usa il AWS CDK CLI cdk migratecomando per migrare dalle seguenti fonti:

  • Risorse distribuite AWS .

  • Stack distribuiti AWS CloudFormation .

  • Modelli locali AWS CloudFormation .

Risorse distribuite AWS

È possibile migrare AWS le risorse distribuite da un ambiente specifico (Account AWS e Regione AWS) che non sono associate a uno stack. AWS CloudFormation

Il AWS CDK CLI utilizza il servizio di generazione IaC per ricercare le risorse presenti nell' AWS ambiente e raccogliere i dettagli delle risorse. Per ulteriori informazioni sul generatore IAc, consulta Generazione di modelli per risorse esistenti nella Guida per l'AWS CloudFormation utente.

Dopo aver raccolto i dettagli delle risorse, AWS CDK CLI crea una nuova app CDK che include un singolo stack contenente le risorse migrate.

Stack distribuiti AWS CloudFormation

Puoi migrare un singolo AWS CloudFormation stack in una nuova app. AWS CDK La AWS CDK CLI recupererà il AWS CloudFormation modello del tuo stack e creerà una nuova app CDK. L'app CDK sarà composta da un unico stack che contiene lo stack migrato. AWS CloudFormation

Modelli locali AWS CloudFormation

È possibile migrare da un AWS CloudFormation modello locale. I modelli locali possono contenere o meno risorse distribuite. Il AWS CDK CLI creerà una nuova app CDK che contiene un unico stack con le tue risorse.

Dopo la migrazione, puoi gestire, modificare e distribuire l'app CDK per fornire o aggiornare le tue AWS CloudFormation risorse.

Vantaggi di CDK Migrate

La migrazione delle risorse verso questa AWS CDK destinazione è stata storicamente un processo manuale che richiede tempo ed esperienza e persino per essere avviato. AWS CloudFormation AWS CDK Con CDK Migrate, AWS CDK CLI facilita la maggior parte delle attività di migrazione in una frazione del tempo. CDK Migrate ti consentirà di iniziare rapidamente a utilizzare lo strumento AWS CDK per sviluppare e gestire applicazioni nuove ed esistenti su. AWS

Considerazioni

Considerazioni generali

CDK Migrate e CDK Import

Il cdk import comando può importare le risorse distribuite in un'app CDK nuova o esistente. Durante l'importazione, ogni risorsa dovrà essere definita manualmente come un costrutto L1 nell'app. Ti consigliamo di cdk import utilizzarla per importare una o più risorse alla volta in un'app CDK nuova o esistente. Per ulteriori informazioni, consulta Importa le risorse esistenti in uno stack.

Il cdk migrate comando migra dalle risorse distribuite, dagli AWS CloudFormation stack distribuiti o dai AWS CloudFormation modelli locali a una nuova app CDK. Durante la migrazione, AWS CDK CLI utilizza cdk import per importare le risorse nella nuova app CDK. La AWS CDK CLI genera anche costrutti L1 per ogni risorsa per te. Si consiglia di utilizzarlo cdk migrate durante l'importazione da una fonte di migrazione supportata in una nuova app. AWS CDK

CDK Migrate crea solo costrutti L1

L'app CDK appena creata includerà solo costrutti L1. Puoi aggiungere costrutti di livello superiore all'app dopo la migrazione.

CDK Migrate crea app CDK che contengono un singolo stack

L'app CDK appena creata conterrà un singolo stack.

Durante la migrazione delle risorse distribuite, tutte le risorse migrate saranno contenute in un unico stack nella nuova app CDK.

Durante la migrazione degli AWS CloudFormation stack, è possibile migrare solo un singolo stack in un unico AWS CloudFormation stack nella nuova app CDK.

Migrazione delle risorse

Le risorse del progetto, come il AWS Lambda codice, non migreranno direttamente nella nuova app CDK. Dopo la migrazione, puoi specificare i valori degli asset per includerli nell'app CDK.

Migrazione di risorse stateful

Quando esegui la migrazione di risorse con stato, come database e bucket Amazon Simple Storage Service (Amazon S3), molto spesso desideri migrare la risorsa esistente anziché crearne una nuova.

Per migrare e preservare le risorse con stato, procedi come segue:

  • Verifica che la risorsa stateful supporti l'importazione. Per ulteriori informazioni, consulta il supporto per i tipi di risorse nella Guida per l'AWS CloudFormation utente.

  • Dopo la migrazione, verifica che l'ID logico della risorsa migrata nella nuova app CDK corrisponda all'ID logico della risorsa distribuita.

  • Se esegui la migrazione da uno AWS CloudFormation stack, verifica che il nome dello stack nella nuova app CDK corrisponda allo stack. AWS CloudFormation

  • Implementa l'app CDK utilizzando lo stesso AWS account e la risorsa migrata. Regione AWS

Considerazioni sulla migrazione da un modello AWS CloudFormation

CDK Migrate supporta la migrazione di un singolo modello

Durante la migrazione dei AWS CloudFormation modelli, è possibile selezionare un singolo modello da migrare. I modelli annidati non sono supportati.

Migrazione di modelli con funzioni intrinseche

Durante la migrazione da un AWS CloudFormation modello che utilizza funzioni intrinseche, AWS CDK CLI tenterà di migrare la logica nell'app CDK con la classe. Fn Per saperne di più, consulta la classe Fn nell'API Reference.AWS Cloud Development Kit (AWS CDK)

Considerazioni sulla migrazione dalle risorse distribuite

Limitazioni di scansione

Durante la scansione dell'ambiente alla ricerca di risorse, il generatore IaC presenta limitazioni specifiche sui dati che può recuperare e limiti di quota durante la scansione. Per ulteriori informazioni, consulta Considerazioni nella Guida per l'AWS CloudFormation utente.

Prerequisiti

Prima di utilizzare il cdk migrate comando, completa tutti i passaggi di configurazione indicati inGuida introduttiva al AWS CDK.

Inizia a usare CDK Migrate

Per iniziare, esegui il AWS CDK CLI cdk migratecomando da una directory a tua scelta. Fornisci le opzioni obbligatorie e facoltative, a seconda del tipo di migrazione che stai eseguendo.

Per un elenco completo e una descrizione delle opzioni utilizzabilicdk migrate, consultacdk migrate.

Di seguito sono riportate alcune opzioni importanti che potresti voler fornire.

Stack name (Nome stack)

L'unica opzione richiesta è--stack-name. Utilizzate questa opzione per specificare un nome per lo stack che verrà creato all'interno dell' AWS CDK app dopo la migrazione. Il nome dello stack verrà utilizzato anche come nome dello AWS CloudFormation stack al momento della distribuzione.

Lingua

Viene utilizzato --language per specificare il linguaggio di programmazione della nuova app CDK.

AWS account e Regione AWS

Il AWS CDK CLI recupera AWS account e Regione AWS informazioni da fonti predefinite. Per ulteriori informazioni, consulta Ambienti per AWS CDK. È possibile utilizzare --account e utilizzare --region le opzioni cdk migrate per fornire altri valori.

Directory di output del nuovo progetto CDK

Per impostazione predefinita, il AWS CDK CLI creerà un nuovo progetto CDK nella directory di lavoro e utilizzerà il valore fornito --stack-name per denominare la cartella del progetto. Se esiste attualmente una cartella con lo stesso nome, AWS CDK CLI sovrascriverà quella cartella.

È possibile specificare un percorso di output diverso per la nuova cartella di progetto CDK con l'--output-pathopzione.

Fonte di migrazione

Fornisci un'opzione per specificare la fonte da cui stai migrando.

  • --from-path— Eseguire la migrazione da un modello locale AWS CloudFormation .

  • --from-scan— Esegui la migrazione dalle risorse distribuite in un AWS account e. Regione AWS

  • --from-stack— Migrazione da uno stack. AWS CloudFormation

A seconda della fonte di migrazione, è possibile fornire opzioni aggiuntive per personalizzare il cdk migrate comando.

Esegui la migrazione da uno stack AWS CloudFormation

Per migrare da uno AWS CloudFormation stack distribuito, offri l'opzione. --from-stack Fornisci il nome dello stack distribuito AWS CloudFormation con. --stack-name Di seguito è riportato un esempio:

$ cdk migrate --from-stack --stack-name "myCloudFormationStack"

La AWS CDK CLI farà quanto segue:

  1. Recupera il AWS CloudFormation modello dello stack distribuito.

  2. Esegui cdk init per inizializzare una nuova app CDK.

  3. Crea uno stack all'interno dell'app CDK che contiene lo stack migrato. AWS CloudFormation

Quando esegui la migrazione da uno stack distribuito, AWS CloudFormation AWS CDK CLI tenta di abbinare la logica della risorsa distribuita IDs e il nome dello AWS CloudFormation stack distribuito alle risorse e allo stack migrati nella nuova app CDK.

Dopo la migrazione, puoi gestire e modificare normalmente l'app CDK. Al momento della distribuzione, AWS CloudFormation identificherà la distribuzione come un aggiornamento AWS CloudFormation dello stack a causa del nome dello stack corrispondente AWS CloudFormation . Le risorse con logica corrispondente IDs verranno aggiornate. Per ulteriori informazioni sulla distribuzione, vedereGestisci e distribuisci la tua app CDK.

Esegui la migrazione da un modello AWS CloudFormation

CDK Migrate supporta la migrazione da AWS CloudFormation modelli formattati in o. JSON YAML

Per migrare da un AWS CloudFormation modello locale, utilizzate l'--from-pathopzione e fornite un percorso al modello locale. È inoltre necessario fornire l'--stack-nameopzione richiesta. Di seguito è riportato un esempio:

$ cdk migrate --from-path "./template.json" --stack-name "myCloudFormationStack"

La AWS CDK CLI farà quanto segue:

  1. Recupera il tuo AWS CloudFormation modello locale.

  2. Esegui cdk init per inizializzare una nuova app CDK.

  3. Crea uno stack all'interno dell'app CDK che contenga il modello migrato. AWS CloudFormation

Dopo la migrazione, puoi gestire e modificare normalmente l'app CDK. Al momento della distribuzione, sono disponibili le seguenti opzioni:

  • Aggiorna uno AWS CloudFormation stack: se il AWS CloudFormation modello locale è stato distribuito in precedenza, puoi aggiornare lo stack distribuito AWS CloudFormation .

  • Distribuisci un nuovo AWS CloudFormation stack: se il AWS CloudFormation modello locale non è mai stato distribuito o se desideri creare un nuovo stack da un modello distribuito in precedenza, puoi distribuire un nuovo stack. AWS CloudFormation

Esegui la migrazione da un modello AWS SAM

Per migrare da un modello AWS Serverless Application Model (AWS SAM), devi prima convertirlo in un AWS CloudFormation modello o distribuirlo per creare uno stack. AWS CloudFormation

Per convertire un AWS SAM modello in AWS CloudFormation, puoi usare il AWS SAM CLI sam validate --debugcomando. Potrebbe essere necessario lint impostarlo false nel samconfig.toml file prima di eseguire questo comando.

Per convertirlo in uno AWS CloudFormation stack, distribuisci il AWS SAM modello utilizzando AWS SAM CLI. Quindi esegui la migrazione dallo stack distribuito.

Esegui la migrazione dalle risorse distribuite

Per migrare dalle AWS risorse distribuite, offri l'opzione. --from-scan È inoltre necessario fornire l'opzione richiesta. --stack-name Di seguito è riportato un esempio:

$ cdk migrate --from-scan --stack-name "myCloudFormationStack"

La AWS CDK CLI farà quanto segue:

  1. Scansiona il tuo account per i dettagli di risorse e proprietà: The AWS CDK CLI utilizza il generatore IAc per scansionare il tuo account e raccogliere dettagli.

  2. Genera un AWS CloudFormation modello: dopo la scansione, AWS CDK CLI utilizza il generatore IAc per creare un AWS CloudFormation modello.

  3. Inizializza una nuova app CDK e migra il tuo modello: The AWS CDK CLI viene eseguito cdk init per inizializzare una nuova AWS CDK app e migra il AWS CloudFormation modello nell'app CDK come singolo stack.

Usa i filtri

Per impostazione predefinita, il AWS CDK CLI eseguirà la scansione AWS dell'intero ambiente e migrerà le risorse fino al limite di quota massimo del generatore IAc. È possibile fornire filtri con AWS CDK CLI per specificare un criterio in base al quale le risorse vengono migrate dal tuo account alla nuova app CDK. Per ulteriori informazioni, consulta --filter.

Ricerca di risorse con il generatore IAc

A seconda del numero di risorse presenti nell'account, la scansione potrebbe richiedere alcuni minuti. Durante il processo di scansione verrà visualizzata una barra di avanzamento.

Tipi di risorse supportati

La AWS CDK CLI migrerà le risorse supportate dal generatore IAc. Per un elenco completo, consulta il supporto per i tipi di risorse nella Guida per l'AWS CloudFormation utente.

Risolvi le proprietà di sola scrittura

Alcune risorse supportate contengono proprietà di sola scrittura. Queste proprietà possono essere scritte su, per configurare la proprietà, ma non possono essere lette dal generatore IAc o AWS CloudFormation per ottenere il valore. Ad esempio, una proprietà utilizzata per specificare una password di database può essere di sola scrittura per motivi di sicurezza.

Durante la scansione delle risorse durante la migrazione, il generatore IaC rileverà le risorse che possono contenere proprietà di sola scrittura e le classificherà in uno dei seguenti tipi:

  • MUTUALLY_EXCLUSIVE_PROPERTIES— Si tratta di proprietà di sola scrittura per una risorsa specifica che sono intercambiabili e hanno uno scopo simile. Per configurare la risorsa è necessaria una delle proprietà che si escludono a vicenda. Ad esempio, le proprietà S3BucketImageUri, e di una AWS::Lambda::Function risorsa sono ZipFile proprietà di sola scrittura che si escludono a vicenda. È possibile utilizzare ognuna di esse per specificare le risorse funzionali, ma è necessario utilizzarne una.

  • MUTUALLY_EXCLUSIVE_TYPES— Si tratta di proprietà di sola scrittura obbligatorie che accettano più tipi di configurazione. Ad esempio, la Body proprietà di una AWS::ApiGateway::RestApi risorsa accetta un tipo di oggetto o di stringa.

  • UNSUPPORTED_PROPERTIES— Si tratta di proprietà di sola scrittura che non rientrano nelle altre due categorie. Sono proprietà opzionali o proprietà obbligatorie che accettano una serie di oggetti.

Per ulteriori informazioni sulle proprietà di sola scrittura e su come il generatore IaC le gestisce durante la scansione delle risorse distribuite e la creazione di AWS CloudFormation modelli, consultate il generatore IaC e le proprietà di sola scrittura nella Guida per l'utente.AWS CloudFormation

Dopo la migrazione, è necessario specificare i valori delle proprietà di sola scrittura nella nuova app CDK. La AWS CDK CLI aggiungerà una sezione Warnings al ReadMe file del progetto CDK per documentare tutte le proprietà di sola scrittura identificate dal generatore IAc. Di seguito è riportato un esempio:

# Welcome to your CDK TypeScript project ... ## Warnings ### Write-only properties Write-only properties are resource property values that can be written to but can't be read by AWS CloudFormation or CDK Migrate. For more information, see [IaC generator and write-only properties](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/generate-IaC-write-only-properties.html). Write-only properties discovered during migration are organized here by resource ID and categorized by write-only property type. Resolve write-only properties by providing property values in your CDK app. For guidance, see [Resolve write-only properties](https://docs.aws.amazon.com/cdk/v2/guide/migrate.html#migrate-resources-writeonly). ### MyLambdaFunction - **UNSUPPORTED_PROPERTIES**: - SnapStart/ApplyOn: Applying SnapStart setting on function resource type.Possible values: [PublishedVersions, None] This property can be replaced with other types - Code/S3ObjectVersion: For versioned objects, the version of the deployment package object to use. This property can be replaced with other exclusive properties - **MUTUALLY_EXCLUSIVE_PROPERTIES**: - Code/S3Bucket: An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account. This property can be replaced with other exclusive properties - Code/S3Key: The Amazon S3 key of the deployment package. This property can be replaced with other exclusive properties
  • Gli avvisi sono organizzati in titoli che identificano l'ID logico della risorsa a cui sono associati.

  • Gli avvisi sono suddivisi in categorie per tipo. Questi tipi provengono direttamente dal generatore IAc.

Per risolvere le proprietà di sola scrittura
  1. Identifica le proprietà di sola scrittura da risolvere nella sezione Avvertenze del file del tuo progetto CDK. ReadMe Qui puoi prendere nota delle risorse dell'app CDK che possono contenere proprietà di sola scrittura e identificare i tipi di proprietà di sola scrittura che sono stati scoperti.

    1. Ad esempioMUTUALLY_EXCLUSIVE_PROPERTIES, stabilite quale proprietà mutuamente esclusiva configurare nella vostra app. AWS CDK

    2. PerMUTUALLY_EXCLUSIVE_TYPES, determina quale tipo accettato utilizzerai per configurare la proprietà.

    3. PerUNSUPPORTED_PROPERTIES, determina se la proprietà è facoltativa o obbligatoria. Quindi, configurate se necessario.

  2. Utilizzate le indicazioni del generatore IAc e delle proprietà di sola scrittura per fare riferimento al significato dei tipi di avviso.

  3. Nell'app CDK, i valori delle proprietà di sola scrittura da risolvere verranno specificati anche nella sezione dell'app. Props Fornisci qui i valori corretti. Per le descrizioni e le indicazioni sulle proprietà, puoi fare riferimento all'AWS CDK API Reference.

    Di seguito è riportato un esempio della Props sezione all'interno di un'app CDK migrata con due proprietà di sola scrittura da risolvere:

    export interface MyTestAppStackProps extends cdk.StackProps { /** * The Amazon S3 key of the deployment package. */ readonly lambdaFunction00asdfasdfsadf008grk1CodeS3Keym8P82: string; /** * An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account. */ readonly lambdaFunction00asdfasdfsadf008grk1CodeS3Bucketzidw8: string; }

Una volta risolti tutti i valori delle proprietà di sola scrittura, sei pronto per prepararti alla distribuzione.

Il file migrate.json

Il AWS CDK CLI crea un migrate.json file nel AWS CDK progetto durante la migrazione. Questo file contiene informazioni di riferimento sulle risorse distribuite. Quando si distribuisce l'app CDK per la prima volta, AWS CDK CLI utilizza questo file per fare riferimento alle risorse distribuite, associa le risorse al nuovo AWS CloudFormation stack ed elimina il file.

Gestisci e distribuisci la tua app CDK

Durante la migrazione a AWS CDK, la nuova app CDK potrebbe non essere immediatamente pronta per l'implementazione. Questo argomento descrive le azioni da prendere in considerazione durante la gestione e la distribuzione della nuova app CDK.

Preparati per la distribuzione

Prima della distribuzione, devi preparare l'app CDK.

Sintetizza la tua app

Usa il cdk synth comando per sintetizzare lo stack dell'app CDK in un modello. AWS CloudFormation

Se hai eseguito la migrazione da uno AWS CloudFormation stack o da un modello distribuito, puoi confrontare il modello sintetizzato con il modello migrato per verificare i valori delle risorse e delle proprietà.

Per ulteriori informazioni su cdk synth, consulta Sintetizza gli stack.

Esegui un diff

Se hai eseguito la migrazione da uno AWS CloudFormation stack distribuito, puoi usare il comando cdk diff per eseguire il confronto con lo stack della tua nuova app CDK.

Per ulteriori informazioni su cdk diff, consulta. Confronta gli stack

Avvia il tuo ambiente

Se esegui la distribuzione da un AWS ambiente per la prima volta, usalo cdk bootstrap per preparare l'ambiente. Per ulteriori informazioni, consulta AWS CDK bootstrap.

Implementa la tua app CDK

Quando distribuisci un'app CDK, AWS CDK CLI utilizza il AWS CloudFormation servizio per fornire le tue risorse. Le risorse sono raggruppate in un unico stack nell'app CDK e vengono distribuite come un unico stack. AWS CloudFormation

A seconda della provenienza da cui è stata effettuata la migrazione, è possibile eseguire l'implementazione per creare un nuovo AWS CloudFormation stack o aggiornare uno stack esistente. AWS CloudFormation

Esegui la distribuzione per creare un nuovo stack AWS CloudFormation

Se hai effettuato la migrazione da risorse distribuite, AWS CDK CLI creerà automaticamente un nuovo AWS CloudFormation stack al momento della distribuzione. Le risorse distribuite verranno incluse nel nuovo AWS CloudFormation stack.

Se hai effettuato la migrazione da un AWS CloudFormation modello locale che non è mai stato distribuito, AWS CDK CLI creerà automaticamente un nuovo AWS CloudFormation stack al momento della distribuzione.

Se hai eseguito la migrazione da uno AWS CloudFormation stack distribuito o da un AWS CloudFormation modello locale distribuito in precedenza, puoi eseguire la distribuzione per creare un nuovo stack. AWS CloudFormation Per creare un nuovo stack, procedi come segue:

  • Esegui la distribuzione in un nuovo AWS ambiente. Consiste nell'utilizzo di un AWS account diverso o nella distribuzione in un altro. Regione AWS

  • Se desideri distribuire un nuovo stack nello stesso AWS ambiente dello stack o del modello migrato, devi modificare il nome dello stack nell'app CDK con un nuovo valore. È inoltre necessario modificare tutta la logica IDs delle risorse nell'app CDK. Quindi, puoi eseguire la distribuzione nello stesso ambiente per creare un nuovo stack e nuove risorse.

Esegui la distribuzione per aggiornare uno stack esistente AWS CloudFormation

Se hai eseguito la migrazione da uno AWS CloudFormation stack distribuito o da un AWS CloudFormation modello locale distribuito in precedenza, puoi eseguire la distribuzione per aggiornare lo stack esistente. AWS CloudFormation

Verifica che il nome dello stack nell'app CDK corrisponda al nome dello stack distribuito ed esegui la distribuzione nello stesso ambiente. AWS CloudFormation AWS

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