AWS CLI是亚马逊云科技推出的命令行工具,用于创建和管理AWS资源,仅需最少量配置,就可以执行与浏览器式AWS管理控制台提供的功能相当的命令。本文将详细介绍如何使用AWS CLI启动、列出和终止亚马逊云服务器Amazon EC2实例。
亚马逊云服务器免费一年申请入口:亚马逊云科技官网
亚马逊云服务器(Amazon EC2)能够在云端提供安全且可伸缩的计算资源,其简化的Web服务接口确保了快速获取和配置所需资源,新的服务器实例在几分钟内便可启动,还装备了开发者所需的工具,以构建具备故障恢复力的应用程序,并处理常见的故障问题。另外亚马逊云服务器采用基于实际使用量的计费模式,进一步优化了成本。
一、安装或更新最新版本的AWS CLI
1、Linux系统(1)安装与更新要求
在安装或更新 AWS CLI 之前,请确保系统能够提取或解压缩下载的程序包。如果操作系统没有内置的 “unzip” 命令,请使用等效命令。
AWS CLI 需要支持 “glibc”、”groff” 和 “less”。默认情况下,这些工具在大多数主要的 Linux 发行版中均包含。我们支持的操作系统包括 CentOS、Fedora、Ubuntu、Amazon Linux 1、Amazon Linux 2、Amazon Linux 2023 以及所有最新版本的 64 位 Linux 系统,支持 ARM 架构。
请注意,AWS 并不维护第三方存储库,因此无法保证这些存储库中的 AWS CLI 是最新版本。
(2)安装或更新AWS CLI
如果首次在 Amazon Linux 上进行更新以安装最新版本的 AWS CLI,请确保首先卸载预安装的版本,使用以下命令:
$ sudo yum remove awscli
卸载 “yum” 安装后,请按照以下说明进行 AWS CLI 的 Linux 安装。
要更新当前安装的 AWS CLI,请下载新的安装程序以覆盖之前的版本。
Linux x86 (64-bit):
要安装 AWS CLI,请运行以下命令:
$ curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
$ unzip awscliv2.zip
$ sudo ./aws/install
要更新当前安装的 AWS CLI,使用以下命令添加现有符号链接和安装程序信息:
$ curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
$ unzip awscliv2.zip
$ sudo ./aws/install –bin-dir /usr/local/bin –install-dir /usr/local/aws-cli –update
Linux ARM:
要安装 AWS CLI,请运行以下命令。
$ curl “https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip” -o “awscliv2.zip”
unzip awscliv2.zip
sudo ./aws/install
要更新 AWS CLI的当前安装,请添加现有的符号链接和安装程序信息,以使用 –bin-dir、–install-dir 和 –update 参数构造 install 命令。以下命令块使用以下符号链接示例 /usr/local/bin 以及安装程序位置的示例 /usr/local/aws-cli.
2、Windows系统$ curl “https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip” -o “awscliv2.zip”
unzip awscliv2.zip
sudo ./aws/install –bin-dir /usr/local/bin –install-dir /usr/local/aw
(1)安装和更新要求
- AWS支持微软支持 AWS CLI 的 64 位 Windows 版本;
- 安装软件的管理员权限。
(2)安装或更新AWS CLI
要 AWS CLI 在 Windows 上更新当前安装的,请在每次更新时下载一个新的安装程序以覆盖以前的版本。 AWS CLI 会定期更新。
下载并运行适用于 Windows(64 位)的 AWS CLI MSI安装程序:
https://awscli.amazonaws.com/ AWSCLIV2 .msi
或者,可以运行msiexec命令来运行MSI安装程序。
C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
可与 msiexec 一起使用的各种参数,例如可以使用 /qn 标记进行静默安装。
C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi /qn
要确认安装,请打开 Start(开始)菜单,搜索 cmd 以打开命令提示符窗口,然后在命令提示符处使用 aws –version 命令。
C:\> aws –version
aws-cli/2.15.30 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
如果 Windows 无法找到该程序,可能需要关闭并重新打开命令提示符窗口以刷新该路径,按照解决 AWS CLI 错误中的说明排除故障。
二、 AWS CLI启动亚马逊云服务器实例要使用AMI选择的启动亚马逊云服务器 Amazon EC2 实例,请使用aws ec2 run-instances命令。可以将实例启动到虚拟私有云中 (VPC)。
最初,实例显示为 pending 状态,但在几分钟后将更改为 running 状态。
以下示例说明如何在的指定子网中启动t2.micro实例VPC。更换 italicized 使用自己的参数值。
三、向实例添加块储存设备$ aws ec2 run-instances –image-id ami-xxxxxxxx –count 1 –instance-type t2.micro –key-name MyKeyPair –security-group-ids sg-903004f8 –subnet-id subnet-6e7f829e
{
“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
}
]
}
每个启动的实例都具有关联的根设备卷。可以使用块储存设备映射来指定其他 Amazon Elastic Block Store (Amazon EBS) 卷或实例存储卷,以便在实例启动时连接到该实例。
要向实例添加块储存设备,请在使用 run-instances 时指定 –block-device-mappings 选项。
以下示例参数预置了一个大小为 20 GB 的标准 Amazon EBS 卷,并使用标识符将其映射到实例/dev/sdf。
–block-device-mappings “[{\”DeviceName\”:\”/dev/sdf\”,\”Ebs\”:{\”VolumeSize\”:20,\”DeleteOnTermination\”:false}}]”
以下示例根据现有快照添加映射到/dev/sdf的 Amazon EBS 卷。快照表示加载到卷的镜像。指定快照时,无需指定卷大小;它的大小足够容纳镜像。但是,如果确定指定大小,则大小必须大于或等于快照的大小。
–block-device-mappings “[{\”DeviceName\”:\”/dev/sdf\”,\”Ebs\”:{\”SnapshotId\”:\”snap-a1b2c3d4\”}}]”
以下示例向实例添加两个卷。可用于实例的卷的数目取决于其实例类型。
–block-device-mappings “[{\”DeviceName\”:\”/dev/sdf\”,\”VirtualName\”:\”ephemeral0\”},{\”DeviceName\”:\”/dev/sdg\”,\”VirtualName\”:\”ephemeral1\”}]”
以下示例创建映射 (/dev/sdj),但未为实例预配置卷。
四、向亚马逊云服务器实例添加标签–block-device-mappings “[{\”DeviceName\”:\”/dev/sdj\”,\”NoDevice\”:\”\”}]”
标签是分配给 AWS 资源的标签。它允许向可用于各种目的的资源添加元数据。以下示例显示如何使用 aws ec2 create-tags 命令,将带有密钥名称“Name”和值“MyInstance”的标签添加到指定的实例。
五、AWS CLI列出亚马逊云服务器实例$ aws ec2 create-tags –resources i-5203422c –tags Key=Name,Value=MyInstance
可以使用列 AWS CLI 出实例并查看有关它们的信息。可以列出所有实例,或根据感兴趣的实例对结果进行筛选。
以下示例演示了如何使用 aws ec2 describe-instances 命令。
$ aws ec2 describe-instances
以下命令将列表筛选到只仅限 t2.micro 实例,并仅为每个匹配项输出 InstanceId 值。
$ aws ec2 describe-instances –filters “Name=instance-type,Values=t2.micro” –query “Reservations[].Instances[].InstanceId”
[
“i-05e998023d9c69f9a”
]
以下命令列出具有标签 Name=MyInstance 的任何实例。
$ aws ec2 describe-instances –filters “Name=tag:Name,Values=MyInstance”
以下命令列出了使用以下任一方式启动的实例AMIs:ami-x0123456ami-y0123456、和ami-z0123456。
六、AWS CLI终止亚马逊云服务器实例$ aws ec2 describe-instances –filters “Name=image-id,Values=ami-x0123456,ami-y0123456,ami-z0123456”
终止实例将删除此实例。在终止亚马逊云服务器之后,将无法重新连接到此实例。
一旦实例的状态变为 shutting-down 或 terminated,即停止为该实例付费。如果希望稍后重新连接到实例,请使用 stop-instances,而不是 terminate-instances。
要删除实例,请使用命令 aws ec2 terminate-instances 以将其删除。
$ aws ec2 terminate-instances –instance-ids i-5203422c
{
“TerminatingInstances”: [
{
“InstanceId”: “i-5203422c”,
“CurrentState”: {
“Code”: 32,
“Name”: “shutting-down”
},
“PreviousState”: {
“Code”: 16,
“Name”: “running”
}
}
]
}
相关推荐:
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)
微信扫码加好友进群
主机优惠码及时掌握
QQ群号:707632017
主机优惠发布与交流