Wie kann ich mit AWS-CLI-Befehlen meine Lightsail-Instance verwalten?

Lesedauer: 10 Minute
0

Wie kann ich meine Instances bei Amazon Lightsail mit den Befehlen der Version 1 von AWS Command Line Interface (AWS CLI) verwalten?

Kurzbeschreibung

Eine Liste der AWS-CLI-Befehle für Amazon Lightsail finden Sie in der AWS CLI Command Reference und in der Amazon Lightsail API Reference.

Folgendes sind gängige Szenarien für die Verwendung von AWS-CLI-Befehlen auf Ihren Lightsail-Instances:

  • Erstellen einer Auflistung aller Lightsail-Pakete (Bundles) und Vorlagen, die in einer Region verfügbar sind.
  • Erstellen einer Lightsail-Instance mit einem bestimmten Bundle und einer bestimmten Vorlage.
  • Erstellen einer Auflistung aller Lightsail-Instances in einer bestimmten Region.
  • Zuweisen einer statischen IP-Adresse, die anschließend an die Instance angehängt und verifiziert wird.

Hinweis: Beachten Sie bei der Verwendung von AWS-CLI-Befehlen Folgendes:

macOS:

Entfernen Sie den Dezimalpunkt und alle Ziffern rechts davon aus dem Zeitstempel und führen Sie dann folgenden Befehl aus:

# date -r 1602175741 -u
Thu Oct  8 16:49:01 UTC 2020

Linux:

Führen Sie folgenden Befehl aus:

# date -d @1602175741.603 -u
Thu Oct  8 16:49:01 UTC 2020

Windows:

Konvertieren Sie den Zeitstempel mit einem Konverter wie epochconverter.com.

Lösung

Eine Auflistung aller Lightsail-Bundles und Vorlagen erstellen, die in einer Region verfügbar sind

Führen Sie den Befehl get-bundles aus, um die Liste aller Bundles zu sehen, die in Ihrer Region zum Kauf verfügbar sind. Ersetzen Sie im folgenden Befehl eu-west-1 durch Ihre Region:

# 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             |
+-----------------+-----------+---------------+---------------+--------+---------------+----------------------+

Führen Sie den Befehl get-blueprints aus, um die Liste aller Images oder Vorlagen in Ihrer Region anzuzeigen. Dann können Sie wählen, ob Sie mit den verfügbaren Images eine neue Instance erstellen möchten. Ersetzen Sie im folgenden Befehl eu-west-1 durch Ihre Region:

# 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   |
+--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+

Beispiel:

Der folgende Befehl filtert nach Vorlagen mit dem Linux/Unix-Plattformbetriebssystem:

# 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             |
+-----------------+------------------------+

Erstellen einer Lightsail-Instance mit einem bestimmten Bundle und einer bestimmten Vorlage

1.    Führen Sie den folgenden Befehl aus, um eine Vorlage abzurufen. Der folgende Beispielbefehl ruft eine WordPress-Vorlage ab. Ersetzen Sie eu-west-1 durch Ihre Region und die WordPress-Informationen durch die Informationen der Vorlagen Ihrer Wahl.

# 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.    Führen Sie den Befehl create-instances aus, um Amazon-Lightsail-Instances zu erstellen. Im folgenden Beispiel wird eine Amazon-Lightsail-Instance in der Region eu-west-1 mithilfe einer WordPress-Vorlage und des micro_2_0-Bundles erstellt. Ersetzen Sie --instance-names, blueprint-id, bundle-id und --region durch die entsprechenden Werte für Ihre Anfrage.

# 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
        }
    ]
}

Um mit einem einzigen API-Aufruf mehrere Instances zu erstellen, geben Sie mit --instance-names {"LightsailInstance1", "LightsailInstance2"} die Parameter an. Im folgenden Beispiel werden zwei Lightsail-Instances in der Region eu-west-1 mithilfe einer WordPress-Vorlage und des micro_2_0-Bundles erstellt.

# 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
        }
    ]
}

Alle Lightsail-Instances in einer Region auflisten

Führen Sie den Befehl get-instances aus, um Lightsail-Instances in einer bestimmten Region anzuzeigen. Das folgende Beispiel zeigt alle Lightsail-Instances in der Region eu-west-1. Ersetzen Sie --region durch die entsprechenden Werte für Ihre Anfrage.

# 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
+-----------------+----------------+-----------------+------------------------------------------+-------------------+

Eine statische IP-Adresse zuweisen und sie dann an die erstellte Instance anhängen und verifizieren.

Hinweis: Der Befehl create-instances erstellt eine Lightsail-Instance, der eine öffentliche IP-Adresse zugewiesen ist. Im Gegensatz zu öffentlichen IP-Adressen, die Sie immer wieder neu einer Instance oder anderen Ressource zuweisen können, sind statische IP-Adressen fest. Wenn Sie keine statische IP-Adresse für Ihre Instance erstellt haben, weist Lightsail bei jeder Beendigung und jedem Neustart der Instance eine neue öffentliche IP-Adresse zu.

1.    Führen Sie den Befehl allocate-static-ip aus, um eine feste öffentliche Adresse zuzuweisen. Das folgende Beispiel zeigt die Zuweisung einer statischen IP namens StaticIpForTestLightsailInstance1 in der Region eu-west-1. Ersetzen Sie --static-ip-name und --region durch die entsprechenden Werte für Ihre Anfrage.

# 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.    Führen Sie den Befehl get-static-ip aus, um den Wert für zugewiesene statische IP-Adressen anzuzeigen. Das folgende Beispiel zeigt die Zuweisung einer statischen IP 52.210.xx.xx mit dem Namen StaticIpForTestLightsailInstance1 in der Region eu-west-1. Ersetzen Sie --static-ip-name und --region durch die entsprechenden Werte für Ihre Anfrage.

# 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.    Führen Sie den Befehl attach-static-ip aus, um eine statische IP-Adresse an Ihre Lightsail-Instance anzuhängen. Das folgende Beispiel zeigt die Zuweisung einer statischen IP 52.210.xx.xx mit dem Namen StaticIpForTestLightsailInstance1 zur Instance mit dem Namen TestLightsailInstance1 in der Region eu-west-1. Ersetzen Sie --static-ip-name, --instance-name und --region durch die entsprechenden Werte für Ihre Anfrage.

# 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.    Führen Sie den Befehl get-instances aus, um zu überprüfen, ob die statische IP-Adresse korrekt mit Ihrer Lightsail-Instance verknüpft ist.

# 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    |
+----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+

Ähnliche Informationen

How can I manage my snapshots and create backups for my Lightsail instances using AWS CLI commands?

How can I manage static IP addresses on my Lightsail instances using AWS CLI commands?

AWS CLI Command Reference

Amazon Lightsail API Reference

Aktivieren oder Deaktivieren von automatischen Snapshots für Instances oder Datenträger in Amazon Lightsail

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren