Cloudformation · 6 min read · Feb 04, 2026
Verwenden Sie Cloudformation, um eine RDS MySql-Instanz auf AWS zu erstellen

Der AWS Relational Database Service (RDS AWS) ist ein Webdienst, der es einfacher macht, eine relationale Datenbank in der Cloud einzurichten und zu betreiben. Um mehr über RDS zu erfahren, suchen Sie nach dem Artikel “Wie man eine RDS MySql (Relation Database MySql) Instanz auf AWS einrichtet”.
AWS CloudFormation ermöglicht es uns, Programmiersprachen (yaml/json) oder eine einfache Textdatei zu verwenden, um alle Ressourcen zu modellieren und bereitzustellen, die für unsere Anwendungen benötigt werden. Dies gibt uns eine einzige Quelle der Wahrheit für unsere AWS-Ressourcen.
In diesem Artikel werden wir die Schritte sehen, um eine RDS MySql-Instanz mit Cloudformation Stack zu erstellen.
Voraussetzungen
- AWS-Konto (erstellen, wenn Sie noch keines haben).
- Grundlegendes Verständnis von Cloudformation Stack.
- Grundlegendes Verständnis von RDS MySql (Relation Database MySql) Instanz auf AWS.
Was werden wir tun?
- Anmeldung bei AWS.
- Erstellen Sie eine RDS MySql-Instanz mit Cloudformation Stack
Anmeldung bei AWS
- Klicken Sie hier, um zur AWS-Anmeldeseite zu gelangen.
Wenn wir den obigen Link aufrufen, sehen wir eine Webseite, auf der wir uns mit unseren Anmeldedaten anmelden müssen.

Sobald wir uns erfolgreich bei AWS angemeldet haben, sehen wir die Hauptkonsole mit allen aufgelisteten Diensten.

Erstellen einer RDS MySql-Instanz mit Cloudformation.
Bevor wir eine Instanz mit Cloudformation Stack erstellen, kopieren Sie den Code aus dem folgenden Block oder laden Sie die Vorlage von hier herunter und speichern Sie sie auf Ihrem lokalen Computer.
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Diese Stack erstellt eine RDS MySql 5.7 Instanz
Parameters:
Owner:
Description: Geben Sie den Namen des Eigentümers für diesen Stack ein.
Type: String
Default: Name
VPC:
Description: Wählen Sie VPC aus den verfügbaren VPCs in Ihrem Konto aus.
Type: AWS::EC2::VPC::Id
PrivateSubnet1:
Description: Wählen Sie Private Subnet 1 aus.
Type: AWS::EC2::Subnet::Id
PrivateSubnet2:
Description: Wählen Sie Private Subnet 2 aus.
Type: AWS::EC2::Subnet::Id
PrivateSubnet3:
Description: Wählen Sie Private Subnet 3 aus.
Type: AWS::EC2::Subnet::Id
MasterUsername:
Description: Datenbankadministrationsname.
Type: String
Default: rdsroot
MasterUserPassword:
NoEcho: 'true'
Description: Datenbankadministrationspasswort.
Type: String
MinLength: '8'
AllowedPattern: "[a-zA-Z0-9!?]*"
ConstraintDescription: Muss nur Groß- und Kleinbuchstaben sowie Zahlen enthalten
BackupRetentionPeriod:
Description: Geben Sie den Backup-Aufbewahrungszeitraum in Tagen ein.
Type: Number
Default: '5'
MultiAvailabilityZone:
Description: Möchten Sie mehrere Verfügbarkeitszonen aktivieren?
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
TcpPort:
Description: Geben Sie die RDS hörende TCP-Portnummer ein.
Type: Number
Default: '3306'
PreferredBackupWindow:
Description: Geben Sie die bevorzugte Backup-Zeit ein.
Type: String
Default: 15:00-17:00
PreferredMaintenanceWindow:
Description: Geben Sie das bevorzugte Wartungsfenster ein.
Type: String
Default: Sun:18:00-Sun:22:00
AllocatedStorage:
Default: '15'
Description: Geben Sie die Größe der Datenbank (Gb) ein
Type: Number
MinValue: '5'
MaxValue: '6144'
ConstraintDescription: Muss zwischen 5-6144 liegen
SnapshotOnDelete:
Description: Möchten Sie einen Snapshot beim Löschen der Instanz erstellen?
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
AutoMinorVersionUpgrade:
Description: Möchten Sie automatische kleinere Versionsupdates zulassen?
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
InstanceType:
Description: Wählen Sie den Instanztyp aus.
Type: String
Default: db.t2.micro
ConstraintDescription: Muss ein gültiger EC2-Instanztyp sein.
Mappings:
Settings:
MySQL:
Engine: MySQL
Version: '5.7'
Conditions:
ConfigureSnapshotOnDelete:
Fn::Equals:
- Ref: SnapshotOnDelete
- 'true'
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: Eigentum
Parameters:
- Owner
- Label:
default: Netzwerkkonfiguration
Parameters:
- VPC
- PrivateSubnet1
- PrivateSubnet2
- PrivateSubnet3
- Label:
default: RDS-Konfiguration
Parameters:
- InstanceType
- MasterUsername
- MasterUserPassword
- BackupRetentionPeriod
- PreferredBackupWindow
- PreferredMaintenanceWindow
- SnapshotOnDelete
- AllocatedStorage
- AutoMinorVersionUpgrade
- TcpPort
- MultiAvailabilityZone
ParameterLabels:
Owner:
default: Team oder individueller Eigentümer
InstanceType:
default: Instanztyp
PrivateSubnet1:
default: Private Subnet 1
PrivateSubnet2:
default: Private Subnet 2
PrivateSubnet3:
default: Private Subnet 3
MasterUsername:
default: Master-Benutzername
MasterUserPassword:
default: Master-Benutzerpasswort
BackupRetentionPeriod:
default: Backup-Aufbewahrungszeitraum
PreferredBackupWindow:
default: Bevorzugtes Backup-Fenster
PreferredMaintenanceWindow:
default: Bevorzugtes Wartungsfenster
AllocatedStorage:
default: Zuweisungsspeicher
AutoMinorVersionUpgrade:
default: Automatische kleinere Versionsaktualisierung
TcpPort:
default: TCP-Port
MultiAvailabilityZone:
default: Mehrere Verfügbarkeitszonen?
SnapshotOnDelete:
default: Snapshot beim Löschen?
Resources:
RDSAccessSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Instanz zu RDS-Zugriff
VpcId:
Ref: VPC
Tags:
- Key: Name
Value:
Fn::Join:
- ''
- - Ref: AWS::StackName
- "-rds"
- Key: Owner
Value:
Ref: Owner
AccessSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
DependsOn: RDSAccessSecurityGroup
Properties:
GroupId:
Ref: RDSAccessSecurityGroup
IpProtocol: tcp
FromPort:
Ref: TcpPort
ToPort:
Ref: TcpPort
SourceSecurityGroupId:
Ref: RDSAccessSecurityGroup
DbSubnetGroup:
Type: AWS::RDS::DBSubnetGroup
Properties:
DBSubnetGroupDescription:
Fn::Join:
- ''
- - 'RDS Subnet-Gruppe für '
- Ref: AWS::StackName
SubnetIds:
- Ref: PrivateSubnet1
- Ref: PrivateSubnet2
- Ref: PrivateSubnet3
Tags:
- Key: Name
Value:
Ref: AWS::StackName
- Key: Owner
Value:
Ref: Owner
DbInstance:
Type: AWS::RDS::DBInstance
DeletionPolicy: Snapshot
DependsOn:
- DbSubnetGroup
- RDSAccessSecurityGroup
Properties:
AllocatedStorage:
Ref: AllocatedStorage
AllowMajorVersionUpgrade: 'false'
AutoMinorVersionUpgrade:
Ref: AutoMinorVersionUpgrade
BackupRetentionPeriod:
Ref: BackupRetentionPeriod
DBInstanceClass:
Ref: InstanceType
DBInstanceIdentifier:
Ref: AWS::StackName
DBSubnetGroupName:
Ref: DbSubnetGroup
Engine:
Fn::FindInMap:
- Settings
- MySQL
- Engine
EngineVersion:
Fn::FindInMap:
- Settings
- MySQL
- Version
MasterUsername:
Ref: MasterUsername
MasterUserPassword:
Ref: MasterUserPassword
MultiAZ:
Ref: MultiAvailabilityZone
Port:
Ref: TcpPort
PreferredBackupWindow:
Ref: PreferredBackupWindow
PreferredMaintenanceWindow:
Ref: PreferredMaintenanceWindow
PubliclyAccessible: 'false'
StorageEncrypted: 'false'
StorageType: gp2
VPCSecurityGroups:
- Ref: RDSAccessSecurityGroup
Tags:
- Key: Name
Value:
Ref: AWS::StackName
- Key: Owner
Value:
Ref: Owner
Outputs:
Owner:
Description: Team oder Einzelperson, die diese Formation besitzt.
Value:
Ref: Owner
VPC:
Description: Verwendete VPC
Value:
Ref: VPC
RDSHostname:
Description: RDS-Hostname
Value:
Fn::GetAtt:
- DbInstance
- Endpoint.Address
RDSPort:
Description: RDS-Port
Value:
Fn::GetAtt:
- DbInstance
- Endpoint.Port
DbSubnetGroup:
Description: DB-Subnetzgruppe erstellt.
Value:
Ref: DbSubnetGroup
RDSAccessSecurityGroup:
Description: RDS-Zugriffs-Sicherheitsgruppe erstellt.
Value:
Ref: RDSAccessSecurityGroup
PrivateSubnet1:
Description: Private Subnet 1 Bereitstellung
Value:
Ref: PrivateSubnet1
PrivateSubnet2:
Description: Private Subnet 2 Bereitstellung
Value:
Ref: PrivateSubnet2
PrivateSubnet3:
Description: Private Subnet 3 Bereitstellung
Value:
Ref: PrivateSubnet3
BackupRetentionPeriod:
Description: Backup-Aufbewahrungszeitraum in Tagen
Value:
Ref: BackupRetentionPeriod
MultiAvailabilityZone:
Description: Mehrere Verfügbarkeitszonen aktivieren?
Value:
Ref: MultiAvailabilityZone
SnapshotOnDelete:
Description: Snapshot beim Löschen erstellen?
Value:
Ref: SnapshotOnDelete
PreferredBackupWindow:
Description: Bevorzugtes Backup-Fenster
Value:
Ref: PreferredBackupWindow
PreferredMaintenanceWindow:
Description: Bevorzugtes Wartungsfenster
Value:
Ref: PreferredMaintenanceWindow
AllocatedStorage:
Description: Zuweisungsspeicher in GB
Value:
Ref: AllocatedStorage
Sobald Sie die Vorlage auf Ihrem lokalen Computer haben, gehen Sie zur AWS-Konsole und klicken Sie im oberen Menü auf “Dienste” und suchen Sie nach “Cloudformation”.

Sie sehen das Hauptdashboard von Cloudformation wie folgt. Klicken Sie auf die Schaltfläche “Stack erstellen”, um einen Stack zu erstellen, um eine RDS MySql-Instanz zu erstellen.

Klicken Sie auf die Radiotaste “Eine Vorlagendatei hochladen” und wählen Sie die Vorlage aus, die Sie von Ihrem lokalen Computer gespeichert haben, und klicken Sie auf die Schaltfläche “Weiter”.

Geben Sie einen Namen Ihrer Wahl für den Stack an und füllen Sie die erforderlichen Details aus und klicken Sie auf “Weiter”, um fortzufahren.


Sie können Tags für den Cloudformation-Stack angeben, die auf die RDS MySql-Instanz angewendet werden können, die durch den Stack erstellt wird. Klicken Sie auf “Weiter”, um fortzufahren.

Scrollen Sie nach unten und klicken Sie auf “Stack erstellen”, um den Stack zu erstellen.

Die Erstellung wird einige Zeit in Anspruch nehmen. Sie können die durchgeführten Aktionen unter Ereignisse sehen.

Um den Status der erstellten RDS MySql-Instanz zu sehen, klicken Sie auf “Dienste” und suchen Sie nach “RDS”.

Klicken Sie im Hauptdashboard auf “DB-Instanzen”.

Hier können Sie sehen, dass der Status der Instanz “Modifizieren” ist. Dies wird einige Zeit in Anspruch nehmen, um erstellt zu werden und bereit für die Nutzung zu sein.

In den Cloudformation-Stack-Ereignissen können Sie sehen, dass nach einiger Zeit, sobald die RDS MySql-Instanz erstellt wird, der Status “CREATE_COMPLETE” ist.

In der RDS-Konsole können Sie jetzt sehen, dass der Status “Verfügbar” ist.

Um weitere Details zur RDS MySql-Instanz zu sehen, klicken Sie auf die RDS MySql-Instanz –> Konnektivität & Sicherheit.
Um sich mit der RDS MySql-Instanz zu verbinden, können Sie den von der Instanz bereitgestellten Endpunkt verwenden.

Sobald die Instanz nicht mehr benötigt wird, löschen Sie den Cloudformation-Stack vom Hauptdashboard von Cloudformation, um Kosten zu sparen.
Fazit
In diesem Artikel haben wir die Schritte gesehen, um eine RDS MySql-Instanz mit Cloudformation Stack zu erstellen.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.