Amazon Web Services¶
Für Kubernetes-Cluster in Amazon Web Services (AWS) empfiehlt es sich, dem Afi-Sicherungsagenten die direkte Verwaltung von Volume-Snapshots über die AWS-API zu ermöglichen, statt die generische CSI-API zu verwenden. Mit dieser Integration nutzt Afi die von AWS bereitgestellte Changed-Block-Tracking-API für schnelle und ressourcenschonende inkrementelle Sicherungen.
Den Zugriff verwalten Sie in AWS, indem Sie Richtlinien erstellen und IAM-Identitäten (Benutzern, Benutzergruppen oder Rollen) beziehungsweise AWS-Ressourcen zuweisen. Eine Richtlinie ist ein AWS-Objekt, das nach der Verknüpfung mit einer Identität oder Ressource deren Berechtigungen festlegt. AWS wertet diese Richtlinien aus, wenn ein IAM-Prinzipal (Benutzer oder Rolle) eine Anfrage stellt. Die Berechtigungen in den Richtlinien bestimmen, ob die Anfrage zugelassen oder abgelehnt wird.
Um die AWS-API zur Snapshot-Verwaltung zu verwenden, müssen Sie einen IAM-Benutzer mit einer benutzerdefinierten IAM-Richtlinie erstellen, die Snapshot-bezogene Vorgänge erlaubt. Stellen Sie anschließend dem Afi-Sicherungsagenten die Anmeldedaten dieses IAM-Benutzers bereit. Die einzelnen Schritte werden nachfolgend beschrieben.
IAM-Richtlinie erstellen¶
Nachfolgend finden Sie die JSON-Beschreibung der für die Snapshot-Verwaltung erforderlichen IAM-Richtlinie. Speichern Sie sie in einer Datei namens policy.json:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:CreateSnapshot",
"ec2:DeleteSnapshot",
"ec2:DescribeSnapshots",
"ec2:CreateVolume",
"ec2:DeleteVolume",
"ec2:DescribeVolumes",
"ec2:CreateTags",
"ec2:DeleteTags",
"ebs:ListSnapshotBlocks",
"ebs:ListChangedBlocks",
"ebs:GetSnapshotBlock"
],
"Resource": "*"
}
]
}
Erstellen Sie die IAM-Richtlinie in Ihrem AWS-Konto:
Weitere Informationen finden Sie im Artikel Creating IAM policies der AWS-Dokumentation.
IAM-Benutzer erstellen und Richtlinie zuweisen¶
Erstellen Sie den IAM-Benutzer k8sbackup:
Weisen Sie die im vorherigen Abschnitt erstellte Richtlinie k8sbackup-policy dem Benutzer k8sbackup zu. Ersetzen Sie ${AccountId} durch Ihre AWS-Konto-ID:
aws iam attach-user-policy \
--user-name k8sbackup \
--policy-arn arn:aws:iam::${AccountId}:policy/k8sbackup-policy
Erstellen Sie einen Zugriffsschlüssel für den Benutzer k8sbackup und speichern Sie die Werte AccessKeyId und SecretAccessKey zur späteren Verwendung:
Weitere Informationen finden Sie im Artikel Creating an IAM user der AWS-Dokumentation.
Secret aws-api-key erstellen und Sicherungsagenten neu starten¶
Erstellen Sie im Namespace, in dem der Afi-Sicherungsagent installiert ist, ein Kubernetes-Secret namens aws-api-key:
kubectl -n backup-agent create secret generic aws-api-key \
--from-literal=access-key-id=${AccessKeyId} \
--from-literal=secret-access-key=${SecretAccessKey}
Starten Sie das DaemonSet, das Snapshots persistenter Volumes erstellt, neu: