Türchen #3: EC2 Lifecycle Manager
Von Dirk Piethan am 3. Dezember 2019
Weiter geht es mit "Türchen Nummer 3" - EC2 Lifecycle Manager
EC2 Lifecycle Manager
Hier unterstützt AWS den Anwender mit dem EC2 Lifecycle Manager. Hiermit konfigurieren Sie die Data Lifecycle Manager (DLM)-Richtlinien, um die Erstellung, Aufbewahrung und Löschung von Amazon EBS Snapshots zu automatisieren. Ein Snapshot ist dabei ein inkermentelles Backup, was zu einem bestimmten Zeitpunkt gesichert wurden ist.
Der Data Lifecycle Manager unterstützt in folgenden Punkten:
- Wichtige Daten werden geschützt und nach einem Sicherungsplan gesichert
- Sicherungen nach Compliance Vorschriften aufbewahrt, bis zu 100 Jahren
- Speicherkosten werden durch Löschregeln reduziert
Schrittweise Einrichtung
IAM-Rolle
Wenn nicht bereits durch AWS erstellt muss eine IAM-Rolle für den DLM erstellt werden, mit dieser Anweisung erstellen Sie die AWSDataLifecycleManagerDefaultRole.
$ aws dlm create-default-role
IAM Nutzer
Zusätzlich benötigt der IAM Benutzer die Berechtigung um Amazon DLM zu nutzen.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["iam:PassRole", "iam:ListRoles"],
"Resource": "arn:aws:iam::<ACCOUNT-ID>:role/AWSDataLifecycleManagerDefaultRole"
},
{
"Effect": "Allow",
"Action": "dlm:*",
"Resource": "*"
}
]
}
Erste Lifecycle Policy
Wir erstellen hier eine Richtlinie, die für alle Volumes ein Snapshot erstellt, wenn diese das Tag “Enviroment=Prod” haben. Die Snapshots werden alle 24 Stunden erstellt, und für 14 Tage aufbewahrt.
$ touch policyDetails.json
$ vim policyDetails.json
Und fügen folgendes ein, bitte passen Sie die Datei ihren Bedürfnissen an.
{
"ResourceTypes": [
"VOLUME"
],
"TargetTags": [
{
"Key": "Environment",
"Value": "Prod"
}
],
"Schedules":[
{
"Name": "meinetglSicherung",
"TagsToAdd": [
{
"Key": "type",
"Value": "meinetglSicherung"
}
],
"CreateRule": {
"Interval": 24,
"IntervalUnit": "HOURS",
"Times": [
"02:00"
]
},
"RetainRule": {
"Count":14
},
"CopyTags": false
}
]
}
Nach dem die Richtlinie erstellt wurden ist, kann diese mit Hilfe der aws cli erstellt werden.
aws dlm create-lifecycle-policy --description "Meine taegl. Sicherung" --state ENABLED --execution-role-arn arn:aws:iam::<ACCOUNT-ID>:role/AWSDataLifecycleManagerDefaultRole --policy-details file://policyDetails.json
Die API bestätigt die erfolgreiche Einrichtung mit einer ähnlichen Ausgabe.
{
"PolicyId": "policy-0123456789abcdef0"
}