如何在 MacOS 或 Linux 上设置 Amazon AWS CLI(命令行界面)?
已发表: 2019-05-11
毫无疑问, Amazon AWS
是最大的公共云提供商。 我个人开始为 Crunchify 的少数客户使用 Amazon AWS,我必须说 AWS 非常灵活。
我使用我的Macbook Pro
进行所有的开发活动。 如果您决定为您的项目使用 Amazon AWS 云,那么您首先需要安装 Amazon CLI(命令行界面)来开始自动化您的基本 Amazon AWS 操作。

在本教程中,我们将介绍在 macOS 上安装Amazon CLI
的步骤。
如果您有以下任何问题,那么您来对地方了:
- 在 mac 上安装亚马逊 AWS cli
- AWS CLI 入门 – AWS 命令行界面
- 在 macOS 上安装、更新和卸载 AWS CLI 版本 1 或 2
- AWS 命令行界面 – 亚马逊 AWS
- 如何在 Macbook Pro 上安装 AWS CLI?
- macOS 安装 Amazon AWS 命令行界面 (CLI) 工具
让我们开始吧:
我们可以通过两种方式在 MacOS 上设置 Amazon AWS CLI。
- 选项 1:使用
curl
命令 - 选项 2:使用简单的 Python
pip
命令
选项 1:使用 curl 命令

下载 Amazon AWS CLI 版本 2
1 |
bash - 3.2 $ $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" - o "AWSCLIV2.pkg" |
这是详细的日志:
1 2 3 4 5 6 |
bash - 3.2 $ $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" - o "AWSCLIV2.pkg" bash : $ : command not found bash - 3.2 $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" - o "AWSCLIV2.pkg" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 26.2M 100 26.2M 0 0 15.9M 0 0 : 00 : 01 0 : 00 : 01 -- : -- : -- 16.0M |
这是将其安装在文件夹/
下的命令
1 2 3 4 5 6 7 |
bash - 3.2 $ sudo installer - pkg AWSCLIV2 . pkg - target / Password : installer : Package name is AWS Command Line Interface installer : Installing at base path / installer : The install was successful . |
验证亚马逊 AWS 版本:
1 2 3 |
bash - 3.2 $ aws -- version aws - cli / 2.4.16 Python / 3.8.8 Darwin / 21.4.0 exe / x86_64 prompt / off |
这是在 MacOS 上安装 Amazon AWS CLI 的最简单方法。 如果您在安装它时遇到任何问题,请告诉我。
选项 2:使用 Python pip 命令
第1步。
检查您的系统上是否安装了 python。
1 2 |
bash - 3.2 $ python -- version Python 3.7.2 |
如果您没有看到最新版本的 Python,则只需使用以下命令进行安装:
1 |
bash - 3.2 $ brew install python |
第2步。
下载最新的 Amazon AWS CLI 包。
1 2 3 4 |
bash - 3.2 $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" - o "awscli-bundle.zip" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 11.1M 100 11.1M 0 0 5598k 0 0 : 00 : 02 0 : 00 : 02 -- : -- : -- 5600k |
步骤 3。
解压缩awscli-bundle.zip
。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
bash - 3.2 $ unzip awscli - bundle . zip Archive : awscli - bundle . zip replace awscli - bundle / install ? [ y ] es , [ n ] o , [ A ] ll , [ N ] one , [ r ] ename : A inflating : awscli - bundle / install inflating : awscli - bundle / packages / botocore - 1.12.145.tar.gz inflating : awscli - bundle / packages / futures - 3.2.0.tar.gz inflating : awscli - bundle / packages / docutils - 0.14.tar.gz inflating : awscli - bundle / packages / virtualenv - 15.1.0.tar.gz inflating : awscli - bundle / packages / urllib3 - 1.22.tar.gz inflating : awscli - bundle / packages / rsa - 3.4.2.tar.gz inflating : awscli - bundle / packages / urllib3 - 1.24.3.tar.gz inflating : awscli - bundle / packages / ordereddict - 1.1.tar.gz inflating : awscli - bundle / packages / simplejson - 3.3.0.tar.gz inflating : awscli - bundle / packages / s3transfer - 0.2.0.tar.gz inflating : awscli - bundle / packages / python - dateutil - 2.6.1.tar.gz inflating : awscli - bundle / packages / jmespath - 0.9.4.tar.gz inflating : awscli - bundle / packages / PyYAML - 3.13.tar.gz inflating : awscli - bundle / packages / argparse - 1.2.1.tar.gz inflating : awscli - bundle / packages / pyasn1 - 0.4.5.tar.gz inflating : awscli - bundle / packages / colorama - 0.3.9.tar.gz inflating : awscli - bundle / packages / python - dateutil - 2.8.0.tar.gz inflating : awscli - bundle / packages / awscli - 1.16.155.tar.gz inflating : awscli - bundle / packages / six - 1.12.0.tar.gz inflating : awscli - bundle / packages / setup / setuptools_scm - 1.15.7.tar.gz |
第四步。
作为sudoer
运行安装程序。
1 2 3 4 5 6 7 8 |
bash - 3.2 $ sudo . / awscli - bundle / install - i / usr / local / aws - b / usr / local / bin / aws Password : Running cmd : / usr / bin / python virtualenv . py -- no - download -- python / usr / bin / python / usr / local / aws Running cmd : / usr / local / aws / bin / pip install -- no - cache - dir -- no - index -- find - links file : ///Users/crunchify/Documents/ansible/awscli-bundle/packages/setup setuptools_scm-1.15.7.tar.gz Running cmd : / usr / local / aws / bin / pip install -- no - cache - dir -- no - index -- find - links file : ///Users/crunchify/Documents/ansible/awscli-bundle/packages awscli-1.16.155.tar.gz Symlink already exists : / usr / local / bin / aws Removing symlink . You can now run : / usr / local / bin / aws -- version |
步骤 5。
核实。 如何检查 Amazon CLI 是否安装成功?
1 2 |
bash - 3.2 $ aws -- version aws - cli / 1.16.155 Python / 2.7.10 Darwin / 18.5.0 botocore / 1.12.145 |
而已。 你都准备好了。 Amazon CLI is successfully installed now
。
设置亚马逊 AWS 控制台和 AWS CLI:
- 转到:
https://console.aws.amazon.com/iam/home?#/users
://console.aws.amazon.com/iam/home?#/users - 创建用户

设置权限

下载 Amazon AWS 访问密钥 ID、秘密访问密钥

只需键入aws configure
命令。 输入您的亚马逊访问密钥 ID 和秘密访问密钥。
1 2 3 4 5 |
bash - 3.2 $ aws configure AWS Access Key ID [ **************** QTOR ] : AWS Secret Access Key [ **************** 4taa ] : Default region name [ us - east - 2 ] : Default output format [ json ] : |
你都准备好了。 您已成功设置 Amazon AWS CLI。
运行您的第一个 Amazon AWS CLI 命令:

正如您在上面看到的,我确实有one Amazon EC2 instance
启动并运行,使用describe-instances
命令获取有关实例的所有详细信息。
bash-3.2$ aws ec2 describe-instances
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
{ "Reservations" : [ { "Instances" : [ { "Monitoring" : { "State" : "disabled" } , "PublicDnsName" : "" , "StateReason" : { "Message" : "Client.UserInitiatedShutdown: User initiated shutdown" , "Code" : "Client.UserInitiatedShutdown" } , "State" : { "Code" : 48 , "Name" : "terminated" } , "EbsOptimized" : false , "LaunchTime" : "2019-05-09T12:33:20.000Z" , "ProductCodes" : [ ] , "CpuOptions" : { "CoreCount" : 1 , "ThreadsPerCore" : 1 } , "StateTransitionReason" : "User initiated (2019-05-10 15:33:23 GMT)" , "InstanceId" : "i-02f2a6661658d3ef2" , "EnaSupport" : true , "ImageId" : "ami-06088b0de148c2bac" , "PrivateDnsName" : "" , "KeyName" : "crunchify" , "SecurityGroups" : [ ] , "ClientToken" : "" , "InstanceType" : "t2.micro" , "CapacityReservationSpecification" : { "CapacityReservationPreference" : "open" } , "NetworkInterfaces" : [ ] , "Placement" : { "Tenancy" : "default" , "GroupName" : "" , "AvailabilityZone" : "us-east-2a" } , "Hypervisor" : "xen" , "BlockDeviceMappings" : [ ] , "Architecture" : "x86_64" , "RootDeviceType" : "ebs" , "RootDeviceName" : "/dev/sda1" , "VirtualizationType" : "hvm" , "Tags" : [ { "Value" : "worker" , "Key" : "Name" } ] , "HibernationOptions" : { "Configured" : false } , "AmiLaunchIndex" : 0 } , { "Monitoring" : { "State" : "disabled" } , "PublicDnsName" : "ec2-18-188-240-188.us-east-2.compute.amazonaws.com" , "State" : { "Code" : 16 , "Name" : "running" } , "EbsOptimized" : false , "LaunchTime" : "2019-05-09T12:33:20.000Z" , "PublicIpAddress" : "18.188.240.188" , "PrivateIpAddress" : "172.31.1.223" , "ProductCodes" : [ ] , "VpcId" : "vpc-8b4655e3" , "CpuOptions" : { "CoreCount" : 1 , "ThreadsPerCore" : 1 } , "StateTransitionReason" : "" , "InstanceId" : "i-0e19bc4bb04173c6a" , "EnaSupport" : true , "ImageId" : "ami-06088b0de148c2bac" , "PrivateDnsName" : "ip-172-31-1-223.us-east-2.compute.internal" , "KeyName" : "crunchify" , "SecurityGroups" : [ { "GroupName" : "launch-wizard-4" , "GroupId" : "sg-06bd2ee5d14e38797" } ] , "ClientToken" : "" , "SubnetId" : "subnet-c2447faa" , "InstanceType" : "t2.micro" , "CapacityReservationSpecification" : { "CapacityReservationPreference" : "open" } , "NetworkInterfaces" : [ { "Status" : "in-use" , "MacAddress" : "02:e4:a8:93:ad:56" , "SourceDestCheck" : true , "VpcId" : "vpc-8b4655e3" , "Description" : "" , "NetworkInterfaceId" : "eni-0b57a08339236e849" , "PrivateIpAddresses" : [ { "PrivateDnsName" : "ip-172-31-1-223.us-east-2.compute.internal" , "PrivateIpAddress" : "172.31.1.223" , "Primary" : true , "Association" : { "PublicIp" : "18.188.240.188" , "PublicDnsName" : "ec2-18-188-240-188.us-east-2.compute.amazonaws.com" , "IpOwnerId" : "amazon" } } ] , "PrivateDnsName" : "ip-172-31-1-223.us-east-2.compute.internal" , "InterfaceType" : "interface" , "Attachment" : { "Status" : "attached" , "DeviceIndex" : 0 , "DeleteOnTermination" : true , "AttachmentId" : "eni-attach-06cb447cd085d5818" , "AttachTime" : "2019-05-09T12:33:20.000Z" } , "Groups" : [ { "GroupName" : "launch-wizard-4" , "GroupId" : "sg-06bd2ee5d14e38797" } ] , "Ipv6Addresses" : [ ] , "OwnerId" : "600038600370" , "PrivateIpAddress" : "172.31.1.223" , "SubnetId" : "subnet-c2447faa" , "Association" : { "PublicIp" : "18.188.240.188" , "PublicDnsName" : "ec2-18-188-240-188.us-east-2.compute.amazonaws.com" , "IpOwnerId" : "amazon" } } ] , "SourceDestCheck" : true , "Placement" : { "Tenancy" : "default" , "GroupName" : "" , "AvailabilityZone" : "us-east-2a" } , "Hypervisor" : "xen" , "BlockDeviceMappings" : [ { "DeviceName" : "/dev/sda1" , "Ebs" : { "Status" : "attached" , "DeleteOnTermination" : true , "VolumeId" : "vol-077e7eb58ca59daea" , "AttachTime" : "2019-05-09T12:33:20.000Z" } } ] , "Architecture" : "x86_64" , "RootDeviceType" : "ebs" , "RootDeviceName" : "/dev/sda1" , "VirtualizationType" : "hvm" , "Tags" : [ { "Value" : "Crunchify" , "Key" : "Name" } ] , "HibernationOptions" : { "Configured" : false } , "AmiLaunchIndex" : 1 } ] , "ReservationId" : "r-00163c475d0a29a3d" , "Groups" : [ ] , "OwnerId" : "600038600370" } ] } |
就是这样。 你都准备好了。 您已成功执行以下所有任务:

- 安装亚马逊 AWS CLI
- 设置亚马逊 AWS CLI
- 执行你的第一个命令并得到结果
如果您在运行 AWS AWS CLI 命令时遇到任何问题,请告诉我。