Como posso usar os comandos da AWS CLI para gerenciar minha instância do Lightsail?
Quero usar os comandos da AWS Command Line Interface (AWS CLI) para gerenciar minhas instâncias do Amazon Lightsail.
Breve descrição
Estes são cenários comuns para usar comandos da AWS CLI em suas instâncias do Lightsail:
- Listar todos os planos (pacotes) e esquemas do Lightsail disponíveis em uma região
- Para usar um pacote e um esquema específicos para criar uma instância do Lightsail
- Listar todas as instâncias do Lightsail em uma região específica
- Para alocar um endereço IP estático e, em seguida, anexá-lo à instância e verificá-lo
Observação:
- Se você receber erros ao executar comandos da AWS CLI, consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
- JSON é a saída padrão da AWS CLI. Ou você pode acrescentar**\ --output json** aos comandos para receber a saída mostrada nos exemplos a seguir. Para obter mais informações, consulte Controlar a saída de comandos da AWS CLI.
- A saída do comando da AWS CLI exibe carimbos de data/hora no horário Unix Epoch. Use um dos seguintes métodos para converter o carimbo de data/hora em UTC.
macOS
Remova o ponto decimal do carimbo de data/hora e quaisquer dígitos à direita do ponto decimal. Em seguida, execute o seguinte comando:
# date -r 1602175741 -uThu Oct 8 16:49:01 UTC 2020
Linux
Execute o seguinte comando:
# date -d @1602175741.603 -uThu Oct 8 16:49:01 UTC 2020
Windows
Use um conversor de terceiros para converter o carimbo de data/hora, como epochconverter.com.
Solução
Listar todos os pacotes e esquemas do Lightsail disponíveis em uma região
Execute o comando get-bundles para ver a lista de todos os pacotes que estão disponíveis para compra em sua região. Veja a seguir um exemplo de saída:
# 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 | | small_2_0 | 1 | 60 | small | 10.0 | 2.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 | +-----------------+-----------+---------------+---------------+--------+---------------+----------------------+
**Observação:**Substitua eu-west-1 por sua região.
Execute o comando get-blueprints para ver a lista de todas as imagens ou esquemas em sua região. Veja a seguir um exemplo de saída:
# 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 | | 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_18_04 | ubuntu_18 | Ubuntu | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B07CQ33QKV | | debian_10 | debian_10 | Debian | LINUX_UNIX | https://aws.amazon.com/marketplace/pp/B0859NK4HC | +--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+
**Observação:**Substitua eu-west-1 por sua região.
Filtre os esquemas da plataforma que você precisa. Por exemplo, o comando a seguir filtra os esquema com o sistema operacional da plataforma Linux/Unix:
# 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 | | Debian | 10.5 | | openSUSE | 15.1 | | CentOS | 7 1901-01 | +-----------------+------------------------+
Use um pacote e um esquema específicos para criar uma instância do Lightsail
- Execute o comando get-blueprint. O comando de exemplo a seguir obtém um esquema do WordPress.
**Observação:**Substitua eu-west-1 pela sua região e as informações do WordPress pelas informações do esquema de sua escolha.# 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 |
- Execute o comando create-instances para criar instâncias do Amazon Lightsail. O seguinte exemplo cria uma instância do Amazon Lightsail na região eu-west-1 usando um esquema do WordPress e o pacote micro_2_o.
Observação:Substitua instance-names, blueprint-id, bundle-id e region por seus valores. Para usar uma única chamada de API para criar várias instâncias, especifique parâmetros com\ --instance-names, como LightsailInstance1 e lightsailInstance2. O exemplo a seguir cria duas instâncias do Lightsail na região eu-west-1 usando um esquema do WordPress e o pacote micro_2_0.# 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 } ] }
# 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 } ] }
Listar todas as instâncias do Lightsail em uma região
Execute o comando get-instances para exibir as instâncias do Lightsail em uma região específica. O exemplo a seguir mostra as instâncias do Lightsail na região eu-west-1.
# 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 | +-----------------+----------------+-----------------+------------------------------------------+-------------------+
Observação: Substitua region pela sua região.
Aloque um IP estático e anexe-o à instância do Lightsail criada
Observação: O comando create-instances cria uma instância do Lightsail com um endereço IP público atribuído a ela. Se você não tiver criado um endereço IP estático para sua instância, o Lightsail atribuirá um novo endereço IP público sempre que você interromper ou reiniciar a instância.
- Execute o comando allocate-static-ip para alocar um endereço público fixo. O exemplo a seguir mostra a alocação de um IP estático chamado StaticIpForTestLightsailInstance1 na região eu-west-1:
**Observação:**Substitua static-ip-name e region por seus valores.# 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 } ] }
- Execute o comando get-static-ip para exibir o valor dos endereços IP estáticos alocados. O exemplo a seguir mostra a alocação de um IP estático 52.210.xx.xx chamado StaticIpForTestLightsailInstance1 na região eu-eu-west-1.
**Observação:**Substitua static-ip-name e region por seus valores.# 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 } }
- Execute o comando attach-static-ip. O seguinte exemplo mostra a alocação de um IP estático 52.210.xx.xx chamado StaticIpForTestLightsailInstance1 na instância chamada TestLightsailInstance1 na região eu-west-1.
**Observação:**Substitua static-ip-name, instance-name e region por seus valores.# 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 } ] }
- Execute o comando get-instances para verificar se o endereço IP estático está associado corretamente à sua instância do 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 | +----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+
Informações relacionadas
Ative ou desative os snapshots automáticos para instâncias ou discos no Amazon Lightsail
Conteúdo relevante
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 8 meses
- AWS OFICIALAtualizada há um ano