Direkt zum Inhalt

Wie ändere oder behalte ich meine IP-Adresse bei, wenn ich die Amazon-EC2-Wiederherstellung in AWS Backup ausführe?

Lesedauer: 3 Minute
0

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:

  1. 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

    Hinweis: 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"  
        }  
    }
  2. 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"
    }
  3. 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.json

    Hinweis: Ersetze backup-vault-name durch den Namen deines Tresors und recovery-point-arn durch den ARN deines Wiederherstellungspunkts.

  4. 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.json

    Hinweis: 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

IP-Adressierung der Amazon-EC2-Instance

Wie kann ich mithilfe der AWS CLI eine Amazon-EC2-Instance von einem AWS-Backup-Wiederherstellungspunkt aus wiederherstellen?

AWS OFFICIALAktualisiert vor einem Jahr