进阶
核心原理
API/CLI
AWS 提供了原生 API/CLI 。
- AWS CLI 命令
- AWS CLI 用户手册
- 其他非官方:入门参考、常用命令、15个常见命令
配置
提前准备好访问秘钥,然后运行命令 aws configure 即可
角色管理
如果使用 aws ssm 命令,就需要将服务器授权给 AmazonSSMRoleForInstancesQuickSetup 这个角色
--iam-instance-profile Arn="arn:aws:iam::797851739507:instance-profile/AmazonSSMRoleForInstancesQuickSetup"
常用命令
# 安装
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
# 版本
aws --version
# 配置
aws configure
# 配置文件使用
aws s3 ls --profile profilename
# 帮助
aws help
# 等待另一个命令完成
aws deploy wait deployment-successful --deployment-id d-A1B2C3111
# 获取镜像ID
aws ec2 describe-images --owners amazon --filters "Name=architecture,Values=x86_64" "Name=image-type,Values=machine" "Name=root-device-type,Values=ebs" --region us-east-1 --query 'Images[*].[ImageId,Description,Name]'
# 创建子网
aws ec2 create-default-subnet --availability-zone us-east-2a
# 创建实例
aws ec2 run-instances
--instance-market-options "MarketType=spot,SpotOptions={SpotInstanceType=persistent,InstanceInterruptionBehavior=stop}"
--image-id ami-0947d2ba12ee1ff75 --count 1 --instance-type t3a.medium --key-name websoft9_auto
--security-group-ids sg-1240356f --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=docker0-AmazonLinux2}]"
--block-device-mappings "DeviceName=/dev/xvda,Ebs={VolumeSize=40}"
--iam-instance-profile Arn="arn:aws:iam::797851739507:instance-profile/AmazonSSMRoleForInstancesQuickSetup"
问题解答
实例的登录账号密码是什么?
Windows实例的账号名称是Administrator,Linux实例的账号与发行版相关,具体参考
密码是用户在创建实例的时候,AWS 只支持秘钥对方式
root 账号可用吗?
root 账号默认启用的,实际上我们可以想办法启用它。参考:启用root账号
服务器的IP地址重启后发生变化怎么办?
建议更改为静态IP或为服务器设置一个由AWS提供的DNS