創建一個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