ECS Scenario-Based Operations
End-to-end operational scenarios combining multiple ECS capabilities into complete workflows.
Pre-check: Alibaba Cloud CLI must be installed and at least version 3.3.3.
aliyun version # must be >= 3.3.3
Pre-check: Alibaba Cloud Credentials Required
aliyun configure listIf no valid profile exists, STOP and guide user to configure credentials.
Pre-check: Aliyun CLI plugin update required
aliyun configure set --auto-plugin-install true aliyun plugin update
Observability (MUST follow for every aliyun command)
Upon loading this skill, generate a random session ID (32-char lowercase hex string) once for the entire session.
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Cost Estimation (MUST before any chargeable scenario)
Every scenario below may contain chargeable operations. Before executing step 1 of any scenario, you MUST follow the alibabacloud-cli-cost-estimation skill to evaluate the overall task cost:
- Quote all chargeable steps up front using
--estimate-costand--estimate-cost-contextas needed. - Present one consolidated cost plan with each step labelled (
PAY NOW/FUTURE/REFUND/FREE), plus the total of immediate charges. - Ask for a single confirmation of the whole scenario, then execute steps in order.
- If a step fails mid-sequence, stop and re-quote remaining steps before continuing.
The cost evaluation output must include a clearly labelled cost summary section so the user can identify it before confirming.
See the alibabacloud-cli-cost-estimation SKILL.md for the full cost plan format and quoting rules.
Core Workflow
IMPORTANT: Parameter Confirmation — Before executing any command or API call, ALL user-customizable parameters MUST be confirmed with the user.
Scenario 1: Full-Stack Instance Provisioning
Provision a complete ECS instance with VPC, VSwitch, Security Group, and Instance.
Step 1.1: Check or Create VPC
# Check existing VPCs
aliyun vpc describe-vpcs --biz-region-id <RegionId> \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
# Create VPC if needed
aliyun vpc create-vpc --biz-region-id <RegionId> \
--cidr-block 10.0.0.0/8 \
--vpc-name "<VpcName>" \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
# Wait for VPC Available
aliyun vpc describe-vpcs --biz-region-id <RegionId> \
--vpc-id <VpcId> \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Step 1.2: Create VSwitch
aliyun vpc create-v-switch --biz-region-id <RegionId> \
--zone-id <ZoneId> \
--vpc-id <VpcId> \
--cidr-block 10.1.1.0/24 \
--v-switch-name "<VSwitchName>" \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Step 1.3: Create Security Group with Rules
# Create security group
aliyun ecs create-security-group --biz-region-id <RegionId> \
--vpc-id <VpcId> \
--security-group-name "<SGName>" \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
# Add SSH access rule
aliyun ecs authorize-security-group --biz-region-id <RegionId> \
--security-group-id <SecurityGroupId> \
--ip-protocol tcp \
--port-range 22/22 \
--source-cidr-ip <SourceCIDR> \
--policy accept \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Step 1.4: Create and Start Instance
aliyun ecs run-instances \
--biz-region-id <RegionId> \
--security-group-id <SecurityGroupId> \
--v-switch-id <VSwitchId> \
--image-id <ImageId> \
--instance-type <InstanceType> \
--instance-name <InstanceName> \
--system-disk.category cloud_essd \
--system-disk.size 40 \
--instance-charge-type PostPaid \
--internet-max-bandwidth-out 5 \
--internet-charge-type PayByTraffic \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Step 1.5: Wait for Instance Running
# Poll until instance is Running
aliyun ecs describe-instances --biz-region-id <RegionId> \
--instance-ids '["<InstanceId>"]' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Scenario 2: Disk Expansion with OS Partition Resize
Expand a cloud disk and resize the OS partition in one workflow.
Step 2.1: Create Snapshot (Safety Backup)
aliyun ecs create-snapshot --disk-id <DiskId> \
--snapshot-name "pre-resize-$(date +%Y%m%d)" \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Step 2.2: Expand Cloud Disk
aliyun ecs resize-disk --disk-id <DiskId> \
--new-size <NewSizeGB> \
--type online \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Step 2.3: Resize OS Partition (via Cloud Assistant)
# For Linux ext4 filesystem
aliyun ecs run-command \
--biz-region-id <RegionId> \
--type RunShellScript \
--command-content "$(echo 'growpart /dev/vda 1 && resize2fs /dev/vda1 && df -h' | base64)" \
--content-encoding Base64 \
--instance-id.1 <InstanceId> \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
# For Linux xfs filesystem
aliyun ecs run-command \
--biz-region-id <RegionId> \
--type RunShellScript \
--command-content "$(echo 'growpart /dev/vda 1 && xfs_growfs /dev/vda1 && df -h' | base64)" \
--content-encoding Base64 \
--instance-id.1 <InstanceId> \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Scenario 3: Add and Format Data Disk
Create, attach, and format a new data disk for an existing instance.
Step 3.1: Create and Attach Data Disk
# Create data disk
aliyun ecs create-disk --biz-region-id <RegionId> \
--zone-id <ZoneId> \
--disk-category cloud_essd \
--size <SizeGB> \
--disk-name "<DataDiskName>" \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
# Attach to instance
aliyun ecs attach-disk --instance-id <InstanceId> \
--disk-id <DiskId> \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Step 3.2: Format and Mount (via Cloud Assistant)
# Partition, format (ext4), and mount data disk
aliyun ecs run-command \
--biz-region-id <RegionId> \
--type RunShellScript \
--command-content "$(echo 'fdisk -u -c /dev/vdb <<EOF
n
p
1
w
EOF
mkfs.ext4 /dev/vdb1
mkdir -p /data
mount /dev/vdb1 /data
echo "/dev/vdb1 /data ext4 defaults 0 0" >> /etc/fstab
df -h' | base64)" \
--content-encoding Base64 \
--instance-id.1 <InstanceId> \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
Scenario 4: Batch Instance Operations
Perform operations on multiple instances simultaneously.
# Batch stop instances
for id in <InstanceId1> <InstanceId2> <InstanceId3>; do
aliyun ecs stop-instance --instance-id "$id" \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
done
# Batch query instance status
aliyun ecs describe-instances --biz-region-id <RegionId> \
--instance-ids '["<Id1>","<Id2>","<Id3>"]' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ecs-scenario-ops/{session-id}
RAM Policy
Combines permissions from all involved ECS operations:
- VPC:
vpc:CreateVpc,vpc:CreateVSwitch,vpc:DescribeVpcs,vpc:DescribeVSwitches - ECS:
ecs:RunInstances,ecs:DescribeInstances,ecs:CreateSecurityGroup,ecs:AuthorizeSecurityGroup - Disk:
ecs:CreateDisk,ecs:AttachDisk,ecs:ResizeDisk,ecs:CreateSnapshot - Cloud Assistant:
ecs:RunCommand,ecs:DescribeInvocations
[MUST] Permission Failure Handling: When any command fails due to permission errors, read
references/ram-policies.md, useram-permission-diagnoseskill, and pause until permissions are granted.
Success Verification
- Scenario 1: Instance in
Runningstate, SSH accessible, security group rules correct - Scenario 2: Disk size matches new value,
df -hshows expanded partition - Scenario 3: Data disk visible in
lsblk, mounted at target path, survives reboot - Scenario 4: All target instances in expected state
Cleanup
For each scenario, reverse the creation order:
- Release/delete instances → 2. Delete disks → 3. Delete snapshots → 4. Delete security groups → 5. Delete VSwitches → 6. Delete VPCs