

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

# 啟動 Amazon ECS Linux 容器執行個體
<a name="launch_container_instance"></a>

您可以使用 Amazon EC2 主控台建立 Amazon ECS 容器執行個體。

您可以透過各種方法啟動執行個體 AWS CLI，包括 Amazon EC2 主控台和 SDK。如需有關啟動執行個體其他方法的資訊，請參閱 *Amazon EC2 User Guide* 中的 [Launch your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html)。

如需有關啟動精靈的詳細資訊，請參閱 *Amazon EC2 User Guide* 中的 [Launch an instance using the new launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)。

開始之前，請完成 [設定以使用 Amazon ECS。](get-set-up-for-amazon-ecs.md) 中的步驟。

您可以使用新的 Amazon EC2 精靈啟動執行個體。啟動執行個體精靈會指定啟動執行個體所需的所有啟動參數。

**Topics**
+ [

## 程序
](#linux-liw-initiate-instance-launch)
+ [

## 名稱和標籤
](#linux-liw-name-and-tags)
+ [

## 應用程式和作業系統映像 (Amazon Machine Image)
](#linux-liw-ami)
+ [

## 執行個體類型
](#linux-liw-instance-type)
+ [

## 金鑰對 （登入）
](#linux-liw-key-pair)
+ [

## 網路設定
](#linux-liw-network-settings)
+ [

## 設定儲存
](#linux-liw-storage)
+ [

## 進階詳細資訊
](#linux-liw-advanced-details)

## 程序
<a name="linux-liw-initiate-instance-launch"></a>

開始之前，請完成 [設定以使用 Amazon ECS。](get-set-up-for-amazon-ecs.md) 中的步驟。

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在畫面頂端的導覽列中，會顯示目前的 AWS 區域 （例如美國東部 （俄亥俄）)。選取要在其中啟動執行個體的區域。

1. 從 Amazon EC2 主控台儀表板選擇 **Launch Instance (啟動執行個體)**。

## 名稱和標籤
<a name="linux-liw-name-and-tags"></a>

執行個體名稱是一個標籤，其中鍵是 **Name** (名稱)，而值是您指定的名稱。您可以標記執行個體、磁碟區和彈性圖形。對於 Spot 執行個體，您只能標記 Spot 執行個體請求。

指定執行個體名稱和其他標籤是選用的。
+ 對於 **Name** (名稱)，輸入執行個體的描述性名稱。如果您未指定名稱，則可以透過其 ID 來標識執行個體，該 ID 將在您啟動執行個體時自動產生。
+ 若要新增其他標籤，請選擇 **Add additional tags** (新增其他標籤)。選取 **Add tag** (新增標籤)，然後輸入鍵和值，然後選取要標記的資源類型。為每個要新增的其他標籤重新選擇 **Add tag** (新增標籤)。

## 應用程式和作業系統映像 (Amazon Machine Image)
<a name="linux-liw-ami"></a>

Amazon Machine Image (AMI) 包含建立執行個體所需的資訊。例如，AMI 可能包含作為 Web 伺服器所必需的軟體，例如 Apache 和您的網站。

使用**搜尋**列尋找由 發佈的適當 Amazon ECS 最佳化 AMI AWS。

1. 在 **Search** (搜尋) 列中輸入以下其中一個詞語。
   + **ami-ecs**
   + Amazon ECS 最佳化 AMI 的 **Value** (值)。

     如需最新的 Amazon ECS 最佳化 AMI 及其值，請參閱《[Linux Amazon ECS 最佳化 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux)》。

1. 按 **Enter**。

1. 在 **Choose an Amazon Machine Image (AMI)** (選擇 Amazon Machine Image (AMI)) 頁面上，選取 **AWS Marketplace AMIs** 索引標籤。

1. 在左側的 **Refine results** (細化結果) 窗格中，選取 **Amazon Web Services** 作為 **Publisher** (發佈者)。

1. 在您要使用的 AMI 的列上選擇 **Select** (選取)。

   或者，選擇右上方的 **Cancel** (取消)，以返回啟動執行個體精靈，而不選擇 AMI。將會選取預設 AMI。確保 AMI 符合 [Amazon ECS 最佳化 Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 中概述的要求。

## 執行個體類型
<a name="linux-liw-instance-type"></a>

執行個體類型定義執行個體的硬體組態和大小。較大的執行個體類型具有較多的 CPU 和記憶體。如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的[執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)。如果您想要執行純 IPv6 工作負載，某些執行個體類型不支援 IPv6 位址。如需詳細資訊，請參閱《Amazon EC2 使用者指南》**中的 [IPv6 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#ipv6-addressing)。
+ 針對 **Instance type** (執行個體類型)，選取執行個體的執行個體類型。

   您選取的執行個體類型，會決定您任務執行所在的可用資源。

## 金鑰對 （登入）
<a name="linux-liw-key-pair"></a>

針對 **Key pair name** (金鑰對名稱)，選擇現有的金鑰對，或選擇 **Create new key pair** (建立新的金鑰對) 以建立新的金鑰對。

**重要**  
如果您選擇 **Proceed without key pair (Not recommended)** (繼續而不使用金鑰對 (不建議)) 選項，您將無法連線到執行個體，除非您選擇已設定為允許使用者透過其他方式登入的 AMI。

## 網路設定
<a name="linux-liw-network-settings"></a>

選擇表單的**網路設定**區段的**編輯**按鈕後，視需要設定網路設定。
+ 在 **VPC** 欄位中，選擇執行個體啟動所在的 VPC。若要執行純 IPv6 工作負載，請選擇同時包含 IPv4 與 IPv6 CIDR 區塊的雙堆疊 VPC。
+ 在**子網路**欄位中，請選擇要在其中啟動執行個體的子網路。您可以在與可用區域、Local Zone、Wavelength Zone 或 Outpost 相關聯的子網路中啟動執行個體。

  若要在可用區域中啟動執行個體，請選取要在當中啟動執行個體的子網路。若要建立新的子網路，請選擇**建立新的子網路**，前往 Amazon VPC 主控台。完成後，請返回啟動執行個體精靈並選擇「重新整理」圖示，載入清單中的子網路。

  在 Local Zone 中啟動執行個體，選取您在 Local Zone 中建立的子網路。

  若要在 Outpost 中啟動執行個體，請在與 Outpost 相關聯的 VPC 中選取子網路。

  若要執行純 IPv6 工作負載，請選擇僅包含 IPv6 CIDR 區塊的子網路。
+ **Auto-assign Public IP** (自動指派公有 IP)：如果您的執行個體應從網際網路存取，請確認 **Auto-assign Public IP** (自動指派公有 IP) 欄位設為 **Enable** (啟用)。如果不是，請將此欄位設為 **Disable** (停用)。
**注意**  
容器執行個體需要存取，才可以與 Amazon ECS 服務端點通訊。可透過介面 VPC 端點或透過具備公有 IP 位址的容器執行個體來實現。  
如需介面 VPC 端點的詳細資訊，請參閱 [Amazon ECS 介面 VPC 端點 (AWS PrivateLink)](vpc-endpoints.md)  
如果您沒有設定介面 VPC 端點，且容器執行個體沒有公有 IP 位址，則它們必須使用網路位址轉譯 (NAT) 來提供此存取。如需詳細資訊，請參閱《Amazon VPC 使用者指南》中的 [NAT 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)和本指南中的 [為 Amazon ECS Linux 容器執行個體使用 HTTP Proxy](http_proxy_config.md)。
+ 如果選擇雙堆疊 VPC 與純 IPv6 子網路，請在**自動指派 IPv6 IP** 欄位中選取**啟用**。
+ **Firewall (security groups)** (防火牆 (安全群組))：使用安全群組定義容器執行個體的防火牆規則。這些規則指定傳遞至容器執行個體的傳入網路流量。所有其他流量都會遭到忽略。
  + 若要選取現有的安全群組，請選擇 **Select existing security group** (選取現有安全群組)，然後從您在 [設定以使用 Amazon ECS。](get-set-up-for-amazon-ecs.md) 建立的安全群組選取您的安全群組。
+ 如果要為純 IPv6 工作負載啟動執行個體，請選擇**進階網路組態**，然後在**指派主要 IPv6 IP** 欄位中選擇**是**。
**注意**  
如果沒有主要 IPv6 位址，在容器執行個體上以主機或橋接網路模式執行的任務，將無法向負載平衡器或 AWS Cloud Map註冊。

## 設定儲存
<a name="linux-liw-storage"></a>

您選取的 AMI 包含一或多個儲存體磁碟區，包括根磁碟區。您可以指定要連接至執行個體的其他磁碟區。

您可以使用 **Simple** (簡單) 檢視。
+ **Storage type** (儲存類型)：為您的容器執行個體設定儲存。

  如果您使用的是 Amazon ECS 最佳化 Amazon Linux 2 AMI，則您的執行個體已設定單一 30 GiB 磁碟區 (在作業系統和 Docker 之間共用)。

  如果您使用的是 Amazon ECS 最佳化 AMI，則您的執行個體已設定兩個磁碟區。**Root** (根目錄) 磁碟區供作業系統使用，而第二個 Amazon EBS 磁碟區 (連接到 `/dev/xvdcz`) 則供 Docker 使用。

  您可以選擇性地增加或減少您執行個體的磁碟區大小，使其符合您的應用程式需求。

## 進階詳細資訊
<a name="linux-liw-advanced-details"></a>

針對 **Advanced Details (進階詳細資訊)**，展開此區段來檢視欄位，指定執行個體的其他參數。
+ **Purchasing option** (購買選項)：選擇 **Request Spot instances** (請求 Spot 執行個體) 以請求 Spot 執行個體。您也需要設定與 Spot 執行個體相關的其他欄位。如需詳細資訊，請參閱「[Spot 執行個體要求](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)」。
**注意**  
如果您使用的是 Spot 執行個體，而且看到 `Not available` 訊息，您可能需要選擇不同的執行個體類型。
+ **IAM instance profile** (IAM 執行個體設定檔)：選取您的容器執行個體 IAM 角色。這通常命名為 `ecsInstanceRole`。
**重要**  
如果您未使用適當的 IAM 許可啟動容器執行個體，Amazon ECS 代理程式就無法連線到叢集。如需詳細資訊，請參閱[Amazon ECS 容器執行個體 IAM 角色](instance_IAM_role.md)。
+ **使用者資料**：利用使用者資料設定您的 Amazon ECS 容器執行個體，例如 [Amazon ECS 容器代理程式組態](ecs-agent-config.md) 中的代理程式環境變數。Amazon EC2 使用者資料指令碼僅於執行個體初次啟動時執行一次。以下是使用者資料用途的常見範例：
  + 您的容器執行個體預設會在您的預設叢集中啟動。若要在非預設的叢集中啟動，請選擇 **Advanced Details** (進階詳細資訊) 清單。然後，將以下指令碼貼入 **User data** (使用者資料) 欄位，以您的叢集名稱取代 *your\$1cluster\$1name*。

    ```
    #!/bin/bash
    echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
    ```
  + 如果您在 Amazon S3 中有一個 `ecs.config` 檔案，並已為您的容器執行個體角色啟用 Amazon S3 唯讀存取，請選擇 **Advanced Details** (進階詳細資訊) 清單。然後，將下列指令碼貼到**使用者資料**欄位中，將 *your\$1bucket\$1name* 取代為儲存貯體的名稱，以安裝 AWS CLI 並在啟動時寫入您的組態檔案。
**注意**  
如需此組態的詳細資訊，請參閱「[將 Amazon ECS 容器執行個體組態儲存於 Amazon S3 中](ecs-config-s3.md)」。

    ```
    #!/bin/bash
    yum install -y aws-cli
    aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
    ```
  + 使用 `ECS_CONTAINER_INSTANCE_TAGS` 組態參數為您的容器執行個體指定標籤。這會建立只與 Amazon ECS 相關聯的標籤，所以無法使用 Amazon EC2 API 列出這些標籤。
**重要**  
如果您使用 Amazon EC2 Auto Scaling 群組啟動容器執行個體，則應使用 ECS\$1CONTAINER\$1INSTANCE\$1TAGS 代理程式組態參數來新增標籤。這是由於標籤新增到了使用 Auto Scaling 群組啟動的 Amazon EC2 執行個體。

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_TAGS={"tag_key": "tag_value"}
    EOF
    ```
  + 為您的容器執行個體指定標籤，然後使用 `ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM` 組態參數將它們從 Amazon EC2 傳播到 Amazon ECS

    以下的使用者資料指令碼範例會傳播與容器執行個體相關聯的標籤，還會向名為 `your_cluster_name` 的叢集註冊容器執行個體：

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance
    EOF
    ```
  + 依預設，Amazon ECS 容器代理程式會透過偵測執行個體的預設 IPv4 與 IPv6 路由，判斷容器執行個體是否相容純 IPv6 組態。若要覆寫此行為，您可以在執行個體的 `/etc/ecs/ecs.config` 檔案中將 ` ECS_INSTANCE_IP_COMPATIBILITY` 參數設定為 `ipv4` 或 `ipv6`。

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_INSTANCE_IP_COMPATIBILITY=ipv6
    EOF
    ```

  如需詳細資訊，請參閱[引導 Amazon ECS Linux 容器執行個體傳遞資料](bootstrap_container_instance.md)。