Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Was ist CDK-Nutzungsdatenberichterstattung?
AWS Cloud Development Kit (AWS CDK) Anwendungen sind so konfiguriert, dass sie Nutzungsdaten sammeln und darüber Bericht erstatten, um einen Einblick in die AWS CDK Nutzung zu erhalten. Das CDK-Team verwendet diese Daten für folgende Zwecke:
-
Kommunizieren Sie mit Kunden — Identifizieren Sie Stacks anhand eines Konstrukts mit bekannten Sicherheits- oder Zuverlässigkeitsproblemen und versenden Sie Mitteilungen zu kundenrelevanten Themen.
-
Informieren Sie die CDK-Entwicklung — Gewinnen Sie Einblicke in die CDK-Nutzung, um die CDK-Entwicklung besser zu informieren.
-
Untersuchen Sie CDK-Probleme — Wenn Fehler gemeldet werden, bieten Nutzungsdaten dem CDK-Team wertvolle Einblicke bei der Fehlerbehebung.
Welche Nutzungsdaten werden gesammelt?
Es gibt zwei Kategorien von Nutzungsdaten, die vom CDK gesammelt werden:
-
Allgemeine Nutzungsdaten
-
Zusätzliche Nutzungsdaten
Allgemeine Erfassung von Nutzungsdaten
Das CDK sammelt die folgenden Arten von allgemeinen Nutzungsdaten aus Ihren CDK-Anwendungen:
-
Versionen der verwendeten CDK-Bibliotheken.
-
Namen der verwendeten Konstrukte aus den folgenden Modulen:
NPM
-
AWS CDK Kernmodule
-
AWS Konstruieren Sie Bibliotheksmodule
-
AWS Modul Solutions Constructs
-
AWS Modul „Render Farm Deployment Kit“
-
Anmerkung
Vor Version 1.93.0 AWS CDK wurden die Namen und Versionen der Module gemeldet, die während der Synthese geladen wurden, und nicht die im Stack verwendeten Konstrukte.
Zusätzliche Erfassung von Nutzungsdaten
Ab CDK-Version 2.178.0 wurde die Erfassung von Nutzungsdaten um die folgenden zusätzlichen Nutzungsdaten erweitert:
-
CDK-definierte Eigenschaftsschlüssel — Wenn Sie eine integrierte Eigenschaft eines L2-Konstrukts verwenden, wird der Eigenschaftsschlüssel erfasst. Dazu gehören integrierte Eigenschaftsschlüssel, die in Wörterbuchobjekten verschachtelt sind.
-
Eigenschaftswerte vom Typ Boolean und Enum aus CDK-definierten Eigenschaftsschlüsseln — Bei CDK-definierten Eigenschaftsschlüsseln werden nur Eigenschaftswerte der Typen Boolean und Enum gesammelt. Alle anderen Typen, wie Zeichenkettenwerte oder Konstruktreferenzen, werden redigiert.
-
Methodenname, Schlüssel und Eigenschaftswerte der Typen Boolean und Enum — Wenn Sie eine L2-Konstruktionsmethode verwenden, erfassen wir den Methodennamen, die Eigenschaftsschlüssel und die Eigenschaftswerte der Typen Boolean und Enum.
Bei Eigenschaftsschlüsseln und Werten, die Sie eindeutig erstellen, wird das gesamte Objekt geschwärzt. Wenn Sie beispielsweise verwenden, um ein InlineApiDefinition
zu definieren OpenAPI Eine Spezifikation und deren Übergabe an ein RestApi
Konstrukt, wird das gesamte InlineApiDefinition
Objekt redigiert.
Weitere Informationen zur zusätzlichen Erfassung von Nutzungsdaten, einschließlich ihrer Vorteile und möglichen Bedenken, finden Sie in der Diskussion CDK Collecting Additional Metadata (under feature flag) #33198
Wie sammelt das CDK Nutzungsdaten
Bei der Synthese sammelt das CDK Nutzungsdaten aus Ihrer Anwendung und speichert sie in der AWS::CDK::Metadata
Ressource. Im Folgenden finden Sie ein Beispiel dafür auf einer synthetisierten Vorlage AWS CloudFormation :
CDKMetadata:
Type: "AWS::CDK::Metadata"
Properties:
Analytics: "v2:deflate64:H4sIAND9SGAAAzXKSw5AMBAA0L1b2PdzBYnEAdio3RglglY60zQi7u6TWL/XKmNUlxeQSOKwaPTBqrNhwEWU3hGHiCzK0dWWfAxoL/Fd8mvk+QkS/0X6BdjnCdgmOOQKWz+AqqLDt2Y3YMnLYWwAAAA="
Die Analytics
Eigenschaft ist eine gzip-komprimierte, Base64-kodierte, präfix-kodierte Liste der Konstrukte im Stack.
Wie kann ich die Berichterstattung über Nutzungsdaten abbestellen oder aktivieren
Ihre Optionen, sich für allgemeine Nutzungsdatenberichte und zusätzliche Nutzungsdatenberichte abzumelden oder zu entscheiden, hängen von der CDK-Version ab, mit der Sie Ihre App ursprünglich erstellt haben.
Standardmäßig sind CDK-Anwendungen so konfiguriert, dass sie sich wie folgt automatisch für die Berichterstattung über Nutzungsdaten entscheiden:
-
Alle CDK-Apps — Sie haben sich für die allgemeine Berichterstattung über Nutzungsdaten entschieden.
-
CDK-Apps, die mit einer älteren Version als v2.178.0 erstellt wurden — Sie haben sich nicht automatisch für die Berichterstattung über zusätzliche Nutzungsdaten entschieden.
-
CDK-Apps, die mit Version 2.178.0 oder neuer erstellt wurden — Sie haben sich für zusätzliche Nutzungsdatenberichte angemeldet.
Warnung
Wenn Sie sich dafür entscheiden, sich abzumelden, kann das CDK nicht erkennen, ob Sie von Sicherheitsproblemen betroffen sind, und sendet Ihnen diesbezüglich keine Benachrichtigungen.
Melden Sie sich von allen Berichten über Nutzungsdaten ab
Um die gesamte Berichterstattung über Nutzungsdaten zu deaktivieren, können Sie die AWS Cloud Development Kit (AWS CDK) Befehlszeilenschnittstelle verwenden (CLI) oder konfigurieren Sie die cdk.json
Datei Ihres Projekts.
Um die gesamte Berichterstattung über Nutzungsdaten mithilfe des CDK zu deaktivieren CLI
-
Verwenden Sie die
--no-version-reporting
Option mit einem beliebigen CDK CLI Befehl, um sich für einen einzelnen Befehl zu entscheiden. Im Folgenden finden Sie ein Beispiel für die Deaktivierung während der Template-Synthese:$
cdk synth --no-version-reporting
Da das CDK Vorlagen beim Ausführen automatisch synthetisiert
cdk deploy
, sollten Sie dies auch--no-version-reporting
mit dem Befehl verwenden.cdk deploy
Um die gesamte Berichterstattung über Nutzungsdaten zu deaktivieren, konfigurieren Sie die Datei cdk.json
-
Auf
false
In./cdk.json
oder einstellenversionReporting
~/.cdk.json
. Dadurch werden Sie standardmäßig abgemeldet. Im Folgenden wird ein Beispiel gezeigt:{ "app": "...", "versionReporting": false }
-
Nach der Konfiguration können Sie dieses Verhalten außer Kraft setzen und sich anmelden, indem Sie einen individuellen Befehl angeben
--version-reporting
.
Nur die zusätzliche Berichterstattung über Nutzungsdaten deaktivieren
Wenn Ihre CDK-App mit einer CDK-Version erstellt wurde, die älter als 2.178.0 ist, werden Sie automatisch von der zusätzlichen Berichterstattung über Nutzungsdaten abgemeldet, auch wenn Sie der allgemeinen Berichterstattung über Nutzungsdaten zugestimmt haben. Sie müssen nichts tun, um die zusätzliche Berichterstattung über Nutzungsdaten zu deaktivieren.
Wenn Ihre CDK-App mit der CDK-Version 2.178.0 oder neuer erstellt wurde, müssen Sie die gesamte Berichterstattung über Nutzungsdaten deaktivieren. Sie können sich nicht nur von der zusätzlichen Berichterstattung über Nutzungsdaten abmelden.
Melden Sie sich für die Berichterstattung über Nutzungsdaten an
Wenn Ihre CDK-App mit der CDK-Version 2.178.0 oder neuer erstellt wurde, können Sie sich für die gesamte Berichterstattung über Nutzungsdaten entscheiden, indem Sie auf einstellen. versionReporting
true
Dies ist das Standardverhalten von CDK-Apps.
Wenn Ihre CDK-App mit einer CDK-Version erstellt wurde, die älter als 2.178.0 ist, können Sie sich für die allgemeine Berichterstattung über Nutzungsdaten entscheiden, indem Sie auf einstellen. versionReporting
true
Um sich für zusätzliche Nutzungsdatenberichte zu entscheiden, müssen Sie ein Feature-Flag aktivieren.
Um sich für zusätzliche Berichte über Nutzungsdaten zu entscheiden
Anmerkung
Diese Schritte gelten für CDK-Apps, die ursprünglich mit einer älteren Version als 2.178.0 erstellt wurden
-
Stellen Sie sicher, dass Sie jetzt CDK-Version 2.178.0 oder neuer verwenden.
-
Geben Sie in Ihrer CDK-Konfigurationsdatei als an.
@aws-cdk/core:enableAdditionalMetadataCollection
true
Im Folgenden wird ein Beispiel gezeigt:{ "context": { "@aws-cdk/core:enableAdditionalMetadataCollection": "true" } }
-
Sie können den
ENABLE_ADDITIONAL_METADATA_COLLECTION
Wert auch mit derFeatureFlags
Klasse verwenden. Im Folgenden wird ein Beispiel gezeigt:import * as cdk from 'aws-cdk-lib'; import { FeatureFlags } from 'aws-cdk-lib'; import * as cx_api from 'aws-cdk-lib/cx-api'; import { Construct } from 'constructs'; export class MyStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // Set the feature flag ENABLE_ADDITIONAL_METADATA_COLLECTION to true FeatureFlags.of(this).add(cx_api.ENABLE_ADDITIONAL_METADATA_COLLECTION, true); // Your stack resources go here new cdk.aws_s3.Bucket(this, 'MyBucket'); } } const app = new cdk.App(); new MyStack(app, 'MyStack');
Beispiele
Allgemeine und zusätzliche Nutzungsdaten, die von einer CDK-Anwendung erfasst wurden
Im Folgenden finden Sie ein Beispiel für eine CDK-App:
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as s3 from 'aws-cdk-lib/aws-s3';
class MyStack extends cdk.Stack {
constructor(scope, id, props) {
super(scope, id, props);
// Create an S3 bucket (L2 construct)
const myBucket = new s3.Bucket(this, 'MyBucket', {
bucketName: 'my-cdk-example-bucket', // String type
versioned: true, // Boolean type
removalPolicy: cdk.RemovalPolicy.DESTROY, // ENUM type
lifecycleRules: [{ // Array of object type
expirationDate: new Date('2019-10-01'),
objectSizeLessThan: 600,
objectSizeGreaterThan: 500,
}],
});
// Use a method of the L2 construct to define additional properties
myBucket.addLifecycleRule({
id: 'ExpireOldObjects',
enabled: true, // Boolean
expiration: cdk.Duration.days(90), // Expire objects after 90 days
});
}
}
// Define the CDK app and stack
const app = new cdk.App();
new MyStack(app, 'MyStack');
app.synth();
Bei der Synthese werden Nutzungsdaten gesammelt, komprimiert und in der AWS::CDK::Metadata
Ressource gespeichert.
Im Folgenden finden Sie ein Beispiel für allgemeine Nutzungsdaten, die mit einer CDK-Version gesammelt wurden, die älter als 2.178.0 ist:
{
"fqn": "aws-cdk-lib.aws-s3.Bucket",
"version": "v2.170.0"
}
Im Folgenden finden Sie ein Beispiel für gesammelte Nutzungsdaten, einschließlich der zusätzlichen Nutzungsdaten, die in CDK-Version 2.178.0 eingeführt wurden:
{
"fqn": "aws-cdk-lib.aws_s3.Bucket",
"version": "2.170.0",
"metadata": [
{
"type": "aws:cdk:analytics:construct",
"data": {
"bucketName": "*",
"versioned": true,
"removalPolicy": "cdk.RemovalPolicy.DESTROY",
"lifecycleRules": [
{
"expirationDate": "*",
"objectSizeLessThan": "*",
"objectSizeGreaterThan": "*"
}
]
}
},
{
"type": "aws:cdk:analytics:method",
"data": {
"name": "addLifecycleRule",
"prop": {
"id": "*",
"enabled": true,
"expiration": "*",
}
}
}
]
}