AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Wie ändere oder behalte ich meine IP-Adresse bei, wenn ich die Amazon-EC2-Wiederherstellung in AWS Backup ausführe?
Ich möchte meine private oder öffentliche IP-Adresse während einer Amazon Elastic Compute Cloud (Amazon EC2)-Wiederherstellung in AWS Backup ändern oder beibehalten.
Lösung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Die Elastic-IP-Adresse erneut mit der wiederhergestellten EC2-Instance verknüpfen
Um die ursprüngliche Elastic-IP-Adresse wieder der wiederhergestellten Instance zuzuordnen, kannst du die Amazon-EC2-Konsole verwenden.
Führe alternativ den folgenden AWS-CLI-Befehl associate-address aus:
aws ec2 associate-address --instance-id i-07ffe74c7330ebf53 --public-ip 198.51.100.20
Hinweis: Ersetze instance-id durch deine Instance-ID und public-ip durch deine IP-Adress-ID.
Die Instance behält dann die Elastic-IP-Adresse bei, nachdem du deine Instance angehalten und gestartet hast.
Eine private IP-Adresse für die wiederhergestellte EC2-Instance beibehalten
Hinweis: Wenn du eine private IP-Adresse für eine Instance verwendest, kannst du die private IP-Adresse nicht für eine andere Instance beibehalten. Weitere Informationen findest du unter Resource.AlreadyAssigned-Fehler in der Tabelle client error codes for specific actions (Client-Fehlercodes für bestimmte Aktionen).
Gehe wie folgt vor, um eine private IP-Adresse beizubehalten:
-
Führe den folgenden Befehl get-recovery-point-restore-metadata aus:
aws backup get-recovery-point-restore-metadata --backup-vault-name Default --recovery-point-arn arn:aws:ec2:eu-south-1::image/ami-001a2a3a4a00005aaHinweis: Ersetze backup-vault-name durch den Namen deines Tresors und recovery-point-arn durch den Amazon-Ressourcennamen (ARN) deines Wiederherstellungspunkts.
Beispielausgabe:{ "BackupVaultArn": "arn:aws:backup:eu-south-1:111111111111:backup-vault:Default", "RecoveryPointArn": "arn:aws:ec2:eu-south-1::image/ami-001a2a3a4a00005aa", "RestoreMetadata": { "CapacityReservationSpecification": "{\"CapacityReservationPreference\":\"open\"}", "CpuOptions": "{\"CoreCount\":1,\"ThreadsPerCore\":1}", "CreditSpecification": "{\"CpuCredits\":\"standard\"}", "DisableApiTermination": "false", "EbsOptimized": "false", "HibernationOptions": "{\"Configured\":false}", "InstanceInitiatedShutdownBehavior": "stop", "InstanceType": "t2.micro", "Monitoring": "{\"State\":\"disabled\"}", "NetworkInterfaces": "[{\"AssociatePublicIpAddress\":true,\"DeleteOnTermination\":true,\"Description\":\"\",\"DeviceIndex\":0,\"Groups\":[\"sg-abc123\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"NetworkInterfaceId\":\"eni-08e89a5a35a5495fe\",\"PrivateIpAddress\":\"172.16.1.5\",\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.16.1.5\"}],\"SecondaryPrivateIpAddressCount\":0,\"SubnetId\":\"subnet-0987\",\"InterfaceType\":\"interface\",\"Ipv4Prefixes\":[],\"Ipv6Prefixes\":[]}]", "Placement": "{\"AvailabilityZone\":\"eu-south-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}", "RequireIMDSv2": "true", "SecurityGroupIds": "[\"sg-abc123\"]", "SubnetId": "subnet-0987", "VpcId": "vpc-0987", "aws:backup:request-id": "caf1f9d4-abcd-4685-87ce-20c96c99c79c" } } -
Bearbeite die Ausgabe manuell, um die ursprüngliche PrivateIpAddress beizubehalten. Ändere alternativ die Primary PrivateIpAddress im Metadatenfeld NetworkInterfaces in eine andere PrivateIpAddress.
Die folgende Beispielausgabe behält die ursprüngliche PrivateIpaddress bei:{ "Architecture": "x86_64", ... "NetworkInterfaces": "[{\"DeleteOnTermination\":true,\"Description\":\"Primary network interface\",\"DeviceIndex\":0,\"Groups\":[\"sg-abc123\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.16.1.5\"}],\"SubnetId\":\"subnet-0987\",\"InterfaceType\":\"interface\",\"Ipv4Prefixes\":[],\"Ipv6Prefixes\":[]}]", "Placement": "{\"AvailabilityZone\":\"eu-south-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}", "RequireIMDSv2": "false", "RootDeviceType": "ebs", "VirtualizationType": "hvm", "VpcId": "vpc-xyz123", "aws:backup:request-id": "caf1f9d4-abcd-4685-87ce-20c96c99c79c" } -
Um ein Skript zum Bearbeiten der Metadaten zu erstellen, führe den folgenden Befehl get-recovery-point-restore-metadata aus:
aws backup get-recovery-point-restore-metadata --backup-vault-name Default --recovery-point-arn arn:aws:ec2:eu-south-1::image/ami-001a2a3a4a00005aa | jq '.RestoreMetadata | del (.SecurityGroupIds, .SubnetId)' | jq '.NetworkInterfaces = (.NetworkInterfaces | fromjson | map(. + { Description: "Primary network interface" }) | map(del(.NetworkInterfaceId, .SecondaryPrivateIpAddressCount, .AssociatePublicIpAddress, .PrivateIpAddress)) | @json) ' > restore.jsonHinweis: Ersetze backup-vault-name durch den Namen deines Tresors und recovery-point-arn durch den ARN deines Wiederherstellungspunkts.
-
Um die Instance mit der privaten IP-Adresse wiederherzustellen, führe den Befehl start-restore-job aus:
aws backup start-restore-job --region eu-south-1 --recovery-point-arn arn:aws:ec2:eu-south-1::image/ami-001a2a3a4a00005aa --idempotency-token examplerestore --iam-role-arn "arn:aws:iam::111111111111:role/service-role/AWSBackupDefaultServiceRole" --metadata file://restore.jsonHinweis: Ersetze backup-vault-name durch den Namen deines Tresors und recovery-point-arn durch den ARN deines Wiederherstellungspunkts.
Ähnliche Informationen
Eine Amazon-EC2-Instance wiederherstellen
- Themen
- Storage
- Tags
- AWS Backup
- Sprache
- Deutsch
