AWS Cli 配置和使用实例

1.安装AWS Cli

不同类型系统安装文档
http://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html

2.配置AWS Cli

2.1 获取用户的Access Key

访问密钥/凭证
创建访问密钥

  1. 打开 IAM 控制台
  2. 在导航中选择 Users
  3. 选择IAM 用户名称(不是复选框)
  4. 选择安全证书选项卡,然后选择创建访问密钥
  5. 要查看访问密钥,选择显示,内容如下:
Access Key ID: ********************
Secret Access Key: *************************************
  1. 要下载密钥文件,选择下载 .csv 文件,将密钥存储在安全位置

注意:创建密钥后要保存下来,如未保存只能删除重建,最多可以创建两个密钥,为了安全应定期更换AWS密钥。

2.2 配置Cli

配置CLI

$ aws configure
AWS Access Key ID [None]: *****************
AWS Secret Access Key [None]: *******************************
Default region name [None]: us-west-2
Default output format [None]: json

这些信息分别保存在~/.aws/credentials,```~/.aws/config文件内:
credentials:

[default]
aws_access_key_id = *****************
aws_secret_access_key = *******************************

config:

[default]
output = json
region = us-west-2

若再次运行aws configure命令,不需改动的项直接回车即可。

3.CLI选项

CLI选项

--profile – profile名称, 默认为"default"
--region – AWS region
--output – 输出格式,支持json、text、table,默认为json
--endpoint-url – 指定endpoint, 可以是Proxy或Endpoint URL。一般不需指定,CLI基于region决定。

4.CLI示例

CLI调用时可以指定–region、–output、–profile作为参数,下例以表格的形式显示cn-north-1下的instance:

$ aws ec2 describe-instances --output table --region cn-north-1

在这里插入图片描述

5. cli 过滤查询

windows:

aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query "Reservations[].Instances[].[Tags[?Key==`Name`] | [0].Value,InstanceId,State.Name,InstanceType,Placement.AvailabilityZone]" --output table > d:/tmp/ec2.txt

Linux:

aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[Tags[?Key==`Name`] | [0].Value,InstanceId,State.Name,InstanceType,Placement.AvailabilityZone]' --output table > /tmp/ec2.txt

6. 从AMI创建EC2

aws ec2 run-instances --image-id ami-0cd80db077fc4be53 --count 2 --instance-type t3a.micro --key-name eshow --security-group-ids sg-0239710413186c914 --subnet-id subnet-de9d9795

{
    "OwnerId": "123456789012",
    "ReservationId": "r-5875ca20",
    "Groups": [
        {
            "GroupName": "my-sg",
            "GroupId": "sg-903004f8"
        }
    ],
    "Instances": [
        {
            "Monitoring": {
                "State": "disabled"
            },
            "PublicDnsName": null,
            "Platform": "windows",
            "State": {
                "Code": 0,
                "Name": "pending"
            },
            "EbsOptimized": false,
            "LaunchTime": "2013-07-19T02:42:39.000Z",
            "PrivateIpAddress": "10.0.1.114",
            "ProductCodes": [],
            "VpcId": "vpc-1a2b3c4d",
            "InstanceId": "i-5203422c",
            "ImageId": "ami-173d747e",
            "PrivateDnsName": ip-10-0-1-114.ec2.internal,
            "KeyName": "MyKeyPair",
            "SecurityGroups": [
                {
                    "GroupName": "my-sg",
                    "GroupId": "sg-903004f8"
                }
            ],
            "ClientToken": null,
            "SubnetId": "subnet-6e7f829e",
            "InstanceType": "t2.micro",
            "NetworkInterfaces": [
                {
                    "Status": "in-use",
                    "SourceDestCheck": true,
                    "VpcId": "vpc-1a2b3c4d",
                    "Description": "Primary network interface",
                    "NetworkInterfaceId": "eni-a7edb1c9",
                    "PrivateIpAddresses": [
                        {
                            "PrivateDnsName": "ip-10-0-1-114.ec2.internal",
                            "Primary": true,
                            "PrivateIpAddress": "10.0.1.114"
                        }
                    ],
                    "PrivateDnsName": "ip-10-0-1-114.ec2.internal",
                    "Attachment": {
                        "Status": "attached",
                        "DeviceIndex": 0,
                        "DeleteOnTermination": true,
                        "AttachmentId": "eni-attach-52193138",
                        "AttachTime": "2013-07-19T02:42:39.000Z"
                    },
                    "Groups": [
                        {
                            "GroupName": "my-sg",
                            "GroupId": "sg-903004f8"
                        }
                    ],
                    "SubnetId": "subnet-6e7f829e",
                    "OwnerId": "123456789012",
                    "PrivateIpAddress": "10.0.1.114"
                }              
            ],
            "SourceDestCheck": true,
            "Placement": {
                "Tenancy": "default",
                "GroupName": null,
                "AvailabilityZone": "us-west-2b"
            },
            "Hypervisor": "xen",
            "BlockDeviceMappings": [
                {
                    "DeviceName": "/dev/sda1",
                    "Ebs": {
                        "Status": "attached",
                        "DeleteOnTermination": true,
                        "VolumeId": "vol-877166c8",
                        "AttachTime": "2013-07-19T02:42:39.000Z"
                    }
                }              
            ],
            "Architecture": "x86_64",
            "StateReason": {
                "Message": "pending",
                "Code": "pending"
            },
            "RootDeviceName": "/dev/sda1",
            "VirtualizationType": "hvm",
            "RootDeviceType": "ebs",
            "Tags": [
                {
                    "Value": "MyInstance",
                    "Key": "Name"
                }
            ],
            "AmiLaunchIndex": 0
        }
    ]
}

7.创建EC2并命名

aws ec2 run-instances --image-id ami-06ac4bb2a45e50c7d --count 1 --instance-type t3a.micro --key-name eshow --security-group-ids sg-0239710413186c914 --subnet-id subnet-de9d9795 --tag-specifications  'ResourceType=instance,Tags=[{Key=Name,Value=ip-for-phone-01}]' 

参考:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值