How can I manage static IP addresses on my Lightsail instances using AWS CLI commands?
I want to detach my static IP address from my Amazon Lightsail instance and attach it to a new Lightsail instance. How can I do this using AWS Command Line Interface (AWS CLI) commands?
Short description
For a list of Amazon Lightsail AWS CLI commands, see the AWS CLI Command Reference and the Amazon Lightsail API Reference.
Important: Keep in mind the following when using AWS CLI commands:
- If you receive errors when running AWS CLI commands, make sure that you’re using the most recent version of the AWS CLI.
- JSON is the default AWS CLI output. You can use the default, or append --output json to the commands to receive output as shown in the following examples. For more information, see Controlling command output from the AWS CLI.
- For general information on solving AWS CLI errors, please refer Why am I receiving errors when running AWS CLI commands?
- The AWS CLI output displays timestamps in Unix Epoch time. Use one of the following methods to convert the timestamp into UTC:
macOS:
Remove the decimal point from the timestamp and any digits to the right of the decimal point, and then run the following command:
# date -r 1602175741 -u Thu Oct 8 16:49:01 UTC 2020
Linux:
Run the following command:
# date -d @1602175741.603 -u Thu Oct 8 16:49:01 UTC 2020
Windows:
Convert the timestamp using a converter, such as epochconverter.com.
Resolution
Detaching the static IP address from an existing Lightsail instance
Run the detach-static-ip command to detach the static IP address from the instance. The following example detaches the static IP address from an instance in the eu-west-1 Region. Replace the --static-ip-name and --region with the appropriate values for your request.
# aws lightsail detach-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --region eu-west-1 { "operations": [ { "id": "c86e552e-c21a-4cdf-aa68-05fb20574e8b", "resourceName": "StaticIpForTestLightsailInstance1", "resourceType": "StaticIp", "createdAt": 1602182597.168, "location": { "availabilityZone": "all", "regionName": "eu-west-1" }, "isTerminal": true, "operationDetails": "TestLightsailInstance1", "operationType": "DetachStaticIp", "status": "Succeeded", "statusChangedAt": 1602182597.168 }, { "id": "4b9dcaa7-be3a-4dfd-8ac0-32f0238c0833", "resourceName": "TestLightsailInstance1", "resourceType": "Instance", "createdAt": 1602182597.17, "location": { "availabilityZone": "eu-west-1a", "regionName": "eu-west-1" }, "isTerminal": true, "operationDetails": "StaticIpForTestLightsailInstance1", "operationType": "DetachStaticIp", "status": "Succeeded", "statusChangedAt": 1602182597.17 } ] }
Attaching the static IP address to a new Lightsail instance
1. Run the attach-static-ip command to attach a static IP address to a new instance from backup. Replace --static-ip-name, --instance-name, and --region with the appropriate values for your request.
# aws lightsail attach-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --instance-name RestoredTestLightsailInstance1-New --region eu-west-1 { "operations": [ { "id": "192c4917-c332-49c8-88ab-60484a42c98f", "resourceName": "StaticIpForTestLightsailInstance1", "resourceType": "StaticIp", "createdAt": 1602182686.46, "location": { "availabilityZone": "all", "regionName": "eu-west-1" }, "isTerminal": true, "operationDetails": "RestoredTestLightsailInstance1-New", "operationType": "AttachStaticIp", "status": "Succeeded", "statusChangedAt": 1602182686.46 }, { "id": "fb93c012-e3a2-4908-8746-01a4ae018440", "resourceName": "RestoredTestLightsailInstance1-New", "resourceType": "Instance", "createdAt": 1602182686.463, "location": { "availabilityZone": "eu-west-1a", "regionName": "eu-west-1" }, "isTerminal": true, "operationDetails": "StaticIpForTestLightsailInstance1", "operationType": "AttachStaticIp", "status": "Succeeded", "statusChangedAt": 1602182686.463 } ] }
2. Run the get-instances command to verify that the static IP address is assigned to your instance.
# aws lightsail get-instances --region eu-west-1 --query 'instances[].{name:name,createdAt:createdAt,blueprintId:blueprintId,bundleid:bundleId,blueprintName:blueprintName,publicIpAddress:publicIpAddress,InstanceID:supportCode}' --output table ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | GetInstances | +----------------------------------+------------------+----------------+------------+-----------------+------------------------------------------+-------------------+ | InstanceID | blueprintId | blueprintName | bundleid | createdAt | name | publicIpAddress | +----------------------------------+------------------+----------------+------------+-----------------+------------------------------------------+-------------------+ | 11178xxxxxxx/i-09f6xxxx| wordpress | WordPress | large_2_0 | 1602182374.625 | RestoredTestLightsailInstance1-New | 52.210.xx.xx | +----------------------------------+------------------+----------------+------------+-----------------+------------------------------------------+-------------------+
Related information
How can I manage my Lightsail instance using AWS CLI commands?
How can I manage my snapshots and create backups for my Lightsail instances using AWS CLI commands?
Enabling or disabling automatic snapshots for instances or disks in Amazon Lightsail

Relevant content
- asked a year agolg...
- asked 2 years agolg...
- asked 2 years agolg...
- asked 4 months agolg...
- asked 2 months agolg...
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 5 months ago
- AWS OFFICIALUpdated 3 years ago