AWS CLI 使用指南
一、AWS CLI 命令
AWS CLI 是 AWS 提供的一款命令行工具,可以方便地管理 AWS 资源,能够完成控制台上的所有操作。AWS CLI 支持 Python 2 和 Python 3。以下为 AWS CLI 命令的示例:
aws s3 cp /tmp/local_file s3://bucket/folder/
aws ec2 create-key-pair --key-name KEY_NAME
aws ec2 create-vpc --cidr-block 10.0.0.0/16
需要注意的是,AWS CLI 命令的使用需要 AWS 的 Access Key 和 Secret Key。在执行 AWS CLI 命令之前,需要通过 aws configure
进行配置。
二、AWS CLI V2
AWS CLI V2 是 AWS CLI 的最新版本,于 2020 年发布,相比于 AWS CLI,AWS CLI V2 提供更好的性能、更低的延迟,并且支持自动化安装,已经成为 AWS 官方推荐版本。以下为 AWS CLI V2 安装命令的示例:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
需要注意的是,AWS CLI V2 的使用方式与 AWS CLI 基本相同,但后者需要降级为较早的版本。
三、AWS CLI 安装
AWS CLI 的安装可以通过多种方式进行,例如直接在本地安装、通过 Docker 镜像安装等。以下为 AWS CLI 在 macOS 下的安装命令的示例:
sudo curl -O https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install awscli
aws --version
需要注意的是,AWS CLI 安装需要 Python 环境支持。
四、AWS CLI 使用教程
- AWS CLI 配置密钥
aws configure AWS Access Key ID [None]: YOUR_ACCESS_KEY AWS Secret Access Key [None]: YOUR_SECRET_KEY Default region name [None]: YOUR_REGION_NAME Default output format [None]:
- AWS CLI 查看帮助
aws help
- AWS CLI 查看所有资源
aws ec2 describe-instances aws s3 ls
- AWS CLI 创建资源
aws ec2 run-instances \ --image-id ami-xxxxxxxx \ --count 1 \ --instance-type t2.micro \ --key-name MyKeyPair \ --security-group-ids sg-xxxxxxxx aws s3 mb s3://my-bucket --region us-west-2
- AWS CLI 删除资源
aws ec2 terminate-instances --instance-ids i-xxxxxxxx aws s3 rb s3://my-bucket --force
五、AWS CLI 密钥登录
对于需要大量的资源访问,可以通过密钥进行自动登录,这样无需每次都手动输入 AWS 的 Access Key 和 Secret Key。以下为 AWS CLI 密钥登录命令的示例:
aws configure set aws_access_key_id YOUR_ACCESS_KEY
aws configure set aws_secret_access_key YOUR_SECRET_KEY
aws configure set default.region YOUR_REGION_NAME
aws sts get-caller-identity
需要注意的是,密钥存在安全隐患,需要妥善保管,避免泄露。
六、AWS CLI 查看权限
在使用 AWS CLI 的过程中,需要查看当前用户的权限,以确定是否有访问某些资源的权限。以下为 AWS CLI 查看权限命令的示例:
aws iam get-user
aws iam list-groups-for-user --user-name your_username
aws iam list-attached-user-policies --user-name your_username
七、AWS CLI cp 到 S3 数据没有
在使用 AWS CLI cp 命令将数据传输到 S3 存储桶时,数据不会直接反映在 S3 存储桶中,需要等待一段时间。以下为 AWS CLI cp 命令传输后,数据不紧急推送的命令示例:
aws s3 cp local-file.txt s3://my-bucket/
aws s3 ls s3://my-bucket/
# 等待几分钟后再次执行 s3 ls 命令,看到刚才上传的文件已经在 S3 存储桶中了
八、AWS CLI 其他
- AWS 客户端升级
pip install --upgrade awscli
- AWS CLI 使用代理
aws s3 ls --region eu-west-1 --endpoint-url https://my-s3-proxy.com
- 在 AWS CLI 中使用 MFA,需要先创建一个 Virtual MFA Device
aws iam create-virtual-mfa-device --virtual-mfa-device-name my_virtual_device --outfile qrcode.png --bootstrap-method QRCodePNG aws iam enable-mfa-device --user-name your_username --serial-number arn:aws:iam::123456789012:mfa/my_virtual_device --authentication-code1 123456 --authentication-code2 654321
以上是 AWS CLI 的详细讲解,希望可以帮助到大家在 AWS 资源的管理和使用中更加便捷和高效。