AWSCLI详解

发布时间:2023-05-17

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 使用教程

  1. 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]:
    
  2. AWS CLI 查看帮助
    aws help
    
  3. AWS CLI 查看所有资源
    aws ec2 describe-instances
    aws s3 ls
    
  4. 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
    
  5. 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 其他

  1. AWS 客户端升级
    pip install --upgrade awscli
    
  2. AWS CLI 使用代理
    aws s3 ls --region eu-west-1 --endpoint-url https://my-s3-proxy.com
    
  3. 在 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 资源的管理和使用中更加便捷和高效。