AWS CLI コマンドを使用して Lightsail インスタンスを管理する方法を教えてください。
AWS Command Line Interface (AWS CLI) バージョン 1 コマンドを使用して Amazon Lightsail インスタンスを管理する方法を教えてください。
簡単な説明
Amazon Lightsail AWS CLI コマンドの一覧については、AWS CLI コマンドリファレンスおよび Amazon Lightsail API リファレンスを参照してください。
Lightsail インスタンスで AWS CLI コマンドを使用する一般的なシナリオを次に示します。
- リージョンで利用可能なすべての Lightsail プラン (バンドル) およびブループリントを一覧表示します。
- 特定のバンドルとブループリントを使用して Lightsail インスタンスを作成します。
- 特定のリージョンのすべての Lightsail インスタンスを一覧表示します。
- 静的 IP アドレスを割り当て、インスタンスにアタッチして検証します。
注意: AWS CLI コマンドを使用するときは、次の点に注意してください。
- AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
- デフォルトの AWS CLI 出力は JSON です。次の例に示すように、デフォルトを使用するか、コマンドに --output json を追加して出力を取得できます。詳細については、AWS CLI からのコマンド出力の制御をご参照ください。
- AWS CLI エラーの解決に関する一般的な情報については、「AWS CLI コマンドの実行時にエラーが発生するのはなぜですか?」を参照してください。
- AWS CLI コマンドの出力には、Unix エポック時間でタイムスタンプが表示されます。次のいずれかの方法を使用して、タイムスタンプを UTC に変換します。
macOS の場合:
タイムスタンプから小数点を削除し、小数点の右側にある任意の数字を削除して、次のコマンドを実行します。
# date -r 1602175741 -u Thu Oct 8 16:49:01 UTC 2020
Linux の場合:
次のコマンドを実行します。
# date -d @1602175741.603 -u Thu Oct 8 16:49:01 UTC 2020
Windows の場合:
epochconverter.com などのコンバーターを使用して、タイムスタンプを変換します。
解決方法
リージョンで利用可能なすべての Lightsail バンドルとブループリントを一覧表示する
get-bundles コマンドを実行して、リージョンで購入可能なすべてのバンドルのリストを表示します。次のコマンドで、eu-west-1 を適切なリージョンに置き換えます。
# aws lightsail get-bundles --region eu-west-1 --query 'bundles[].{price:price,cpuCount:cpuCount,ramSizeInGb:ramSizeInGb,diskSizeInGb:diskSizeInGb,bundleId:bundleId,instanceType:instanceType,supportedPlatforms:supportedPlatforms[0]}' --output table --------------------------------------------------------------------------------------------------------------- | GetBundles | +-----------------+-----------+---------------+---------------+--------+---------------+----------------------+ | bundleId | cpuCount | diskSizeInGb | instanceType | price | ramSizeInGb | supportedPlatforms | +-----------------+-----------+---------------+---------------+--------+---------------+----------------------+ | nano_2_0 | 1 | 20 | nano | 3.5 | 0.5 | LINUX_UNIX | | micro_2_0 | 1 | 40 | micro | 5.0 | 1.0 | LINUX_UNIX | | small_2_0 | 1 | 60 | small | 10.0 | 2.0 | LINUX_UNIX | | medium_2_0 | 2 | 80 | medium | 20.0 | 4.0 | LINUX_UNIX | | large_2_0 | 2 | 160 | large | 40.0 | 8.0 | LINUX_UNIX | | xlarge_2_0 | 4 | 320 | xlarge | 80.0 | 16.0 | LINUX_UNIX | | 2xlarge_2_0 | 8 | 640 | 2xlarge | 160.0 | 32.0 | LINUX_UNIX | | nano_win_2_0 | 1 | 30 | nano | 8.0 | 0.5 | WINDOWS | | micro_win_2_0 | 1 | 40 | micro | 12.0 | 1.0 | WINDOWS | | small_win_2_0 | 1 | 60 | small | 20.0 | 2.0 | WINDOWS | | medium_win_2_0 | 2 | 80 | medium | 40.0 | 4.0 | WINDOWS | | large_win_2_0 | 2 | 160 | large | 70.0 | 8.0 | WINDOWS | | xlarge_win_2_0 | 4 | 320 | xlarge | 120.0 | 16.0 | WINDOWS | | 2xlarge_win_2_0| 8 | 640 | 2xlarge | 240.0 | 32.0 | WINDOWS | +-----------------+-----------+---------------+---------------+--------+---------------+----------------------+
get-blueprints コマンドを実行して、リージョン内のすべてのイメージまたはブループリントのリストを表示します。その後、使用可能なイメージを使用して新しいインスタンスを作成すできます。次のコマンドで、eu-west-1 を適切なリージョンに置き換えます。
# aws lightsail get-blueprints --region eu-west-1 --query 'blueprints[].{blueprintId:blueprintId,name:name,group:group,productUrl:productUrl,platform:platform}' --output table --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | GetBlueprints | +--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+ | blueprintId | group | name | platform | productUrl | +--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+ | windows_server_2019 | windows_2019 | Windows Server 2019 | WINDOWS | https://aws.amazon.com/marketplace/pp/B07QZ4XZ8F | | windows_server_2016 | windows_2016 | Windows Server 2016 | WINDOWS | https://aws.amazon.com/marketplace/pp/B01M7SJEU7 | | windows_server_2012 | windows_2012 | Windows Server 2012 R2 | WINDOWS | https://aws.amazon.com/marketplace/pp/B00KQOWCAQ | | windows_server_2016_sql_2016_express| windows_2016_sql_exp | SQL Server 2016 Express | WINDOWS | https://aws.amazon.com/marketplace/pp/B01MAZHH98 | | amazon_linux_2 | amazon_linux_2 | Amazon Linux 2 | LINUX_UNIX | https://aws.amazon.com/amazon-linux-2/ | | amazon_linux | amazon-linux | Amazon Linux | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00CIYTQTC | | ubuntu_20_04 | ubuntu_20 | Ubuntu | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B087QQNGF1 | | ubuntu_18_04 | ubuntu_18 | Ubuntu | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B07CQ33QKV | | ubuntu_16_04_2 | ubuntu | Ubuntu | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B01JBL2M0O | | debian_10 | debian_10 | Debian | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B0859NK4HC | | debian_9_5 | debian_9 | Debian | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B073HW9SP3 | | debian_8_7 | debian | Debian | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00WUNJIEE | | freebsd_12 | freebsd | FreeBSD | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B07L6QV354 | | opensuse_15_1 | opensuse | openSUSE | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B01N4R3GJI | | centos_7_1901_01 | centos | CentOS | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00O7WM7QW | | wordpress | wordpress | WordPress | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NN8Y43U | | wordpress_multisite | wordpress_multisite | WordPress Multisite | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NN8XE6S | | lamp_7 | lamp_7 | LAMP (PHP 7) | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B072JNJZ5C | | nodejs | node | Node.js | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NNZUAKO | | joomla | joomla | Joomla | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NNZUP54 | | magento | magento | Magento | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NNZTA6Y | | mean | mean | MEAN | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NO1HJ56 | | drupal | drupal | Drupal | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NNZSUMO | | gitlab | gitlab | GitLab CE | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NNZU5PO | | redmine | redmine | Redmine | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NNZUVHQ | | nginx | nginx | Nginx | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NPHKI3Y | | ghost_bitnami | ghost_bitnami | Ghost | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NPHLY8W | | django_bitnami | django_bitnami | Django | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NNZTDNO | | plesk_ubuntu_18_0_28 | plesk_ubuntu | Plesk Hosting Stack on Ubuntu | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B077MJL7Z2 | | cpanel_whm_linux | cpanel_whm_linux | cPanel & WHM for Linux | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B07RRX2TVV | +--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+
例:
次のコマンドは、Linux/Unix プラットフォーム OS でブループリントをフィルタリングします。
# aws lightsail get-blueprints --query 'blueprints[?type==`os`&&platform==`LINUX_UNIX`].{name:name,version:version}' --output table -------------------------------------------- | GetBlueprints | +-----------------+------------------------+ | name | version | +-----------------+------------------------+ | Amazon Linux 2 | 2.0.20200917.0 | | Amazon Linux | 2018.03.0.20200918.0 | | Ubuntu | 20.04 LTS | | Ubuntu | 18.04 LTS | | Ubuntu | 16.04 LTS | | Debian | 10.5 | | Debian | 9.5 | | Debian | 8.7 | | FreeBSD | 12.1 | | openSUSE | 15.1 | | CentOS | 7 1901-01 | +-----------------+------------------------+
特定のバンドルとブループリントを使用して Lightsail インスタンスを作成する
1. ブループリントを取得するには、次のコマンドを実行します。次のコマンド例では、WordPress ブループリントを取得します。eu-west-1 を適切なリージョンで置き換え、WordPress の情報を適切なブループリント情報に置き換えます。
# aws lightsail get-blueprints --region eu-west-1 --query 'blueprints[].{blueprintId:blueprintId,name:name,group:group,productUrl:productUrl,platform:platform}' --output table |grep -i wordpress | wordpress | wordpress | WordPress | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NN8Y43U | | wordpress_multisite | wordpress_multisite | WordPress Multisite | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B00NN8XE6S |
2. create-instances コマンドを実行して Amazon Lightsail インスタンスを作成します。次の例では、WordPress ブループリントと micro_2_0 バンドルを使用して、eu-west-1 リージョンに Amazon Lightsail インスタンスを作成します。--instance-names、blueprint-id、bundle-id、および --region を要求の値で置き換えます。
# aws lightsail create-instances --region eu-west-1 --instance-names MyNewInstance --availability-zone eu-west-1a --blueprint-id wordpress --bundle-id micro_2_0 { "operations": [ { "id": "003757e7-0880-4162-9912-211d4756081e", "resourceName": "MyNewInstance", "resourceType": "Instance", "createdAt": 1602175452.334, "location": { "availabilityZone": "eu-west-1a", "regionName": "eu-west-1" }, "isTerminal": false, "operationType": "CreateInstance", "status": "Started", "statusChangedAt": 1602175452.334 } ] }
1 つの API 呼び出しを使用して複数のインスタンスを作成するには、--instance-names {"LightsailInstance1","LightsailInstance2"} でパラメータを指定します。 次の例では、WordPress ブループリントと micro_2_0 バンドルを使用して、eu-west-1 リージョンに 2 つの Lightsail インスタンスを作成します。
# aws lightsail create-instances --region eu-west-1 --instance-names {"TestLightsailInstance1","TestLightsailInstance2"} --availability-zone eu-west-1a --blueprint-id wordpress --bundle-id micro_2_0 { "operations": [ { "id": "8a15b195-9a20-4d79-ad1d-6e85557ae94d", "resourceName": "TestLightsailInstance1", "resourceType": "Instance", "createdAt": 1602175741.602, "location": { "availabilityZone": "eu-west-1a", "regionName": "eu-west-1" }, "isTerminal": false, "operationType": "CreateInstance", "status": "Started", "statusChangedAt": 1602175741.602 }, { "id": "a006513b-0e25-4802-ab33-671a40bf5a92", "resourceName": "TestLightsailInstance2", "resourceType": "Instance", "createdAt": 1602175741.603, "location": { "availabilityZone": "eu-west-1a", "regionName": "eu-west-1" }, "isTerminal": false, "operationType": "CreateInstance", "status": "Started", "statusChangedAt": 1602175741.603 } ] }
リージョン内のすべての Lightsail インスタンスを一覧表示する
get-instances コマンドを実行して、特定のリージョンの Lightsail インスタンスを表示します。次の例は、eu-west-1 リージョンのすべての Lightsail インスタンスを表示します。--region を要求の値で置き換えます。
# aws lightsail get-instances --region eu-west-1 --query 'instances[].{name:name,createdAt:createdAt,blueprintId:blueprintId,blueprintName:blueprintName,publicIpAddress:publicIpAddress}' --output table --------------------------------------------------------------------------------------------------------------------- | GetInstances | +-----------------+----------------+-----------------+------------------------------------------+-------------------+ | blueprintId | blueprintName | createdAt | name | publicIpAddress | +-----------------+----------------+-----------------+------------------------------------------+-------------------+ | wordpress_4_9_8| WordPress | 1545700733.77 | WordPress-512MB-Ireland-1 | 63.33.xx.xx | | wordpress | WordPress | 1602175741.603 | TestLightsailInstance2 | 63.33.xx.xx | | wordpress | WordPress | 1602175741.602 | TestLightsailInstance1 | 54.7.xx.xx | | wordpress | WordPress | 1588098501.555 | WordPress-1 | 3.250.xx.xx | | wordpress | WordPress | 1602175452.334 | MyNewInstance | 54.195.xx.xx +-----------------+----------------+-----------------+------------------------------------------+-------------------+
静的 IP を割り当て、作成した Lightsail インスタンスにアタッチして検証します。
注意: create-instances コマンドは、パブリック IP アドレスが割り当てられた Lightsail インスタンスを作成します。インスタンスまたは他のリソースへの割り当てや再割り当てが可能なパブリック IP アドレスとは異なり、静的 IP アドレスは固定されます。インスタンスに静的 IP アドレスを作成していない場合、Lightsail はインスタンスを停止または再起動するたびに、新しいパブリック IP アドレスを割り当てます。
1. allocate-static-ip コマンドを実行して、固定パブリックアドレスを割り当てます。次の例は、eu-West-1 リージョンの StaticipFortestLightsaIlInstance1 という名前の静的 IP の割り当てを示しています。--static-ip-name および --region を要求の値で置き換えます。
# aws lightsail allocate-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --region eu-west-1 { "operations": [ { "id": "6471cedc-97f5-42d1-b35f-4f77c5f93242", "resourceName": "StaticIpForTestLightsailInstance1", "resourceType": "StaticIp", "createdAt": 1602180341.746, "location": { "availabilityZone": "all", "regionName": "eu-west-1" }, "isTerminal": true, "operationType": "AllocateStaticIp", "status": "Succeeded", "statusChangedAt": 1602180342.011 } ] }
2. get-static-ipコマンドを実行して、割り当てられた静的 IP アドレスの値を表示します。次に、eu-West-1 リージョンの StaticIpForTestLightsailInstance1 という名前の静的 IP 52.210.xx.xx の割り当ての例を示します。--static-ip-name および --region を要求の値で置き換えます。
# aws lightsail get-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --region eu-west-1 { "staticIp": { "name": "StaticIpForTestLightsailInstance1", "arn": "arn:aws:lightsail:eu-west-1:920893848407:StaticIp/16a97579-c51e-404c-96cc-5946528d12aa", "supportCode": "11178xxxxxxx/52.210.xx.xx", "createdAt": 1602180341.746, "location": { "availabilityZone": "all", "regionName": "eu-west-1" }, "resourceType": "StaticIp", "ipAddress": "52.210.xx.xx", "isAttached": false } }
3. attach-static-ip コマンドを実行して Lightsail インスタンスに静的 IP アドレスをアタッチします。次の例は、eu-west-1 リージョンの TestLightsailInstance1 にある StaticIpForTestLightsailInstance1 という名前の静的 IP 52.210.xx.xx の割り当てを示します。--static-ip-name、--instance-name、および --region を要求の値で置き換えます。
# aws lightsail attach-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --instance-name TestLightsailInstance1 --region eu-west-1 { "operations": [ { "id": "d9d2372f-b4b7-4838-99ae-c15f8ffb8332", "resourceName": "StaticIpForTestLightsailInstance1", "resourceType": "StaticIp", "createdAt": 1602180562.026, "location": { "availabilityZone": "all", "regionName": "eu-west-1" }, "isTerminal": true, "operationDetails": "TestLightsailInstance1", "operationType": "AttachStaticIp", "status": "Succeeded", "statusChangedAt": 1602180562.026 }, { "id": "131994d8-bd25-4b47-8d81-851224b168d1", "resourceName": "TestLightsailInstance1", "resourceType": "Instance", "createdAt": 1602180562.026, "location": { "availabilityZone": "eu-west-1a", "regionName": "eu-west-1" }, "isTerminal": true, "operationDetails": "StaticIpForTestLightsailInstance1", "operationType": "AttachStaticIp", "status": "Succeeded", "statusChangedAt": 1602180562.026 } ] }
4. get-instances コマンドを実行して、静的 IP アドレスが Lightsail インスタンスに正しく関連付けられているかどうかを確認します。
# aws lightsail get-instances --region eu-west-1 --query 'instances[].{name:name,createdAt:createdAt,blueprintId:blueprintId,blueprintName:blueprintName,publicIpAddress:publicIpAddress,InstanceID:supportCode}' --output table --------------------------------------------------------------------------------------------------------------------------------------------------------- | GetInstances | +----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+ | InstanceID | blueprintId | blueprintName | createdAt | name | publicIpAddress | +----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+ | 11178xxxxxxx/i-09f6xxxx| wordpress | WordPress | 1602175741.602 | TestLightsailInstance1 | 52.210.xx.xx | +----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+
関連情報
AWS CLI コマンドを使用して Lightsail インスタンスのスナップショットを管理し、バックアップを作成するにはどうすればよいですか?
AWS CLI コマンドを使用して Lightsail インスタンスの静的 IP アドレスを管理する方法を教えてください。
関連するコンテンツ
- 質問済み 7ヶ月前lg...
- 質問済み 10ヶ月前lg...
- 質問済み 3ヶ月前lg...
- 質問済み 1年前lg...