Alibaba Cloud Command Line Interface (CLI) adalah alat untuk mengelola sumber daya Alibaba Cloud dari terminal dengan memanggil operasi OpenAPI. Topik ini memberikan contoh penggunaan Alibaba Cloud CLI untuk membuat dan mengelola instans ECS.
Untuk informasi lebih lanjut tentang Alibaba Cloud CLI, lihat Apa itu Alibaba Cloud CLI?.
Sebelum memulai
-
Karena akun Alibaba Cloud memiliki izin penuh atas semua sumber daya, kebocoran AccessKey akun tersebut menimbulkan risiko keamanan yang tinggi. Kami menyarankan Anda menggunakan AccessKey milik RAM user yang hanya diberikan izin minimal yang diperlukan. Untuk informasi lebih lanjut, lihat Buat AccessKey.
-
Berikan izin yang diperlukan kepada RAM user untuk mengelola sumber daya ECS dan VPC. Kode contoh dalam topik ini membuat sumber daya seperti instans, VPC, dan vSwitch. Kami menyarankan Anda memberikan izin berikut:
Layanan cloud
Izin
VPC
Lampirkan kebijakan sistem: AliyunVPCFullAccess
ECS
Lampirkan kebijakan sistem: AliyunECSFullAccess
-
Instal dan konfigurasikan CLI. Alibaba Cloud CLI tersedia untuk Windows, Linux, dan macOS. Pilih metode instalasi yang sesuai dengan sistem operasi Anda:
-
Instal CLI.
-
Konfigurasikan CLI.
Konfigurasikan kredensial dan wilayah permintaan layanan yang diperlukan untuk memanggil sumber daya Alibaba Cloud. Untuk informasi lebih lanjut, lihat Konfigurasikan kredensial.
Jika Anda hanya perlu melakukan debugging sementara dan tidak ingin menginstal Alibaba Cloud CLI, Anda dapat menggunakan Cloud Shell. Untuk informasi lebih lanjut, lihat Apa itu Cloud Shell? Untuk memulai Cloud Shell, login ke Konsol Alibaba Cloud dan klik ikon Cloud Shell (ikon terminal) di sebelah kanan Tickets pada bilah navigasi atas.
-
Buat instans ECS
Membuat instans ECS memerlukan parameter seperti ID vSwitch, ID security group, dan ID image. Anda dapat menggunakan ID sumber daya yang sudah ada atau membuat yang baru dengan memanggil operasi pada langkah-langkah berikut.
-
Buat VPC.
VPC adalah jaringan pribadi yang terisolasi secara logis untuk sumber daya cloud Anda.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
CidrBlock
Blok CIDR VPC: 192.168.0.0/16
-
Buat vSwitch.
vSwitch adalah perangkat jaringan dasar dalam VPC yang menghubungkan berbagai sumber daya cloud.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
ZoneId
Zona: cn-hangzhou-i
VpcId
ID VPC: vpc-bp1aag0sb9s4i92i3****
CidrBlock
Blok CIDR vSwitch: 192.168.0.0/24
-
Buat security group.
Security group adalah firewall virtual yang mengontrol lalu lintas ke dan dari instans ECS Anda.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
VpcId
ID VPC: vpc-bp1aag0sb9s4i92i3****
-
Tambahkan aturan inbound ke security group.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
SecurityGroupId
ID security group: sg-bp1esyhwfbqeyudt****
IpProtocol
Protokol: tcp
SourceCidrIp
Blok CIDR sumber: 0.0.0.0/0
PortRange
Rentang port:
-
Untuk instans Linux: 22/22
-
Untuk instans Windows: 3389/3389
-
-
Buat instans ECS.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
ImageId
Image: Gunakan image Alibaba Cloud Linux aliyun_3_x64_20G_alibase_20240819.vhd
InstanceType
Tipe instans: ecs.e-c1m1.large
SecurityGroupId
ID security group: sg-bp1esyhwfbqeyudt****
VSwitchId
ID vSwitch: vsw-bp1nzprm8h7mmnl8t****
InstanceName
Nama instans: ecs_cli_demo
InstanceChargeType
Atur ke PostPaid untuk membuat instans pay-as-you-go.
CatatanPastikan saldo akun Anda mencukupi.
Password
Password login: ******
InternetMaxBandwidthOut
Jika nilai ini lebih besar dari 0, alamat IP publik akan ditetapkan secara otomatis ke instans.
SystemDisk.Category
Kategori disk sistem: cloud_essd
SystemDisk.Size
Ukuran disk sistem: 40 GiB
Berikut adalah skrip contoh lengkapnya:
Menjalankan skrip contoh ini beberapa kali akan membuat sumber daya duplikat dan dapat menimbulkan biaya tambahan yang tidak perlu. Tinjau dan sesuaikan skrip sesuai kebutuhan spesifik Anda sebelum menjalankannya.
#!/bin/bash
# Di lingkungan produksi, pastikan ID AccessKey dan Rahasia AccessKey Anda
# diatur secara aman dengan menggunakan variabel lingkungan atau file konfigurasi.
# 1. Tetapkan variabel.
INSTANCE_NAME="ecs_cli_demo"
# 2. Instal tool jq.
echo "Menginstal tool dependensi jq..."
yum install -y jq
sleep 3
# 3. Buat VPC, vSwitch, dan security group.
echo "Membuat VPC..."
VpcId=$(aliyun vpc CreateVpc --RegionId cn-hangzhou --CidrBlock 192.168.0.0/16 | jq -r .VpcId)
aliyun vpc DescribeVpcAttribute --RegionId cn-hangzhou --VpcId ${VpcId} --waiter expr='Status' to=Available > /dev/null 2>&1
echo "Membuat vSwitch..."
VSwitchId=$(aliyun vpc CreateVSwitch --CidrBlock 192.168.0.0/24 --VpcId ${VpcId} --ZoneId=cn-hangzhou-i | jq -r .VSwitchId)
echo "Membuat security group..."
SecurityGroupId=$(aliyun ecs CreateSecurityGroup --RegionId cn-hangzhou --VpcId ${VpcId} | jq -r .SecurityGroupId)
aliyun ecs AuthorizeSecurityGroup --RegionId cn-hangzhou --SecurityGroupId ${SecurityGroupId} --IpProtocol tcp --SourceCidrIp 0.0.0.0/0 --PortRange 22/22 > /dev/null 2>&1
read -s -p "Masukkan password Anda:" PASSWORD
echo
echo "PASSWORD OK."
# 4. Jalankan perintah untuk membuat instans ECS.
echo "Membuat instans ECS..."
INSTANCE_ID_RAW=$(aliyun ecs RunInstances \
--RegionId cn-hangzhou \
--ImageId aliyun_3_x64_20G_alibase_20240819.vhd \
--InstanceType ecs.e-c1m1.large \
--SecurityGroupId ${SecurityGroupId} \
--VSwitchId ${VSwitchId} \
--InstanceName $INSTANCE_NAME \
--InstanceChargeType PostPaid \
--InternetMaxBandwidthOut 1 \
--Password $PASSWORD \
--SystemDisk.Category cloud_essd \
--SystemDisk.Size 40)
# 5. Ekstrak ID instans untuk digunakan nanti.
INSTANCE_ID=$(echo "$INSTANCE_ID_RAW" | jq -r '.InstanceIdSets.InstanceIdSet[]')
# 6. Tunggu selama 20 detik hingga instans ECS dibuat.
echo "Menunggu pembuatan instans ECS..."
sleep 20
# 7. Periksa status instans ECS.
echo "Memeriksa status instans ECS..."
INSTANCE_ID_QUOTED=$(printf '"%s"' "$INSTANCE_ID")
aliyun ecs DescribeInstances \
--RegionId cn-hangzhou \
--InstanceIds "[${INSTANCE_ID_QUOTED}]" \
--output cols=InstanceId,InstanceName,InstanceType,ImageId,Status rows=Instances.Instance[]
Buat dan jalankan skrip shell tersebut. Output yang diharapkan adalah sebagai berikut:
[root@i-xxxxx Z ~]# bash ecs-cli.sh
Installing the jq dependency tool...
Last metadata expiration check: 0:24:56 ago on Tue 22 Oct 2024 09:24:50 AM CST.
Package jq-1.6-15.al8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Creating a VPC...
Creating a vSwitch...
Creating a security group...
Enter your password:
PASSWORD OK.
Creating the ECS instance...
Waiting for the ECS instance to be created...
Querying the ECS instance status...
InstanceId | InstanceName | InstanceType | ImageId | Status
---------- | ------------ | ------------ | ------- | -------
i-bpxxxxxxxxxxxz4 | ecs_cli_demo | ecs.e-c1m1.large | aliyun_3_x64_20G_alibase_20240819.vhd | Running
Hubungkan ke instans
Setelah terhubung ke instans melalui SSH, Anda dapat men-deploy layanan dan aplikasi Anda.
-
Dapatkan alamat IP publik instans.
Panggil DescribeInstances dengan
<InstanceID>untuk mendapatkan alamat IP publik instans.-
Contoh permintaan
aliyun ecs DescribeInstances \ --RegionId cn-hangzhou \ --InstanceIds '["<instance-id>"]' -
Contoh respons
Parameter PublicIpAddress menunjukkan alamat IP publik instans.
"PublicIpAddress": { "IpAddress": [ "115.29.xxx.xxx" ] }
-
-
Hubungkan ke instans ECS.
ssh <username>@<public_ip_address>[root@i-xxx bfZ ~ ]# ssh root@1xx.xx.xx.xx The authenticity of host '1xx.xx.xx.xx (1xx.xx.xx.xx)' can't be established. ECDSA key fingerprint is SHA256:PVyhCaxxx4mecykrU. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '1xx.xx.xx.xx' (ECDSA) to the list of known hosts. root@1xx.xx.xx.xx's password: Welcome to Alibaba Cloud Elastic Compute Service ! Last login: Thu Oct 10 13:31:58 2024 from xxx.67 [root@iZ xxx ugZ ~]#
Bersihkan sumber daya
Saat Anda tidak lagi memerlukan sumber daya tersebut, lepaskan agar tidak dikenakan biaya tambahan.
Pilih operasi OpenAPI yang sesuai untuk melepas sumber daya. Contoh ini melepas semua sumber daya yang dibuat pada langkah-langkah sebelumnya.
-
Hapus instans ECS.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
InstanceId
ID instans: i-bp17f3kzgtzzj91r****
-
Hapus security group.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
SecurityGroupId
ID security group: sg-bp1esyhwfbqeyudt****
-
Hapus vSwitch.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
VSwitchId
ID vSwitch: vsw-bp1nzprm8h7mmnl8t****
-
Hapus VPC.
API
Parameter
Nilai
RegionId
Wilayah: cn-hangzhou
VpcId
ID VPC: vpc-bp1aag0sb9s4i92i3****
Berikut adalah skrip contohnya:
#!/bin/bash
# Ganti nilai placeholder dengan ID aktual dari sumber daya yang ingin Anda lepaskan.
INSTANCE_ID='i-bpxxxxxxxxxxxz4'
SECURITY_GROUP_ID='sg-bp1esyhwfbqeyudt****'
VSWITCH_ID='vsw-bp1nzprm8h7mmnl8t****'
VPC_ID='vpc-bp1aag0sb9s4i92i3****'
REGION='cn-hangzhou'
echo "Melepas sumber daya..."
# Hapus instans.
aliyun ecs DeleteInstance \
--region ${REGION} \
--InstanceId ${INSTANCE_ID}
# Tunggu hingga instans dihapus sebelum menghapus security group.
# Tambahkan logika tunggu di sini dalam skrip produksi.
# Hapus security group.
aliyun ecs DeleteSecurityGroup \
--region ${REGION} \
--SecurityGroupId ${SECURITY_GROUP_ID}
# Hapus vSwitch.
aliyun vpc DeleteVSwitch \
--region ${REGION} \
--VSwitchId ${VSWITCH_ID}
# Hapus VPC.
aliyun vpc DeleteVpc \
--region ${REGION} \
--VpcId ${VPC_ID}
echo "Pembersihan selesai."
Referensi
Anda dapat menjalankan perintah berikut untuk melihat daftar perintah CLI yang didukung untuk ECS.
aliyun ecs --help
Gunakan sintaks berikut untuk memanggil operasi API ECS. Untuk detail parameter, lihat dokumentasi masing-masing operasi.
aliyun ecs <APIName> --<parameter1 value1> --<parameter2 value2> ...