Menggunakan Amazon Lightsail dengan AWS CLI - Amazon Lightsail

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan Amazon Lightsail dengan AWS CLI

Tutorial ini memandu Anda melalui operasi Amazon Lightsail umum menggunakan AWS Command Line Interface ().AWS CLI Anda akan belajar cara membuat dan mengelola sumber daya Lightsail termasuk pasangan kunci, instance, penyimpanan, dan snapshot.

Prasyarat

Sebelum Anda memulai tutorial ini, pastikan Anda memiliki yang berikut ini.

  1. Itu AWS CLI. Jika Anda perlu menginstalnya, ikuti panduan AWS CLI instalasi. Anda juga dapat menggunakan AWS CloudShell, yang mencakup AWS CLI.

  2. Konfigurasikan Anda AWS CLI dengan kredensi yang sesuai. Jalankan aws configure jika Anda belum menyiapkan kredensional Anda.

  3. Keakraban dasar dengan antarmuka baris perintah dan konsep SSH.

  4. Izin yang cukup untuk membuat dan mengelola sumber daya Lightsail di akun Anda. AWS

Sebelum memulai, atur variabel AWS_REGION lingkungan ke Wilayah yang sama dengan yang Anda konfigurasikan AWS CLI untuk digunakan, jika belum disetel Variabel lingkungan ini digunakan dalam perintah contoh untuk menentukan zona ketersediaan untuk sumber daya Lightsail.

$ [ -z "${AWS_REGION}" ] && export AWS_REGION=$(aws configure get region)

Mari kita mulai membuat dan mengelola sumber daya Amazon Lightsail menggunakan CLI.

Hasilkan pasangan kunci SSH

Pasangan kunci SSH memungkinkan Anda terhubung dengan aman ke instance Lightsail Anda tanpa menggunakan kata sandi. Di bagian ini, Anda akan membuat key pair baru dan mengambil informasinya.

contoh — Buat key pair baru

Perintah berikut membuat key pair SSH baru bernama "cli-tutorial-keys" dan menyimpan kunci pribadi ke mesin lokal Anda.

$ aws lightsail create-key-pair --key-pair-name cli-tutorial-keys \ --query privateKeyBase64 --output text > ~/.ssh/cli-tutorial-keys.pem $ chmod 400 ~/.ssh/cli-tutorial-keys.pem

Setelah menjalankan perintah ini, kunci pribadi disimpan ke ~/.ssh direktori Anda dengan izin yang sesuai. chmodPerintah memastikan bahwa hanya Anda yang dapat membaca file kunci pribadi, yang merupakan persyaratan keamanan untuk SSH.

contoh — Ambil informasi key pair

Anda dapat memverifikasi key pair Anda berhasil dibuat dengan mengambil informasinya.

$ aws lightsail get-key-pair --key-pair-name cli-tutorial-keys { "keyPair": { "name": "cli-tutorial-keys", "arn": "arn:aws:lightsail:us-east-2:123456789012:KeyPair/e00xmpl-6a6a-434a-bff1-87f2bb815e21", "supportCode": "123456789012/cli-tutorial-keys", "createdAt": 1673596800.000, "location": { "availabilityZone": "all", "regionName": "us-east-2" }, "resourceType": "KeyPair", "tags": [], "fingerprint": "d0:0d:30:db:5a:24:df:f6:17:f0:e2:15:45:77:3d:bb:d0:6d:fc:81" } }

Output menunjukkan detail tentang key pair Anda, termasuk namanya, ARN, waktu pembuatan, Wilayah, dan sidik jari. Sidik jari ini dapat digunakan untuk memverifikasi keaslian kunci saat menghubungkan ke instance.

Membuat dan mengelola instance

Instance Lightsail adalah server pribadi virtual yang menjalankan aplikasi atau situs web. Di bagian ini, Anda akan membuat WordPress instance dan mengambil detailnya.

contoh — Buat sebuah WordPress instance

Perintah berikut membuat WordPress instance baru menggunakan nano_3_0 bundel (ukuran instance Lightsail terkecil) dan mengaitkannya dengan key pair Anda. Perintah menggunakan variabel AWS_REGION lingkungan untuk membuat instance di zona ketersediaan di Wilayah yang dikonfigurasi.

$ aws lightsail create-instances --instance-names cli-tutorial \ --availability-zone ${AWS_REGION}a --blueprint-id wordpress \ --bundle-id nano_3_0 --key-pair-name cli-tutorial-keys { "operations": [ { "id": "f30xmpl-3727-492a-9d42-5c94ad3ef9a8", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationType": "CreateInstance", "status": "Started", "statusChangedAt": 1673596800.000 } ] }

Respons menunjukkan bahwa operasi pembuatan instance telah dimulai. Mungkin perlu beberapa menit agar contoh Anda tersedia.

contoh — Dapatkan detail contoh

Setelah instance Anda dibuat, Anda dapat mengambil detailnya menggunakan perintah berikut.

$ aws lightsail get-instance --instance-name cli-tutorial { "instance": { "name": "cli-tutorial", "arn": "arn:aws:lightsail:us-east-2:123456789012:Instance/7d3xmpl-ae2e-44d5-bbd9-22f9ec2abe1f", "supportCode": "123456789012/i-099cxmpl5dad5923c", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "resourceType": "Instance", "tags": [], "blueprintId": "wordpress", "blueprintName": "WordPress", "bundleId": "nano_3_0", "isStaticIp": false, "privateIpAddress": "172.26.6.136", "publicIpAddress": "203.0.113.75", "ipv6Addresses": [ "2600:1f14:ab4:3800:ceef:89e2:f57:f25" ], "ipAddressType": "dualstack", "hardware": { "cpuCount": 2, "disks": [ { "createdAt": 1673596800.000, "sizeInGb": 20, "isSystemDisk": true, "iops": 100, "path": "/dev/xvda", "attachedTo": "cli-tutorial", "attachmentState": "attached" } ], "ramSizeInGb": 0.5 }, "networking": { "monthlyTransfer": { "gbPerMonthAllocated": 1024 }, "ports": [ { "fromPort": 80, "toPort": 80, "protocol": "tcp", "accessFrom": "Anywhere (0.0.0.0/0 and ::/0)", "accessType": "public", "commonName": "", "accessDirection": "inbound", "cidrs": [ "0.0.0.0/0" ], "ipv6Cidrs": [ "::/0" ], "cidrListAliases": [] }, { "fromPort": 22, "toPort": 22, "protocol": "tcp", "accessFrom": "Anywhere (0.0.0.0/0 and ::/0)", "accessType": "public", "commonName": "", "accessDirection": "inbound", "cidrs": [ "0.0.0.0/0" ], "ipv6Cidrs": [ "::/0" ], "cidrListAliases": [] }, { "fromPort": 443, "toPort": 443, "protocol": "tcp", "accessFrom": "Anywhere (0.0.0.0/0 and ::/0)", "accessType": "public", "commonName": "", "accessDirection": "inbound", "cidrs": [ "0.0.0.0/0" ], "ipv6Cidrs": [ "::/0" ], "cidrListAliases": [] } ] }, "state": { "code": 16, "name": "running" }, "username": "bitnami", "sshKeyName": "cli-tutorial-keys", "metadataOptions": { "state": "applied", "httpTokens": "optional", "httpEndpoint": "enabled", "httpPutResponseHopLimit": 1, "httpProtocolIpv6": "disabled" } } }

Output memberikan informasi komprehensif tentang instans Anda, termasuk alamat IP, spesifikasi perangkat keras, konfigurasi jaringan, dan status. Perhatikan alamat IP publik dan nama pengguna, karena Anda memerlukannya untuk terhubung ke instans Anda.

Terhubung ke instans Anda.

Setelah membuat instance Anda, Anda dapat menghubungkannya menggunakan SSH dengan key pair yang Anda buat sebelumnya. Bagian ini menunjukkan cara membuat koneksi SSH dan mengelola pengaturan keamanan.

contoh — SSH ke dalam instans Anda

Gunakan perintah berikut untuk terhubung ke instans Anda melalui SSH, mengganti alamat IP dengan IP publik instans Anda.

$ ssh -i ~/.ssh/cli-tutorial-keys.pem bitnami@203.0.113.75 Linux ip-172-26-6-136 6.1.0-32-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. ___ _ _ _ | _ |_) |_ _ _ __ _ _ __ (_) | _ \ | _| ' \/ _` | ' \| | |___/_|\__|_|_|\__,_|_|_|_|_| *** Welcome to the Bitnami package for WordPress 6.7.2 *** *** Documentation: https://docs.bitnami.com/aws/apps/wordpress/ *** *** https://docs.bitnami.com/aws/ *** *** Bitnami Forums: https://github.com/bitnami/vms/ *** bitnami@ip-172-26-6-136:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 217920 0 217920 0% /dev tmpfs 45860 480 45380 2% /run /dev/nvme0n1p1 20403592 3328832 16142256 18% / tmpfs 229292 0 229292 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock /dev/nvme0n1p15 126678 11840 114838 10% /boot/efi tmpfs 45856 0 45856 0% /run/user/1000

Setelah terhubung, Anda dapat mengelola WordPress instalasi Anda, mengkonfigurasi server Anda, atau menginstal perangkat lunak tambahan. Contoh di atas menunjukkan penggunaan disk pada instance menggunakan df perintah.

contoh — Tutup pelabuhan umum

Bila Anda tidak menggunakan SSH, Anda dapat menutup port publik pada instans Anda. Ini membantu melindungi instans Anda dari upaya akses yang tidak sah.

$ aws lightsail close-instance-public-ports --instance-name cli-tutorial \ --port-info fromPort=22,protocol=TCP,toPort=22 { "operation": { "id": "6cdxmpl-9f39-4357-a66d-230096140b4f", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "22/tcp", "operationType": "CloseInstancePublicPorts", "status": "Succeeded", "statusChangedAt": 1673596800.000 } }
catatan

Menutup port 22 mencegah semua koneksi SSH, termasuk yang dimulai dari konsol Lightsail. Untuk informasi selengkapnya, lihat topik berikut.

Tanggapan tersebut menegaskan bahwa port 22 telah berhasil ditutup. Ketika Anda perlu terhubung kembali melalui SSH, Anda dapat membuka kembali port menggunakan perintah. open-instance-public-ports

Tambahkan penyimpanan ke instans Anda

Seiring pertumbuhan aplikasi Anda, Anda mungkin memerlukan ruang penyimpanan tambahan. Lightsail memungkinkan Anda untuk membuat dan melampirkan disk tambahan ke instance Anda. Bagian ini menunjukkan cara menambahkan penyimpanan ekstra.

contoh — Buat disk

Perintah berikut membuat disk 32GB baru.

$ aws lightsail create-disk --disk-name cli-tutorial-disk \ --availability-zone ${AWS_REGION}a --size-in-gb 32 { "operations": [ { "id": "070xmpl-3364-4aa2-bff2-3c589de832fc", "resourceName": "cli-tutorial-disk", "resourceType": "Disk", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationType": "CreateDisk", "status": "Started", "statusChangedAt": 1673596800.000 } ] }

Respons menunjukkan bahwa operasi pembuatan disk telah dimulai. Mungkin perlu beberapa saat agar disk tersedia.

contoh — Pasang disk ke instance Anda

Setelah disk dibuat, Anda dapat melampirkannya ke instance Anda menggunakan perintah berikut.

$ aws lightsail attach-disk --disk-name cli-tutorial-disk \ --disk-path /dev/xvdf --instance-name cli-tutorial { "operations": [ { "id": "d17xmpl-2bdb-4292-ac63-ba5537522cea", "resourceName": "cli-tutorial-disk", "resourceType": "Disk", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationDetails": "cli-tutorial", "operationType": "AttachDisk", "status": "Started", "statusChangedAt": 1673596800.000 }, { "id": "01exmpl-c04e-42d4-aa6b-45ce50562a54", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationDetails": "cli-tutorial-disk", "operationType": "AttachDisk", "status": "Started", "statusChangedAt": 1673596800.000 } ] }

Parameter disk-path menentukan di mana disk akan dilampirkan dalam sistem file Linux. Setelah melampirkan disk, Anda harus memformat dan memasangnya dari dalam instance Anda.

contoh — Verifikasi lampiran disk

Anda dapat mengonfirmasi bahwa disk terpasang dengan benar dengan mengambil detailnya.

$ aws lightsail get-disk --disk-name cli-tutorial-disk { "disk": { "name": "cli-tutorial-disk", "arn": "arn:aws:lightsail:us-east-2:123456789012:Disk/1a9xmpl-8a34-46a4-b87e-19184f0cca9c", "supportCode": "123456789012/vol-0dacxmplc1c3108e2", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "resourceType": "Disk", "tags": [], "sizeInGb": 32, "isSystemDisk": false, "iops": 100, "path": "/dev/xvdf", "state": "in-use", "attachedTo": "cli-tutorial", "isAttached": true, "attachmentState": "attached" } }

Output mengkonfirmasi bahwa disk terpasang ke instance Anda. Bidang “status” menunjukkan “sedang digunakan” dan “isAttached” disetel ke true, menunjukkan lampiran yang berhasil.

Buat dan gunakan snapshot

Snapshots menyediakan cara untuk mencadangkan instance Anda dan membuat instance baru dari cadangan. Ini berguna untuk pemulihan bencana, pengujian, atau membuat lingkungan duplikat.

contoh — Buat snapshot instance

Perintah berikut membuat snapshot dari instance Anda.

$ aws lightsail create-instance-snapshot --instance-name cli-tutorial \ --instance-snapshot-name cli-tutorial-snapshot { "operations": [ { "id": "41bxmpl-7824-4591-bfcc-1b1c341613a4", "resourceName": "cli-tutorial-snapshot", "resourceType": "InstanceSnapshot", "createdAt": 1673596800.000, "location": { "availabilityZone": "all", "regionName": "us-east-2" }, "isTerminal": false, "operationDetails": "cli-tutorial", "operationType": "CreateInstanceSnapshot", "status": "Started", "statusChangedAt": 1673596800.000 }, { "id": "725xmpl-158e-46f6-bd49-27b0e6805aa2", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationDetails": "cli-tutorial-snapshot", "operationType": "CreateInstanceSnapshot", "status": "Started", "statusChangedAt": 1673596800.000 } ] }

Respons menunjukkan bahwa proses snapshot telah dimulai. Ada satu operasi asinkron untuk instance mendapatkan snapshot, dan satu untuk snapshot yang sedang dibuat. Snapshot mencakup semua disk yang dilampirkan ke instance.

contoh — Buat instance baru dari snapshot

Setelah snapshot selesai, Anda dapat menggunakannya untuk membuat instance baru.

$ aws lightsail create-instances-from-snapshot --availability-zone ${AWS_REGION}b \ --instance-snapshot-name cli-tutorial-snapshot --instance-name cli-tutorial-bup --bundle-id small_3_0 { "operations": [ { "id": "a35xmpl-efa1-4d6c-958e-9d58fd258f5f", "resourceName": "cli-tutorial-bup", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2b", "regionName": "us-east-2" }, "isTerminal": false, "operationType": "CreateInstancesFromSnapshot", "status": "Started", "statusChangedAt": 1673596800.000 } ] }

Perintah ini membuat instance baru bernama cli-tutorial-bup di zona ketersediaan us-east-2b menggunakan ukuran small_3_0 bundel. Perhatikan bahwa Anda dapat memilih ukuran bundel yang berbeda untuk instance baru, yang dapat berguna untuk meningkatkan atau menurunkan skala.

Pembersihan sumber daya

Setelah selesai dengan sumber daya Lightsail Anda, Anda harus menghapusnya untuk menghindari biaya tambahan. Bagian ini menunjukkan cara membersihkan semua sumber daya yang dibuat dalam tutorial ini.

contoh — Hapus snapshot instance

Untuk menghapus snapshot yang tidak lagi Anda butuhkan, gunakan perintah berikut.

$ aws lightsail delete-instance-snapshot --instance-snapshot-name cli-tutorial-snapshot { "operations": [ { "id": "cf8xmpl-0ec7-43ec-9cbc-6dedd9d8eda8", "resourceName": "cli-tutorial-snapshot", "resourceType": "InstanceSnapshot", "createdAt": 1673596800.000, "location": { "availabilityZone": "all", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "", "operationType": "DeleteInstanceSnapshot", "status": "Succeeded", "statusChangedAt": 1673596800.000 } ] }

Tanggapan tersebut mengonfirmasi bahwa operasi penghapusan snapshot telah berhasil.

contoh — Hapus sebuah instance

Untuk menghapus sebuah instance, gunakan perintah berikut.

$ aws lightsail delete-instance --instance-name cli-tutorial { "operations": [ { "id": "f4bxmpl-2df1-4740-90d7-e30adaf7e3a1", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "", "operationType": "DeleteInstance", "status": "Succeeded", "statusChangedAt": 1673596800.000 } ] }

Ingatlah untuk menghapus semua instance yang Anda buat, termasuk instance apa pun yang dibuat dari snapshot.

contoh — Hapus disk

Untuk menghapus disk yang tidak lagi diperlukan, gunakan perintah berikut.

$ aws lightsail delete-disk --disk-name cli-tutorial-disk { "operations": [ { "id": "aacxmpl-8626-4edd-8b3b-bf108d6b279c", "resourceName": "cli-tutorial-disk", "resourceType": "Disk", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "", "operationType": "DeleteDisk", "status": "Succeeded", "statusChangedAt": 1673596800.000 } ] }

Jika disk terpasang ke sebuah instance, Anda harus melepaskannya terlebih dahulu menggunakan detach-disk perintah.

contoh — Hapus key pair

Terakhir, hapus key pair yang Anda buat di awal tutorial ini.

$ aws lightsail delete-key-pair --key-pair-name cli-tutorial-keys { "operation": { "id": "dbfxmpl-c954-4a45-93a4-ab3e627d2c23", "resourceName": "cli-tutorial-keys", "resourceType": "KeyPair", "createdAt": 1673596800.000, "location": { "availabilityZone": "all", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "", "operationType": "DeleteKeyPair", "status": "Succeeded", "statusChangedAt": 1673596800.000 } }

Perintah ini hanya menghapus key pair dari AWS. Sekarang Anda dapat menghapus salinan lokal juga.

$ rm ~/.ssh/cli-tutorial-keys.pem

Langkah selanjutnya

Sekarang setelah Anda mempelajari dasar-dasar mengelola sumber daya Lightsail menggunakan AWS CLI, jelajahi fitur Lightsail lainnya.

  1. DomainTetapkan nama domain ke aplikasi Anda.

  2. Load balancerRutekan lalu lintas ke beberapa instans untuk meningkatkan kapasitas dan ketahanan.

  3. Snapshot otomatisCadangkan data aplikasi Anda secara otomatis.

  4. MetrikPantau kesehatan sumber daya Anda, dapatkan notifikasi, dan atur alarm.

  5. DatabaseConnect aplikasi Anda ke database relasional.

Untuk informasi selengkapnya tentang AWS CLI perintah yang tersedia, lihat Referensi AWS CLI Perintah untuk Lightsail.