常用AWS命令行彙總(awscli)

創建一個Key,查看內容並生成pem文件。

aws ec2 create-key-pair --key-name MyCypayTestCalifornia --query 'KeyMaterial' \
 --output text > MyTestCalifornia.pem
創建一個VPC安全組
aws ec2 create-security-group --group-name MyCATest --description MyCATest \
--vpc-id vpc-efxxxx8a
列舉當前安全組名稱和ID
aws ec2 describe-security-groups  --query SecurityGroups[*].[GroupName,GroupId,VpcId]
添加安全組規則
aws ec2 authorize-security-group-ingress --group-id sg-d1xxxxb4 --protocol tcp \
--port 22 --cidr 202.x.x.120/29  --protocol tcp --port 8080-8082 --cidr 10.10.0.0/16 \
--protocol tcp --port 80 --cidr 0.0.0.0/0
查看當前安全組規則
aws ec2 describe-security-groups --group-ids  sg-d1xxxxb4
創建實例
aws ec2 run-instances --image-id ami-7axxxx3f --count 1 --instance-type t1.micro \
--key-name MyTestCalifornia --security-group-ids sg-dxxxxbb4 \
--placement AvailabilityZone=us-west-1c --subnet-id subnet-5exxxx3b \
--block-device-mappings "[{\"DeviceName\": \"/dev/sdf\",\"Ebs\":{\"VolumeSize\":100}}]"\
--user-data  "/sbin/mkfs.ext4 /dev/xvdf && /bin/mount /dev/xvdf /home"

##註釋
--image-id 指定AMI ID
--key-name 可選,登錄服務器用
--placement AvailabilityZone=us-west-1c  選擇AZ,此項可選,有默認值
--block-device-mappings "[{\"DeviceName\": \"/dev/sdf\",\"Ebs\":{\"VolumeSize\":100}}]"
再額外加100G的EBS磁盤,記得在powershell或者在CMD下雙引號需要轉義
如果size大於快照大小,需要開機後用resize2fs命令在線動態擴展文件系統
size小於快照中的大小則不生效,按照快照中的磁盤大小創建
--user-data  "/sbin/mkfs.ext4 /dev/xvdf && /bin/mount /dev/xvdf /home"  
指定開機初始化腳本,可用file://xxxx.sh 來指定網絡或者本地文件

給實例打標籤

aws ec2 create-tags --resources i-3xxxxb6d --tags Key=Name,Value=APITest \
 Key=PROJECT,Value=cypay

創建個EIP

aws ec2 allocate-address --domain vpc
{
   "PublicIp": "54.x.x.12",
   "Domain": "vpc",
   "AllocationId": "eipalloc-axxxxxcd"
}

將VPC中的EIP與VPC中的實例關聯

aws ec2 associate-address --instance-id i-3xxxxx6d --allocation-id eipalloc-afxxxx8cd

此時可以ssh鏈接自己的實例

ssh -i MyTestCalifornia.pem  [email protected]

列舉出所有用戶和他的AccessKey ID

aws iam list-users --query 'Users[*].[UserName,CreateDate,UserId]' --output table

列舉出當前實例的相關信息

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, \
 Placement.AvailabilityZone, State.Name,  InstanceType, PublicIpAddress, \
PrivateIpAddress, Tags[0].Value, Tags[1].Value]' --output text
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章