Questa è la AWS CDK v2 Developer Guide. 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à.
Risoluzione dei problemi relativi AWS alle implementazioni CDK
Risolvi i problemi più comuni durante la distribuzione di applicazioni AWS Cloud Development Kit (AWS CDK).
Al momento dell'implementazione vengono creati principi di servizio errati
Quando si distribuiscono applicazioni CDK che contengono ruoli AWS Identity and Access Management (IAM) con service principal, si riscontra che vengono creati domini errati per i service principal.
Di seguito è riportato un esempio di base di creazione di un ruolo IAM che può essere assunto da Amazon CloudWatch Logs utilizzando il relativo service principal:
import * as cdk from 'aws-cdk-lib'; import * as iam from 'aws-cdk-lib/aws-iam'; import { Construct } from 'constructs'; export class MyCdkProjectStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // Create an IAM role for CloudWatch Logs to assume const cloudWatchLogsRole = new iam.Role(this, 'CloudWatchLogsRole', { assumedBy: new iam.ServicePrincipal('logs.amazonaws.com'), // This is for CloudWatch Logs managedPolicies: [ iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSCloudWatchLogsFullAccess') ] }); // You can then use this role in other constructs or configurations where CloudWatch Logs needs to assume a role } }
Quando si distribuisce questo stack, è logs.amazonaws.com necessario creare un service principal denominato. Nella maggior parte dei casi, AWS i servizi utilizzano la seguente denominazione per i principali di servizio:. <service>.amazonaws.com
Cause comuni
Se utilizzi una versione del AWS CDK precedente alla v2.150.0, potresti riscontrare questo bug. Nelle versioni AWS CDK precedenti, la denominazione dei principali di servizio non era standardizzata, il che poteva portare alla creazione di principali di servizio con domini errati.
In AWS CDK v2.51.0, è stata implementata una correzione standardizzando tutti i principali di servizio creati automaticamente da utilizzare quando possibile. <service>.amazonaws.com Questa correzione era disponibile abilitando il flag della funzionalità. @aws-cdk/aws-iam:standardizedServicePrincipals
A partire da AWS CDK v2.150.0, questo è diventato il comportamento predefinito.
Risoluzione
Aggiornamento a CDK v2.150.0 o AWS versione successiva.
Se non è possibile eseguire l'aggiornamento a AWS CDK v2.150.0 o versione successiva, è necessario eseguire l'aggiornamento almeno alla versione 2.51.0 o successiva. Quindi, consenti il seguente contrassegno di funzionalità nel tuo file:. cdk.json @aws-cdk/aws-iam:standardizedServicePrincipals