View a markdown version of this page

為 CodeDeploy (AWS CLI 或 Amazon EC2 主控台) 建立 Amazon EC2 執行個體 - AWS CodeDeploy

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為 CodeDeploy (AWS CLI 或 Amazon EC2 主控台) 建立 Amazon EC2 執行個體

這些指示說明如何啟動已設定為在 CodeDeploy 部署中使用的新 Amazon EC2 執行個體。

您可以使用我們的 CloudFormation 範本啟動執行 Amazon Linux 或 Windows Server 的 Amazon EC2 執行個體,該執行個體已設定為在 CodeDeploy 部署中使用。我們不會為執行 Ubuntu Server 或 Red Hat Enterprise Linux (RHEL) 的 Amazon EC2 執行個體提供 CloudFormation 範本。如需使用範本之替代方案的詳細資訊,請參閱使用 CodeDeploy 的執行個體

您可以使用 Amazon EC2 主控台 AWS CLI或 Amazon EC2 APIs 來啟動 Amazon EC2 執行個體。

啟動 Amazon EC2 執行個體 (主控台)

先決條件

如果您尚未這麼做,請遵循 中的指示CodeDeploy 入門來設定 並 AWS CLI 建立 IAM 執行個體描述檔。

啟動 Amazon EC2 執行個體

  1. 登入 AWS 管理主控台 ,並在 https://console.aws.amazon.com/ec2/:// 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體),然後選擇 Launch Instance (啟動執行個體)

  3. Step 1: Choose an Amazon Machine Image (AMI) (步驟 1:選擇 Amazon Machine Image (AMI)) 頁面上,從 Quick Start (快速入門) 標籤中找出您想要使用的作業系統和版本,然後選擇 Select (選取)。您必須選擇 CodeDeploy 支援的 Amazon EC2 AMI 作業系統。如需詳細資訊,請參閱CodeDeploy 代理程式支援的作業系統

  4. 步驟 2:選擇執行個體類型頁面上,選擇任何可用的 Amazon EC2 執行個體類型,然後選擇下一步:設定執行個體詳細資訊

  5. 步驟 3:設定執行個體詳細資訊頁面的 IAM 角色清單中,選擇您在 中建立的 IAM 執行個體角色步驟 4:為您的 Amazon EC2 執行個體建立 IAM 執行個體描述檔。如果您已使用建議的角色名稱,則選擇 CodeDeployDemo-EC2-Instance-Profile。如果您已建立自己的角色名稱,則請選取該名稱。

    注意

    如果網路清單中未顯示預設虛擬私有雲端 (VPC),您必須選擇或建立 Amazon VPC 和子網路。選擇 Create new VPC (建立新 VPC)Create new subnet (建立新的子網路),或兩者皆選。如需詳細資訊,請參閱您的 VPC 和子網路

  6. 選擇 Next: Add Storage (下一步:新增儲存體)

  7. Step 4: Add Storage (步驟 4:新增儲存) 頁面保持不變,然後選擇 Next: Add Tags (下一步:新增標籤)

  8. Step 5: Add Tags (步驟 5:新增標籤) 頁面上,選擇 Add Tag (新增標籤)

  9. Key (金鑰) 方塊中,輸入 Name。在 Value (值) 方塊中,輸入 CodeDeployDemo

    重要

    Key (金鑰)Value (值) 方塊的內容區分大小寫。

  10. 選擇 Next: Configure Security Group (下一步:設定安全群組)

  11. Step 6: Configure Security Group (步驟 6:設定安全群組) 頁面上,選取 Create a new security group (建立新的安全群組) 選項。

    針對執行 Amazon Linux、Ubuntu Server 或 RHEL 的 Amazon EC2 執行個體設定預設 SSH 角色。針對執行 Windows Server 的 Amazon EC2 執行個體設定預設 RDP 角色。

  12. 如果您想要開啟 HTTP 連接埠,請選擇 Add Rule (新增規則) 按鈕,然後從 Type (類型) 下拉式清單中選擇 HTTP。接受預設 Source (來源)Custom 0.0.0.0/0,然後選擇 Review and Launch (檢閱並啟動)

    注意

    在生產環境中,我們建議限制對 SSH、RDP 和 HTTP 連接埠的存取,而不是指定 Anywhere 0.0.0.0/0。CodeDeploy 不需要不受限制的連接埠存取,也不需要 HTTP 存取。如需詳細資訊,請參閱保護 Amazon EC2 執行個體安全的秘訣

    如果出現 Boot from General Purpose (SSD) (以一般用途 (SSD) 開機) 對話方塊,則請遵循說明,然後選擇 Next (下一步)

  13. Step 7: Review Instance Launch (步驟 7:檢閱執行個體啟動) 頁面保持不變,然後選擇 Launch (啟動)

  14. Select an existing key pair or create a new key pair (選取現有金鑰對或建立新的金鑰對) 對話方塊中,選擇 Choose an existing key pair (選擇現有的金鑰對)Create a new key pair (建立新的金鑰對)。若您已經設定 Amazon EC2 執行個體金鑰對,則可以在這裡選擇它。

    如果您還沒有 Amazon EC2 執行個體金鑰對,則請選擇 Create a new key pair (建立新的金鑰對),然後給予可輕鬆辨識的名稱。選擇下載金鑰對,將 Amazon EC2 執行個體金鑰對下載至您的電腦。

    重要

    如果您想要使用 SSH 或 RDP 存取 Amazon EC2 執行個體,您必須擁有金鑰對。

  15. 選擇 Launch Instances (啟動執行個體)。

  16. 選擇 Amazon EC2 執行個體的 ID。在啟動執行個體並通過所有檢查之前,請不要繼續進行。

安裝 CodeDeploy 代理程式

CodeDeploy 代理程式必須先安裝在 Amazon EC2 執行個體上,才能在 CodeDeploy 部署中使用它。如需詳細資訊,請參閱安裝 CodeDeploy 代理程式

注意

您可以在主控台中建立部署群組時,設定 CodeDeploy 代理程式的自動安裝和更新。

啟動 Amazon EC2 執行個體 (CLI)

先決條件

如果您尚未這麼做,請遵循 中的指示CodeDeploy 入門來設定 並 AWS CLI 建立 IAM 執行個體描述檔。

啟動 Amazon EC2 執行個體

  1. 僅適用於 Windows Server 如果您正在建立執行 Windows Server 的 Amazon EC2 執行個體,請呼叫 create-security-groupauthorize-security-group-ingress命令來建立安全群組,以允許 RDP 存取 (預設為不允許) 和 HTTP 存取。例如,若要建立名為 CodeDeployDemo-Windows-Security-Group 的安全群組,請執行下列命令,一次一個:

    aws ec2 create-security-group --group-name CodeDeployDemo-Windows-Security-Group --description "For launching Windows Server images for use with CodeDeploy"
    aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 3389 --ip-protocol tcp --cidr-ip 0.0.0.0/0 --from-port 3389
    aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 80 --ip-protocol tcp --cidr-ip 0.0.0.0/0 --from-port 80
    注意

    基於示範,這些命令會建立安全群組,以允許透過連接埠 3389 無限制地存取 RDP,或透過連接埠 80 無限制地存取 HTTP。最佳實務是建議限制對 RDP 和 HTTP 連接埠的存取。CodeDeploy 不需要不受限制的連接埠存取,也不需要 HTTP 存取。如需詳細資訊,請參閱保護 Amazon EC2 執行個體安全的秘訣

  2. 呼叫 run-instances命令來建立和啟動 Amazon EC2 執行個體。

    在您呼叫此命令之前,需要收集下列資訊:

    • 您用於執行個體的 Amazon Machine Image (AMI) ID (ami-id)。若要取得 ID,請參閱尋找合適的 AMI

    • 您建立的 Amazon EC2 執行個體類型名稱 (instance-type),例如 t1.micro。如需清單,請參閱 Amazon EC2 執行個體類型

    • IAM 執行個體描述檔的名稱,具有存取 Amazon S3 儲存貯體的許可,該儲存貯體存放您區域的 CodeDeploy 代理程式安裝檔案。

      如需建立 IAM 執行個體描述檔的詳細資訊,請參閱 步驟 4:為您的 Amazon EC2 執行個體建立 IAM 執行個體描述檔

    • Amazon EC2 執行個體金鑰對 (key-name) 的名稱,可讓 SSH 存取執行 Amazon EC2 Linux、Ubuntu Server 或 RHEL 或 RDP 的 Amazon EC2 執行個體。

      重要

      只輸入金鑰對名稱,而非金鑰對副檔名。例如,my-keypair,而非 my-keypair.pem

      若要尋找金鑰對名稱,請開啟位於 https://https://console.aws.amazon.com/ec2 的 Amazon EC2 主控台。在導覽窗格中,於 Network & Security (網路與安全) 下選擇 Key Pairs (金鑰對),然後記下清單中的金鑰對。

      若要產生金鑰對,請參閱使用 Amazon EC2 建立金鑰對。請務必在 區域和端點中列出的其中一個區域中建立金鑰對AWS 一般參考。否則,您將無法搭配 CodeDeploy 使用 Amazon EC2 執行個體金鑰對。

    適用於 Amazon Linux、RHEL 和 Ubuntu Server

    若要呼叫 run-instances命令來啟動執行 Amazon Linux、Ubuntu Server 或 RHEL 的 Amazon EC2 執行個體,並連接您在 中建立的 IAM 執行個體描述檔步驟 4:為您的 Amazon EC2 執行個體建立 IAM 執行個體描述檔。例如:

    aws ec2 run-instances \ --image-id ami-id \ --key-name key-name \ --count 1 \ --instance-type instance-type \ --iam-instance-profile Name=iam-instance-profile
    注意

    此命令會為 Amazon EC2 執行個體建立預設安全群組,允許存取多個連接埠,包括透過連接埠 22 進行無限制的 SSH 存取,或者透過連接埠 80 進行 HTTP 存取。最佳實務是,我們建議僅限制對 SSH 和 HTTP 連接埠的存取。CodeDeploy 不需要不受限制的連接埠存取,也不需要 HTTP 連接埠存取。如需詳細資訊,請參閱保護 Amazon EC2 執行個體安全的秘訣

    對於 Windows Server

    若要呼叫 run-instances命令來啟動執行 Windows Server 的 Amazon EC2 執行個體,並連接您在 中建立的 IAM 執行個體描述檔步驟 4:為您的 Amazon EC2 執行個體建立 IAM 執行個體描述檔,並指定您在步驟 1 中建立的安全群組名稱。例如:

    aws ec2 run-instances --image-id ami-id --key-name key-name --count 1 --instance-type instance-type --iam-instance-profile Name=iam-instance-profile --security-groups CodeDeploy-Windows-Security-Group

    這些命令會使用指定的 AMI、金鑰對和執行個體類型啟動單一 Amazon EC2 執行個體,並使用指定的 IAM 執行個體描述檔,並在啟動期間執行指定的指令碼。

  3. 請記下輸出中的 InstanceID 值。如果您忘記此值,稍後可以透過對 Amazon EC2 執行個體金鑰對呼叫 describe-instances命令來取得。

    aws ec2 describe-instances --filters "Name=key-name,Values=keyName" --query "Reservations[*].Instances[*].[InstanceId]" --output text

    使用執行個體 ID 呼叫 create-tags命令,該命令會標記 Amazon EC2 執行個體,以便 CodeDeploy 稍後可以在部署期間找到它。在下列範例中,標籤名為 CodeDeployDemo,但您可以指定任何您想要的 Amazon EC2 執行個體標籤。

    aws ec2 create-tags --resources instance-id --tags Key=Name,Value=CodeDeployDemo

    您可以同時將多個標籤套用至執行個體。例如:

    aws ec2 create-tags --resources instance-id --tags Key=Name,Value=testInstance Key=Region,Value=West Key=Environment,Value=Beta

    若要確認 Amazon EC2 執行個體已啟動並通過所有檢查,請使用執行個體 ID 呼叫 describe-instance-status命令。

    aws ec2 describe-instance-status --instance-ids instance-id --query "InstanceStatuses[*].InstanceStatus.[Status]" --output text

如果執行個體已啟動並通過所有檢查,則 ok 會出現在輸出中。

安裝 CodeDeploy 代理程式

CodeDeploy 代理程式必須先安裝在 Amazon EC2 執行個體上,才能在 CodeDeploy 部署中使用它。如需詳細資訊,請參閱安裝 CodeDeploy 代理程式

注意

您可以在主控台中建立部署群組時,設定 CodeDeploy 代理程式的自動安裝和更新。