本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 中的 bash 指令碼變更 Amazon EC2執行個體類型 AWS CLI
此 Amazon 的 bash 指令碼範例會使用 AWS Command Line Interface () EC2變更 Amazon 執行個體的EC2執行個體類型AWS CLI。如果執行個體正在執行,它會停止執行個體,變更執行個體類型,然後在要求時重新啟動執行個體。Shell 指令碼是專為在命令列界面中執行而設計的程式。
注意
如需其他命令範例,請參閱AWS CLI 參考指南
開始之前
在可以執行下列任何範例之前,您必須先完成下列事項。
安裝及設定 AWS CLI。如需詳細資訊,請參閱 安裝或更新至最新版本的 AWS CLI 和 的身分驗證和存取憑證 AWS CLI。
-
您使用的設定檔必須具有許可,允許範例執行 AWS 的操作。
-
帳戶中執行的 Amazon EC2執行個體,您擁有停止和修改的許可。如果您執行測試指令碼,它會為您啟動執行個體,測試變更類型,然後終止執行個體。
-
AWS 最佳實務是授予此程式碼的最低權限,或僅授予執行任務所需的許可。如需詳細資訊,請參閱 AWS Identity and Access Management (IAM) 使用者指南 中的授予最低權限。
-
此程式碼尚未在所有 AWS 區域中進行測試。部分 AWS 服務僅適用於特定 區域。如需詳細資訊,請參閱《AWS 一般參考指南》中的服務端點和配額。
-
執行此程式碼可能會對 AWS 您的帳戶產生費用。您有責任確保在使用完該指令碼建立的所有資源後將這些資源移除。
關於此範例
這個範例被寫成 Shell 指令碼檔案 change_ec2_instance_type.sh
中的一個函數,您可以從另一個指令碼或從命令列中 source
。每個指令碼檔案包含描述每個函數的註釋。待函數儲存到記憶體中,您就可以從命令列呼叫它。例如,下列命令會將指定執行個體的類型變更為 t2.nano
:
$
source ./change_ec2_instance_type.sh
$
./change_ec2_instance_type -i *instance-id* -t new-type
如需完整範例和可下載的指令碼檔案,請參閱 上的AWS 程式碼範例儲存庫中的變更 Amazon EC2執行個體類型
參數
-i – (字串) 指定要修改的執行個體 ID。
-t - (字串) 指定要切換的 Amazon EC2執行個體類型。
-r – (切換) 依預設,此為取消設定。如果設定為 -r
,則在類型切換之後重新啟動執行個體。
-f – (切換) 依預設,指令碼會在進行切換之前提示使用者確認關閉執行個體。如果設定為 -f
,函數不會在關閉執行個體進行類型切換之前提示使用者
-v – (切換) 依預設,指令碼會以無提示的方式操作,只會在發生錯誤時顯示輸出。如果設定為 -v
,函數會在整個操作期間顯示狀態。
檔案
change_ec2_instance_type.sh
-
主指令碼檔案包含執行下列任務的
change_ec2_instance_type()
函數:-
驗證指定的 Amazon EC2執行個體是否存在。
-
除非選取
-f
,否則會在停止執行個體之前警告使用者。 -
變更執行個體類型
-
如果設定了
-r
,重新啟動執行個體並確認執行個體正在執行
在
change_ec2_instance_type.sh
上檢視 的程式碼GitHub。 -
test_change_ec2_instance_type.sh
-
檔案
test_change_ec2_instance_type.sh
指令碼會為change_ec2_instance_type
函數測試各種程式碼路徑。如果測試指令碼中的所有步驟都能正常運作,測試指令碼會移除它所建立的所有資源。您可以使用下列參數來執行測試指令碼:
-
-v - (開關) 每個測試會顯示pass/failure status as they run. By default, the tests runs silently and the output includes only the final overall pass/failure狀態。
-
-i – (切換) 指令碼會在每次測試後暫停,讓您能夠瀏覽每個步驟的中繼結果。可讓您使用 Amazon EC2主控台檢查執行個體的目前狀態。在提示ENTER中按 後,指令碼會繼續進行下一個步驟。
在
test_change_ec2_instance_type.sh
上檢視 的程式碼GitHub。 -
awsdocs_general.sh
-
指令碼檔案
awsdocs_general.sh
會保存在各個 AWS CLI進階範例中使用的一般用途函數。在
awsdocs_general.sh
上檢視 的程式碼GitHub。
參考
AWS CLI 參考:
其他參考:
-
若要檢視和貢獻 AWS SDK和 AWS CLI 程式碼範例,請參閱 上的AWS 程式碼範例儲存庫
GitHub。