|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nachrichtenartikel zu Kryptowährungen
Stellen Sie einen Amazon ElastiCache for Redis-Cluster mit AWS CDK und TypeScript bereit |
Apr 05, 2024 at 11:25 pm
Mit dem AWS Cloud Development Kit (AWS CDK) können Sie AWS-Ressourcen mit einer einzigen Codezeile erstellen. Sie können beispielsweise eine VPC in TypeScript mit der folgenden Zeile erstellen:new EC2.Vpc(this, 'cache_vpc'); Mehrere AWS-Ressourcen erfordern jedoch mehrere Codezeilen, da Sie häufig unterstützende Ressourcen erstellen müssen. Beispielsweise müssen Sie eine CfnSubnetGroup und eine SecurityGroup erstellen, bevor Sie eine Amazon ElastiCache für Redis CfnReplicationGroup erstellen. Diese Zusammenfassung zeigt die Schritte zum Bereitstellen eines Amazon ElastiCache-Clusters mithilfe von AWS CDK und TypeScript. Wir zeigen Ihnen auch, wie Sie Ressourcen mit Amazon ElastiCache für Redis Serverless bereitstellen.

Creating AWS Resources with AWS Cloud Development Kit (AWS CDK) for ElastiCache
Erstellen von AWS-Ressourcen mit dem AWS Cloud Development Kit (AWS CDK) für ElastiCache
Introduction
Einführung
AWS Cloud Development Kit (AWS CDK) enables developers to define and provision AWS resources using familiar programming languages such as TypeScript. This article guides readers through the process of deploying an Amazon ElastiCache cluster and ElastiCache Serverless resources using AWS CDK and TypeScript.
Mit dem AWS Cloud Development Kit (AWS CDK) können Entwickler AWS-Ressourcen mithilfe vertrauter Programmiersprachen wie TypeScript definieren und bereitstellen. Dieser Artikel führt Leser durch den Prozess der Bereitstellung eines Amazon ElastiCache-Clusters und ElastiCache Serverless-Ressourcen mithilfe von AWS CDK und TypeScript.
Prerequisites
Voraussetzungen
- AWS account
- AWS Command Line Interface (AWS CLI)
- AWS CDK
- Node.js 16.14.0 or later
Creating Prerequisite Resources
AWS-KontoAWS Command Line Interface (AWS CLI)AWS CDKNode.js 16.14.0 oder höherErstellen erforderlicher Ressourcen
- Install AWS CDK:
npm install -g aws-cdkInstallieren Sie AWS CDK:npm install -g aws-cdk
cdk --version- Create AWS CDK Directory Structure:
mkdir work & cd workcdk --versionAWS CDK-Verzeichnisstruktur erstellen: mkdir work & cd work
cdk init --language typescript- Install NPM Packages:
npm install- Create VPC:
In the lib/work-stack.ts file, create a VPC:
cdk init --Language Typescript NPM-Pakete installieren: npm install VPC erstellen: Erstellen Sie in der Datei lib/work-stack.ts eine VPC:
import * as cdk from 'aws-cdk-lib';* als CDK aus „aws-cdk-lib“ importieren;
import { Construct } from 'constructs';import { Construct } aus 'constructs';
import * as EC2 from 'aws-cdk-lib/aws-ec2';* als EC2 aus „aws-cdk-lib/aws-ec2“ importieren;
export class WorkStack extends cdk.Stack {Die Exportklasse WorkStack erweitert cdk.Stack {
private vpc: EC2.Vpc;privater vpc: EC2.Vpc;
constructor(scope: Construct, id: string, props?: cdk.StackProps) {Konstruktor(Bereich: Konstrukt, ID: Zeichenfolge, Requisiten?: cdk.StackProps) {
super(scope, id, props);super(scope, id, props);
this.vpc = new EC2.Vpc(this, 'cache_vpc');this.vpc = new EC2.Vpc(this, 'cache_vpc');
}}
}- Bootstrap AWS Environment:
cdk bootstrap- Synthesize CloudFormation Template:
cdk synth- Deploy VPC:
cdk deploy --require-approval neverCreate Subnet Group
}Bootstrap AWS Environment:cdk bootstrapSynthesize CloudFormation Template:cdk synthDeploy VPC:cdk deploy --require-approval neverCreate Subnet Group
- Update
lib/work-stack.tsto create a subnet group for ElastiCache:
import * as cdk from 'aws-cdk-lib';Aktualisieren Sie lib/work-stack.ts, um eine Subnetzgruppe für ElastiCache zu erstellen:import * as cdk from 'aws-cdk-lib';
* als CDK aus „aws-cdk-lib“ importieren;
import { Construct } from 'constructs';import { Construct } aus 'constructs';
import * as EC2 from 'aws-cdk-lib/aws-ec2';* als EC2 aus „aws-cdk-lib/aws-ec2“ importieren;
import { aws_elasticache as ElastiCache } from 'aws-cdk-lib';import { aws_elasticache as ElastiCache } from 'aws-cdk-lib';
export class WorkStack extends cdk.Stack {Die Exportklasse WorkStack erweitert cdk.Stack {
private vpc: EC2.Vpc;privater vpc: EC2.Vpc;
constructor(scope: Construct, id: string, props?: cdk.StackProps) {Konstruktor(Bereich: Konstrukt, ID: Zeichenfolge, Requisiten?: cdk.StackProps) {
const groupName = "ElastiCacheSubnetGroup";const groupName = "ElastiCacheSubnetGroup";
super(scope, id, props);super(scope, id, props);
this.vpc = new EC2.Vpc(this, 'cache_vpc');this.vpc = new EC2.Vpc(this, 'cache_vpc');
const subnetIds = [];const subnetIds = [];
for (const subnet of this.vpc.privateSubnets) {for (const subnet of this.vpc.privateSubnets) {
console.log("createElastiCache subnet ID: ", subnet.subnetId);console.log("createElastiCache-Subnetz-ID:", subnet.subnetId);
subnetIds.push(subnet.subnetId);subnetIds.push(subnet.subnetId);
}}
}
const subnetGroup = new ElastiCache.CfnSubnetGroup(this, "ElastiCacheSubnetGroup", {const subnetGroup = new ElastiCache.CfnSubnetGroup(this, "ElastiCacheSubnetGroup", {
cacheSubnetGroupName: groupName,CacheSubnetGroupName: Gruppenname,
subnetIds: subnetIds,Subnetz-IDs: Subnetz-IDs,
description: "ElastiCache Subnet Group",Beschreibung: „ElastiCache-Subnetzgruppe“,
}}
}
);
}}
}- Synthesize and deploy the stack:
cdk synth; cdk deploy --require-approval neverCreating an ElastiCache for Redis Replication Group
}Synthesieren und bereitstellen Sie den stack:cdk synth; cdk deploy --require-approval neverErstellen einer ElastiCache für Redis-Replikationsgruppe
- Create Security Group:
import * as cdk from 'aws-cdk-lib';Sicherheitsgruppe erstellen:import * as cdk from 'aws-cdk-lib';
* als CDK aus „aws-cdk-lib“ importieren;
import { Construct } from 'constructs';import { Construct } aus 'constructs';
import * as EC2 from 'aws-cdk-lib/aws-ec2';* als EC2 aus „aws-cdk-lib/aws-ec2“ importieren;
import { aws_elasticache as ElastiCache } from 'aws-cdk-lib';import { aws_elasticache as ElastiCache } from 'aws-cdk-lib';
import { SecurityGroup, Peer, Port } from 'aws-cdk-lib/aws-ec2';import { SecurityGroup, Peer, Port } from 'aws-cdk-lib/aws-ec2';
export class WorkStack extends cdk.Stack {Die Exportklasse WorkStack erweitert cdk.Stack {
private vpc: EC2.Vpc;privater vpc: EC2.Vpc;
constructor(scope: Construct, id: string, props?: cdk.StackProps) {Konstruktor(Bereich: Konstrukt, ID: Zeichenfolge, Requisiten?: cdk.StackProps) {
const groupName = "ElastiCacheSubnetGroup";const groupName = "ElastiCacheSubnetGroup";
super(scope, id, props);super(scope, id, props);
this.vpc = new EC2.Vpc(this, 'cache_vpc');this.vpc = new EC2.Vpc(this, 'cache_vpc');
const subnetIds = [];const subnetIds = [];
for (const subnet of this.vpc.privateSubnets) {for (const subnet of this.vpc.privateSubnets) {
console.log("createElastiCache subnet ID: ", subnet.subnetId);console.log("createElastiCache-Subnetz-ID:", subnet.subnetId);
subnetIds.push(subnet.subnetId);subnetIds.push(subnet.subnetId);
}}
}
const subnetGroup = new ElastiCache.CfnSubnetGroup(this, "ElastiCacheSubnetGroup", {const subnetGroup = new ElastiCache.CfnSubnetGroup(this, "ElastiCacheSubnetGroup", {
cacheSubnetGroupName: groupName,CacheSubnetGroupName: Gruppenname,
subnetIds: subnetIds,Subnetz-IDs: Subnetz-IDs,
description: "ElastiCache Subnet Group",Beschreibung: „ElastiCache-Subnetzgruppe“,
}}
}
);
const securityGroup = new SecurityGroup(this, "ElastiCacheSecurityGroup", {const securityGroup = new SecurityGroup(this, "ElastiCacheSecurityGroup", {
vpc: this.vpc,vpc: this.vpc,
allowAllOutbound: true,AllowAllOutbound: true,
description: "ElastiCache Security Group",Beschreibung: „ElastiCache-Sicherheitsgruppe“,
securityGroupName: "ElastiCacheSecurityGroup",securityGroupName: „ElastiCacheSecurityGroup“,
}}
}
);
securityGroup.addIngressRule(Peer.anyIpv4(), Port.tcp(6379), "Redis port");securityGroup.addIngressRule(Peer.anyIpv4(), Port.tcp(6379), „Redis-Port“);
}}
}- Create Replication Group:
import * as cdk from 'aws-cdk-lib';}Replikationsgruppe erstellen:import * as cdk from 'aws-cdk-lib';
* als CDK aus „aws-cdk-lib“ importieren;
import { Construct } from 'constructs';import { Construct } aus 'constructs';
import * as EC2 from 'aws-cdk-lib/aws-ec2';* als EC2 aus „aws-cdk-lib/aws-ec2“ importieren;
import { aws_elasticache as ElastiCache } from 'aws-cdk-lib';import { aws_elasticache as ElastiCache } from 'aws-cdk-lib';
import { SecurityGroup, Peer, Port } from 'aws-cdk-lib/aws-ec2';import { SecurityGroup, Peer, Port } from 'aws-cdk-lib/aws-ec2';
export class WorkStack extends cdk.Stack {Die Exportklasse WorkStack erweitert cdk.Stack {
private vpc: EC2.Vpc;privater vpc: EC2.Vpc;
constructor(scope: Construct, id: string, props?: cdk.StackProps) {Konstruktor(Bereich: Konstrukt, ID: Zeichenfolge, Requisiten?: cdk.StackProps) {
const groupName = "ElastiCacheSubnetGroup";const groupName = "ElastiCacheSubnetGroup";
super(scope, id, props);super(scope, id, props);
this.vpc = new EC2.Vpc(this, 'cache_vpc');this.vpc = new EC2.Vpc(this, 'cache_vpc');
const subnetIds = [];const subnetIds = [];
for (const subnet of this.vpc.privateSubnets) {for (const subnet of this.vpc.privateSubnets) {
console.log("createElastiCache subnet ID: ", subnet.subnetId);console.log("createElastiCache-Subnetz-ID:", subnet.subnetId);
subnetIds.push(subnet.subnetId);subnetIds.push(subnet.subnetId);
}}
}
const subnetGroup = new ElastiCache.CfnSubnetGroup(this, "ElastiCacheSubnetGroup", {const subnetGroup = new ElastiCache.CfnSubnetGroup(this, "ElastiCacheSubnetGroup", {
cacheSubnetGroupName: groupName,CacheSubnetGroupName: Gruppenname,
subnetIds: subnetIds,Subnetz-IDs: Subnetz-IDs,
description: "ElastiCache Subnet Group",Beschreibung: „ElastiCache-Subnetzgruppe“,
}}
}
);
const securityGroup = new SecurityGroup(this, "ElastiCacheSecurityGroup", {const securityGroup = new SecurityGroup(this, "ElastiCacheSecurityGroup", {
vpc: this.vpc,vpc: this.vpc,
allowAllOutbound: true,AllowAllOutbound: true,
description: "ElastiCache Security Group",Beschreibung: „ElastiCache-Sicherheitsgruppe“,
securityGroupName: "ElastiCacheSecurityGroup",securityGroupName: „ElastiCacheSecurityGroup“,
}}
}
);
securityGroup.addIngressRule(Peer.anyIpv4(), Port.tcp(6379), "Redis port");securityGroup.addIngressRule(Peer.anyIpv4(), Port.tcp(6379), „Redis-Port“);
const cache = new ElastiCache.CfnReplicationGroup(this, "ReplicationGroup", {const Cache = new ElastiCache.CfnReplicationGroup(this, "ReplicationGroup", {
replicationGroupDescription: "Elastic Cache Replication Group",replicationGroupDescription: „Elastic Cache Replication Group“,
numCacheClusters: 1,numCacheClusters: 1,
automaticFailoverEnabled: false,AutomaticFailoverEnabled: false,
engine: 'redis',Motor: 'redis',
cacheNodeType: 'cache.m7g.large',CacheNodeType: 'cache.m7g.large',
cacheSubnetGroupName: subnetGroup.ref,CacheSubnetGroupName: subnetGroup.ref,
securityGroupIds: [securityGroup.securityGroupId],securityGroupIds: [securityGroup.securityGroupId],
}}
}
);
// Establish dependency between cache and subnetGroup// Abhängigkeit zwischen Cache und SubnetGroup herstellen
cache.addDependency(subnetGroup);cache.addDependency(subnetGroup);
}}
}- Synthesize and deploy the stack:
cdk synth; cdk deploy --require-approval neverDeploying ElastiCache for Redis Serverless Resources
}Synthesieren und bereitstellen Sie den stack:cdk synth; cdk deploy --require-approval neverBereitstellen von ElastiCache für serverlose Redis-Ressourcen
- Create Security Group:
import * as cdk from 'aws-cdk-lib';Sicherheitsgruppe erstellen:import * as cdk from 'aws-cdk-lib';
* als CDK aus „aws-cdk-lib“ importieren;
import { Construct } from 'constructs';import { Construct } aus 'constructs';
import * as EC2 from 'aws-cdk-lib/aws-ec2';* als EC2 aus „aws-cdk-lib/aws-ec2“ importieren;
import { aws_elasticache as ElastiCache } from 'aws-cdk-lib';import { aws_elasticache as ElastiCache } from 'aws-cdk-lib';
import { SecurityGroup, Peer, Port } from 'aws-cdk-lib/aws-ec2';import { SecurityGroup, Peer, Port } from 'aws-cdk-lib/aws-ec2';
export class WorkStack extends cdk.Stack {Die Exportklasse WorkStack erweitert cdk.Stack {
private vpc: EC2.Vpc;privater vpc: EC2.Vpc;
constructor(scope: Construct, id: string, props?: cdk.StackProps) {Konstruktor(Bereich: Konstrukt, ID: Zeichenfolge, Requisiten?: cdk.StackProps) {
const groupName = "ElastiCacheSubnetGroup";const groupName = "ElastiCacheSubnetGroup";
super(scope, id, props);super(scope, id, props);
this.vpc = new EC2.Vpc(this, 'cache_vpc');this.vpc = new EC2.Vpc(this, 'cache_vpc');
const subnetIds = [];const subnetIds = [];
for (const subnet of this.vpc.privateSubnets) {for (const subnet of this.vpc.privateSubnets) {
console.log("createElastiCache subnet ID: ", subnet.subnetId);console.log("createElastiCache-Subnetz-ID:", subnet.subnetId);
subnetIds.push(subnet.subnetId);subnetIds.push(subnet.subnetId);
}}
}
const subnetGroup = new ElastiCache.CfnSubnetGroup(this, "ElastiCacheSubnetGroup", {const subnetGroup = new ElastiCache.CfnSubnetGroup(this, "ElastiCacheSubnetGroup", {
cacheSubnetGroupName: groupName,CacheSubnetGroupName: Gruppenname,
subnetIds: subnetIds,Subnetz-IDs: Subnetz-IDs,
description: "ElastiCache Subnet Group",Beschreibung: „ElastiCache-Subnetzgruppe“,
}}
}
);
const securityGroup = new SecurityGroup(this, "ElastiCacheSecurityGroup", {const securityGroup = new SecurityGroup(this, "ElastiCacheSecurityGroup", {
vpc: this.vpc,vpc: this.vpc,
allowAllOutbound: true,AllowAllOutbound: true,
description: "ElastiCache Security Group",Beschreibung: „ElastiCache-Sicherheitsgruppe“,
securityGroupName: "ElastiCacheSecurityGroup",securityGroupName: „ElastiCacheSecurityGroup“,
}}
}
);
Haftungsausschluss:info@kdj.com
Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!
Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.
-
- HBO Max Reddit-Konto wegen Krypto-Diebstahl-Malware-Angriff gekapert: Eine neue Welle raffinierter Betrügereien
- Sep 17, 2026 at 12:05 pm
- Eine ausgeklügelte Malware-Kampagne namens PasteSwitch nutzte das verifizierte HBO-Max-Reddit-Konto, um kryptodiebstahlende Malware zu verbreiten und machte auf sich entwickelnde Bedrohungen für Benutzerkonten und digitale Vermögenswerte aufmerksam.
-
- Der Ausschuss des Repräsentantenhauses bringt einen strategischen Gesetzentwurf zur Bitcoin-Reserve voran, der die Zukunft der Krypto-Bestände des Bundes prägt
- Sep 17, 2026 at 12:05 pm
- Der Finanzdienstleistungsausschuss des Repräsentantenhauses genehmigte den American Reserve Modernization Act und brachte damit den Gesetzentwurf zur strategischen Bitcoin-Reserve voran, um Bundesvorräte an Bitcoin und digitalen Vermögenswerten einzurichten.
-
- Krypto-Steuergesetz: Für digitale Vermögenswerte gelten neue Steuervorschriften, aber Klarheit bleibt unklar
- Sep 17, 2026 at 08:05 am
- Das Repräsentantenhaus hat einen Gesetzesentwurf zur Kryptosteuer vorgelegt, der darauf abzielt, die Steuervorschriften für digitale Vermögenswerte an das traditionelle Finanzwesen anzupassen. Dies bietet zwar einige Erleichterungen, lässt aber wichtige Fragen, insbesondere in Bezug auf Mining und Staking, ungelöst.
-
- MemeToro revolutioniert Memecoin-Einführungen in der BNB-Kette mit KI und Fair-Launch-Smart-Contracts
- Sep 17, 2026 at 08:05 am
- MemeToro führt ein KI-gestütztes Launchpad und ein Fair-Launch-Treuhandkonto auf der BNB-Kette ein und setzt damit einen neuen Standard für Transparenz und Sicherheit in Memecoin-Nachrichten.
-
- Bitcoin und Ether bereiten sich auf anhaltende Volatilität vor, da die einstimmige Zinserhöhung der Fed eine restriktive Entschlossenheit signalisiert
- Sep 17, 2026 at 07:55 am
- Die einstimmige Zinserhöhung der Federal Reserve um einen Viertelpunkt am 16. September 2026 brachte Bitcoin und Ether ins Schwanken, da der Vorsitzende Kevin Warsh seinen Ansatz, bei dem die Inflation an erster Stelle steht, verdoppelte und damit den Grundstein für die weitere Neukalibrierung des Kryptomarktes legte.
-
- Sicher durch Krypto-Vorverkäufe navigieren: Wichtige Tipps für den Kauf von Krypto, die Sicherheit von Trust Wallets und die Überprüfung von Verträgen
- Sep 17, 2026 at 07:45 am
- Erfahren Sie, wie Sie Krypto-Vorverkäufe sicher kaufen, die Sicherheit von Trust Wallet gewährleisten und Smart Contracts verifizieren, um Betrug zu vermeiden. Ihr Leitfaden für sichere Krypto-Investitionen.
-
- Das CLARITY-Gesetz gerät ins Stocken, die Regeln für Kryptowährungen werden an die Regulierungsbehörden verlagert, 5 Münzen im Fokus
- Sep 17, 2026 at 07:45 am
- Das Scheitern des CLARITY Act im Senat verlagert die Festlegung von Krypto-Regeln auf Behörden, was sich auf bestimmte Münzen wie Hedera, Gigachad, Algorand, Notcoin und Fartcoin auswirkt.
-
- Column übernimmt Mastercard bei der Ausgabe von Stablecoin-Karten, Circle startet Arc mit großer Unterstützung
- Sep 17, 2026 at 07:45 am
- Column erweitert die Ausgabe von Stablecoin-Karten und fordert damit Mastercard und Marqeta heraus, während Circle seine Arc-Blockchain mit BlackRock und Mastercard als Validatoren vorstellt.
-
- MEV Bot Yoinks 7,8-Millionen-Dollar-Intervention: Eine wilde Fahrt in der Ethereum-rsETH-Exploit-Saga
- Sep 17, 2026 at 07:45 am
- Ein MEV-Bot namens Yoink führte kürzlich einen rsETH-Exploit im Wert von 7,8 Millionen US-Dollar auf Ethereum durch und sicherte sich Gelder, bevor ein Hacker es konnte. Dieser Vorfall verdeutlicht das komplexe Zusammenspiel von MEV-Bots, DeFi-Schwachstellen und dem anhaltenden Streben nach Blockchain-Sicherheit.

































