為 CodeDeploy (AWS CLI 或 Amazon EC2 控制台)創建一個 Amazon EC2 實例 - AWS CodeDeploy

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

為 CodeDeploy (AWS CLI 或 Amazon EC2 控制台)創建一個 Amazon EC2 實例

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

您可以使用我們的 AWS CloudFormation 範本來啟動執行已設定用於 CodeDeploy 部署的亞馬 Amazon EC2 執行個體,或執行 Amazon Linux 或 Windows 伺服器。我們不會為執行 Ubuntu 伺服器或 RHEL (RHEL) 的 Amazon EC2 執行個體提供 AWS CloudFormation 範本。如需使用範本之替代方案的詳細資訊,請參閱使用的例證 CodeDeploy

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

啟動亞 Amazon EC2 實例(控制台)

必要條件

如果您尚未這樣做,請按照中的說明設入門 CodeDeploy定和設定 AWS CLI 和建立 IAM 執行個體設定檔。

啟動 Amazon EC2 執行個體

  1. 登入 AWS Management Console 並開啟 Amazon EC2 主控台,網址為 https://console.aws.amazon.com/ec2/

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

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

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

  5. 步驟 3:設定執行個體詳細資訊頁面的 IAM 角色清單中,選擇您在其中建立的 IAM 執行個體角色步驟 4:為您的 Amazon IAM執行個體建立EC2執行個體設定檔。如果您已使用建議的角色名稱,則選擇 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 伺服器或 RHEL 的亞馬 Amazon EC2 執行個體設定了預設安全殼層角色。為執行 Windows 伺服器的 Amazon EC2 執行個體設定了預設 RDP 角色。

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

    注意

    在生產環境中,我們建議您限制對 SSH、RDP 和 HTTP 連接埠的存取,而不是指定任何位置 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 (建立新的金鑰對),然後給予可輕鬆辨識的名稱。選擇下載 key pair,將 Amazon EC2 執行個體金鑰配對下載到您的電腦。

    重要

    如果您想要使用安全殼層或 RDP 存取 Amazon EC2 執行個體,則必須擁有 key pair。

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

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

安裝 CodeDeploy 代理程式

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

注意

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

啟動亞 Amazon EC2 執行個體 (CLI)

必要條件

如果您尚未這樣做,請按照中的說明設入門 CodeDeploy定和設定 AWS CLI 和建立 IAM 執行個體設定檔。

啟動 Amazon EC2 執行個體

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

    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 執行個體類型 (執行個體類型) 的名稱,例如。t1.micro如需清單,請參閱 Amazon EC2 執行個體類型

    • 具有存取區域 CodeDeploy 代理程式安裝檔案之 Amazon S3 儲存貯體權限的 IAM 執行個體設定檔名稱。

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

    • Amazon EC2 執行個體 key pair (金鑰名稱) 的名稱,可讓您透過 SSH 存取執行 Amazon EC2 馬遜 Linux、Ubuntu 伺服器、RHEL 或 RDP 存取執行個體執行 Windows 伺服器的 Amazon EC2 執行個體。

      重要

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

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

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

    適用於 Amazon Linux、RHEL 和 Ubuntu 伺服器

    呼叫run-instances命令以啟動執行 Amazon Linux、Ubuntu 伺服器或 RHEL 的亞馬遜 EC2 執行個體,並附加您在其中步驟 4:為您的 Amazon IAM執行個體建立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 執行個體的秘訣

    視窗伺服器

    呼叫run-instances命令以啟動執行 Windows Server 的 Amazon EC2 執行個體,並附加您在其中建立的 IAM 執行個體設定檔步驟 4:為您的 Amazon IAM執行個體建立EC2執行個體設定檔,並指定您在步驟 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

    這些命令會使用指定的 IAM 執行個體設定檔啟動具有指定 AMI、key pair 和執行個體類型的單一 Amazon EC2 執行個體,並在啟動期間執行指定的指令碼。

  3. 請記下輸出中的 InstanceID 值。如果忘記此值,稍後可以透過針對 Amazon EC2 執行個體 key pair 呼叫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部署中使用 CodeDeploy 代理程式之前,必須先在 Amazon EC2 執行個體上安裝代理程式。如需詳細資訊,請參閱 安裝 CodeDeploy 代理程式

注意

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