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.
Topik
Prasyarat
Sebelum Anda memulai tutorial ini, pastikan Anda memiliki yang berikut ini.
-
Itu AWS CLI. Jika Anda perlu menginstalnya, ikuti panduan AWS CLI instalasi. Anda juga dapat menggunakan AWS CloudShell, yang mencakup AWS CLI.
-
Konfigurasikan Anda AWS CLI dengan kredensi yang sesuai. Jalankan
aws configure
jika Anda belum menyiapkan kredensional Anda. -
Keakraban dasar dengan antarmuka baris perintah dan konsep SSH.
-
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. chmod
Perintah 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@
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/1000203.0.113.75
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.
-
Domain — Tetapkan nama domain ke aplikasi Anda.
-
Load balancer — Rutekan lalu lintas ke beberapa instans untuk meningkatkan kapasitas dan ketahanan.
-
Snapshot otomatis — Cadangkan data aplikasi Anda secara otomatis.
-
Metrik — Pantau kesehatan sumber daya Anda, dapatkan notifikasi, dan atur alarm.
-
Database — Connect aplikasi Anda ke database relasional.
Untuk informasi selengkapnya tentang AWS CLI perintah yang tersedia, lihat Referensi AWS CLI Perintah untuk Lightsail.