使用 AWS CLI 从 Lightsail 快照创建更大的实例、块存储磁盘或数据库 - Amazon Lightsail

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS CLI 从 Lightsail 快照创建更大的实例、块存储磁盘或数据库

发生了此情况。您的云项目不断增长,您现在需要更多计算能力!我们可以帮助您做到这一点。您可以从 Lightsail 控制台中执行任何操作,也可以使用 AWS Command Line Interface (AWS CLI) 做到这一点。

我们将向您介绍如何为当前 Lightsail 实例拍摄快照,并基于该快照创建具有所需计算能力的新的大型实例。

注意

目前,我们不支持通过快照创建小型实例(或包)。您只能创建相同大小的实例或更大的实例。

先决条件

  1. 首先,如果您没有 AWS CLI,则需要安装它。要了解更多信息,请参阅安装 AWS Command Line Interface。务必配置 AWS CLI

  2. 您还需要使用在其中工作的实例的快照。要了解更多信息,请参阅创建 Linux 或 Unix 实例的快照

步骤 1:获取您的快照名称

这看似显而易见,但您需要先获取您的快照名称,然后再执行此 AWS CLI 命令以创建大型实例。好消息是可轻松获取快照名称。

  1. 在 AWS CLI 中,键入以下内容。

    aws lightsail get-instance-snapshots

    应可以看到如下所示的输出内容。

    { "instanceSnapshots": [ { "fromInstanceName": "WordPress-512MB-EXAMPLE", "name": "WordPress-512MB-EXAMPLE-system-1234567891011", "sizeInGb": 20, "resourceType": "InstanceSnapshot", "fromInstanceArn": "arn:aws:lightsail:us-east-1:123456789101:Instance/86f49ee4-26cc-4802-9b0d-12345EXAMPLE", "state": "available", "arn": "arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/c87acb5f-851e-4fbc-94f1-12345EXAMPLE", "fromBundleId": "nano_1_0", "fromBlueprintId": "wordpress_4_6_1", "createdAt": 1480898073.653, "location": { "availabilityZone": "all", "regionName": "us-east-2" } } ] }
  2. 名称值复制到您可在稍后获取该值的某个位置。这是您将在 AWS CLI命令中使用的 --instance-snapshot-name 值。

步骤 2:选择套装

实际上只是您的实例的定价计划和配置。例如,基于 Linux 的中型包的每月费用为 20 美元,并拥有 4.0GB RAM、80GB SSD 存储等。

如果您开始时使用的是较小的包,并且需要更多计算能力,则您可能需要升级到较大的包。有关更多信息,请参阅从快照创建更大的实例、数据块存储磁盘或数据库

重要

您无法从快照调整为小型包。如果您要创建小型包,则必须重新开始。

  1. 键入以下 AWS CLI 命令。

    aws lightsail get-bundles

    您的输出应类似于以下内容。

    { "bundles": [ { "name": "Nano", "power": 300, "price": 5.0, "ramSizeInGb": 0.5, "diskSizeInGb": 20, "transferPerMonthInGb": 1024, "cpuCount": 1, "instanceType": "t2.nano", "isActive": true, "bundleId": "nano_1_0" }, { "name": "Micro", "power": 500, "price": 10.0, "ramSizeInGb": 1.0, "diskSizeInGb": 30, "transferPerMonthInGb": 2048, "cpuCount": 1, "instanceType": "t2.micro", "isActive": true, "bundleId": "micro_1_0" }, { "name": "Small", "power": 1000, "price": 20.0, "ramSizeInGb": 2.0, "diskSizeInGb": 40, "transferPerMonthInGb": 3072, "cpuCount": 1, "instanceType": "t2.small", "isActive": true, "bundleId": "small_1_0" }, { "name": "Medium", "power": 2000, "price": 40.0, "ramSizeInGb": 4.0, "diskSizeInGb": 60, "transferPerMonthInGb": 4096, "cpuCount": 2, "instanceType": "t2.medium", "isActive": true, "bundleId": "medium_1_0" }, { "name": "Large", "power": 3000, "price": 80.0, "ramSizeInGb": 8.0, "diskSizeInGb": 80, "transferPerMonthInGb": 5120, "cpuCount": 2, "instanceType": "t2.large", "isActive": true, "bundleId": "large_1_0" } ] }
  2. 找到所需包的 bundleId 值。有关更多信息,请参阅 Lightsail 定价

步骤 3:编写您的 AWS CLI 命令并创建新实例

现在,您已有参数值,已准备好编写和执行您的命令来创建实例!

  1. 键入以下内容。

    aws lightsail create-instances-from-snapshot --instance-names MyNewInstanceFromSnapshot --availability-zone us-east-1a --instance-snapshot-name WordPress-512MB-EXAMPLE-system-1234567891011 --bundle-id medium_1_0

    您的输出应类似于以下内容。

    { "operations": [ { "status": "Started", "resourceType": "Instance", "isTerminal": false, "statusChangedAt": 1486863990.961, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "operationType": "CreateInstance", "resourceName": "MyNewInstanceFromSnapshot", "id": "30fec45e-e7d7-4e18-96c8-12345EXAMPLE", "createdAt": 1486863989.784 } ] }
    注意

    您还可以使用 AWS CLI 返回区域和可用区的列表。只需键入 aws lightsail get-regions --include-availability-zones 以利用您的 get-regions 请求返回可用区的列表。

  2. 现在,在 Lightsail 控制台中打开您的新实例,然后开始修改它。

后续步骤

通过快照创建新实例后,以下是您接下来可执行的一些操作:

  • 如果您不再使用旧实例,则可能需要将其删除。您可以通过使用 Lightsail 控制台或 delete-instance CLI 命令执行此操作。

  • 如果您不需要旧快照,则可能需要将其删除。您可以通过使用 Lightsail 控制台或 delete-instance-snapshot CLI 命令执行此操作。

  • 如果您已将一个静态 IP 地址附加到旧实例,则可能需要保留该地址并将其附加到新实例。可使用控制台执行此操作。请参阅创建静态 IP 并将其附加到实例