AWS Backup で Amazon EC2 の復元を行うときに、プライベート IP アドレスまたはパブリック IP アドレスを変更または保持する方法を教えてください。

所要時間2分
0

AWS Backup で Amazon Elastic Compute Cloud (Amazon EC2) の復元中に、プライベート IP アドレスまたはパブリック IP アドレスを変更または保持したいと考えています。

簡単な説明

EC2 インスタンスを起動すると、プライベート IP アドレスが割り当てられます。パブリック IP アドレスも、EC2-Classic パブリック IPv4 アドレスプールからインスタンスに自動的に割り当てられます。Amazon EC2 コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用して、復元した Amazon EC2 インスタンスの元の IP アドレスを保持または変更します。

注:

  • インスタンスに関連付けられた自動割り当てパブリック IP アドレスは、インスタンスを停止して起動するたびに変わります。
  • EC2 インスタンスが復元されると、プライベート IP アドレスはサブネットから割り当てられます。
  • 新しく復元したインスタンスは元のパブリック IP アドレスを保持しません。ただし、元の IP アドレスを使用するようにメタデータを変更することはできます。
  • Elastic IP アドレスは、インスタンスとの関連付けまたは関連付け解除ができる静的 IP アドレスです。EC2-Classic パブリック IPv4 アドレスプールに変更または移動することはできません。

解決策

Amazon EC2 コンソールを使用して、復元した EC2 インスタンスに Elastic IP アドレスを再度関連付ける

元の Elastic IP アドレスを復元したインスタンスに再度関連付けるには、Elastic IP アドレスをインスタンスに関連付ける必要があります。Elastic IP アドレスは、インスタンスを停止して起動した後も維持されます。

AWS CLI を使用して、復元した EC2 インスタンスに Elastic IP アドレスを再度関連付ける

次の associate-address AWS CLI コマンドを実行します。

aws ec2 associate-address --instance-id i-07ffe74c7330ebf53 --public-ip 190.200.300.20

注: AWS CLI コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください

復元した EC2 インスタンスのプライベート IP アドレスを保持する

復元前または復元中にプライベート IP アドレスを保持するには、メタデータ出力のプライマリプライベート IP アドレスを変更します。

次の手順を実行します。

1.    get-recovery-point-restore-metadata AWS CLI コマンドを実行します。

aws backup get-recovery-point-restore-metadata --backup-vault-name Default --recovery-point-arn arn:aws:ec2:us-east-1::image/ami-045669a87ca794507

次のようなメタデータ出力が表示されます。

{  
    "BackupVaultArn": "arn:aws:backup:us-east-1:111111111111:backup-vault:Default",  
    "RecoveryPointArn": "arn:aws:ec2:us-east-1::image/ami-045669a87ca794507",  
    "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-0e6949a90d7d9ccce\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"NetworkInterfaceId\":\"eni-08e89a5a35a5495fe\",\"PrivateIpAddress\":\"172.31.20.192\",\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.31.20.192\"}],\"SecondaryPrivateIpAddressCount\":0,\"SubnetId\":\"subnet-7c4b4e31\",\"InterfaceType\":\"interface\",\"Ipv4Prefixes\":[],\"Ipv6Prefixes\":[]}]",  
        "Placement": "{\"AvailabilityZone\":\"us-east-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}",  
        "RequireIMDSv2": "true",  
        "SecurityGroupIds": "[\"sg-0e6949a90d7d9ccce\"]",  
        "SubnetId": "subnet-7c4b4e31",  
        "VpcId": "vpc-555bdd28",  
        "aws:backup:request-id": "caf1f9d4-e26b-4685-87ce-20c96c99c79c"  
    }  
}

2.    メタデータ出力を編集して元の PrivateIpaddress を保持するか、NetworkInterfaces メタデータフィールドで Primary PrivateIpaddress を別の PrivateIpaddress に変更します。次の出力例は、元の PrivateIpaddress を保持するように編集されています。

{  
    "VpcId": "vpc-555bdd28",  
    "Monitoring": "{\"State\":\"disabled\"}",  
    "CapacityReservationSpecification": "{\"CapacityReservationPreference\":\"open\"}",  
    "InstanceInitiatedShutdownBehavior": "stop",  
    "DisableApiTermination": "false",  
    "KeyName": "Testkey",  
    "CreditSpecification": "{\"CpuCredits\":\"standard\"}",  
    "HibernationOptions": "{\"Configured\":false}",  
    "EbsOptimized": "false",  
    "Placement": "{\"AvailabilityZone\":\"us-east-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}",  
    "aws:backup:request-id": "caf1f9d4-e26b-4685-87ce-20c96c99c79c",  
    "InstanceType": "t2.micro",  
    "NetworkInterfaces": "[{\"DeleteOnTermination\":true,\"Description\":\"Primary network interface\",\"DeviceIndex\":0,\"Groups\":[\"sg-0e6949a90d7d9ccce\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.31.20.192\"}],\"SecondaryPrivateIpAddressCount\":1,\"SubnetId\":\"subnet-7c4b4e31\",\"InterfaceType\":\"interface\"}]"  
}

3.    編集したメタデータを .json ファイルとして保存します。次に、編集したメタデータファイルを指す次の start-restore-job AWS CLI コマンドを実行し、プライベート IP アドレスでインスタンスを復元します。

aws backup start-restore-job --region us-east-1 --recovery-point-arn "arn:aws:ec2:us-east-1::image/ami-045669a87ca794507" --iam-role-arn "arn:aws:iam::111111111111:role/service-role/AWSBackupDefaultServiceRole"  --metadata file://path_to_json_file

関連情報

Amazon EC2 インスタンスの復元

Amazon EC2 インスタンスの IP アドレス

AWS公式
AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ