本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 中啟動、列出和關閉 Amazon EC2執行個體 AWS CLI
您可以使用 AWS Command Line Interface (AWS CLI) 來啟動、列出和終止 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。如果您啟動不在 AWS 免費方案內的執行個體,則會在啟動執行個體之後向您收取費用,並在執行個體執行時收取費用,即使執行個體保持閒置狀態。
注意
如需其他命令範例,請參閱 AWS CLI 參考指南
必要條件
若要在此主題中執行 ec2
命令,您需要:
安裝及設定 AWS CLI。如需詳細資訊,請參閱 安裝或更新至最新版本的 AWS CLI 和 的身分驗證和存取憑證 AWS CLI。
-
設定您的IAM許可以允許 Amazon EC2存取。如需 Amazon IAM許可的詳細資訊EC2,請參閱 IAMAmazon 使用者指南 中的 Amazon 政策EC2。 EC2
-
選取 Amazon Machine Image (AMI) 並記下 AMI ID。如需詳細資訊,請參閱 Amazon EC2使用者指南 中的尋找合適的 AMI 。
啟動您的執行個體
若要使用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-nameMyKeyPair
--security-group-idssg-903004f8
--subnet-idsubnet-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\":\"\"}]"
如需詳細資訊,請參閱 Amazon EC2使用者指南 中的封鎖裝置映射。
新增標籤至您的執行個體
標籤是您指派給 AWS 資源的標籤。它可讓您新增中繼資料到您的資源,以供您用於各種用途。如需詳細資訊,請參閱 Amazon EC2使用者指南 中的標記您的資源。
以下範例顯示說明如何使用 aws ec2
create-tags
命令,將金鑰名稱為「Name
」和金鑰值為「MyInstance
」的標籤新增至指定的執行個體。
$
aws ec2 create-tags --resources
i-5203422c
--tags Key=Name
,Value=MyInstance
連接至您的執行個體
執行個體正在執行時,您可以與其連結並加以使用,如同操作面前的電腦一般。如需詳細資訊,請參閱 Amazon 使用者指南 中的連線至您的 Amazon EC2執行個體。 EC2
列出您的執行個體
您可以使用 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-x0123456
、 ami-y0123456
和 ami-z0123456
。
$
aws ec2 describe-instances --filters "Name=image-id,Values=
ami-x0123456
,ami-y0123456
,ami-z0123456
"
終止您的執行個體
終止執行個體會將其刪除。終止執行個體後,您將無法重新連接至該執行個體。
執行個體的狀態變更為 shutting-down
或 terminated
時刻起,該執行個體便停止收取費用。如果您希望稍後重新連接執行個體,請使用 stop-instances 而不是 terminate-instances
。如需詳細資訊,請參閱 Amazon EC2使用者指南 中的終止執行個體。
若要刪除執行個體,請使用命令 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" } } ] }
參考
AWS CLI 參考:
其他參考:
-
若要檢視和貢獻 AWS SDK和 AWS CLI 程式碼範例,請參閱 上的AWS 程式碼範例儲存庫
GitHub。