使用主控台為 Amazon EFS 設定 Amazon ECS 檔案系統 - Amazon Elastic Container Service

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

使用主控台為 Amazon EFS 設定 Amazon ECS 檔案系統

了解如何搭配 Amazon Word 使用 Amazon Elastic File System (Amazon ECS) 檔案系統。 EFS

步驟 1:建立 Amazon ECS 叢集

使用下列步驟建立 Amazon ECS 叢集。

建立新叢集 (Amazon ECS 主控台)

開始之前,請指派適當的 IAM 許可。如需詳細資訊,請參閱Amazon ECS 叢集範例

  1. https://console.aws.amazon.com/ecs/ v2 開啟主控台。

  2. 從導覽列中選取要使用的「區域」。

  3. 在導覽窗格中,選擇叢集

  4. Clusters (叢集) 頁面上,選擇 Create cluster (建立叢集)。

  5. 叢集組態下的叢集名稱中,輸入叢集名稱的 EFS-tutorial

  6. (選用) 若要變更任務和服務啟動的 VPC 和子網路,請在網路下執行下列任何操作:

    • 若要移除子網路,請在 Subnets (子網路) 下,對您要移除之每一個子網路選擇 X

    • 若要變更為預設 VPC 以外的 VPC,請在 VPC 下選擇現有的 VPC,然後在子網路下,選取每個子網路。

  7. 若要將 Amazon EC2 執行個體新增至叢集,請展開基礎設施,然後選取 Amazon EC2 執行個體。接下來,設定作為容量提供者的 Auto Scaling 群組:

    1. 若要建立 Auto Scaling 群組,請從 Auto Scaling 群組 (ASG) 中選取建立新群組,然後提供群組的下列詳細資訊:

      • 作業系統/架構中,選擇 Amazon Linux 2。

      • 針對 EC2 執行個體類型,選擇 t2.micro

        對於 SSH 金鑰對,選擇在連線到執行個體時證明您身分的配對。

      • 容量中,輸入 1

  8. 選擇 Create (建立)。

步驟 2:建立 Amazon EC2 執行個體和 Amazon EFS 檔案系統的安全群組

在此步驟中,您會為 Amazon EC2 執行個體建立安全群組,允許連接埠 80 上的傳入網路流量,以及建立允許從容器執行個體傳入存取的 Amazon EFS 檔案系統。

使用下列選項為您的 Amazon EC2 執行個體建立安全群組:

  • 安全群組名稱 - 為您的安全群組輸入唯一的名稱。

  • VPC - 您先前為叢集識別的 VPC。

  • 傳入規則

    • 類型 - HTTP

    • 資源來源 - 0.0.0.0/0

使用下列選項為您的 Amazon EFS 檔案系統建立安全群組:

  • 安全群組名稱 - 為您的安全群組輸入唯一的名稱。例如:EFS-access-for-sg-dc025fa2

  • VPC - 您先前為叢集識別的 VPC。

  • 傳入規則

    • 類型 - NFS

    • 來源 - 使用您為執行個體建立的安全群組 ID 進行自訂

如需有關如何建立安全群組的資訊,請參閱 Amazon EC2 使用者指南中的為您的 Amazon Word 執行個體建立安全群組 EC2

步驟 3:建立 Amazon EFS 檔案系統

在此步驟中,您會建立 Amazon EFS 檔案系統。

為 Amazon EFS 任務建立 Amazon ECS 檔案系統。
  1. 在 Word 開啟 Amazon Elastic File System 主控台。 https://console.aws.amazon.com/efs/

  2. 選擇 Create file system (建立檔案系統)

  3. 輸入檔案系統的名稱,然後選擇容器執行個體託管的 VPC。根據預設,指定 VPC 中的每個子網路都會收到掛載目標,該目標使用該 VPC 的預設安全群組。然後,選擇自訂

    注意

    本教學課程假設您的 Amazon EFS 檔案系統、Amazon ECS 叢集、容器執行個體和任務位於相同的 VPC 中。如需從不同 VPC 安裝檔案系統的詳細資訊,請參閱 Amazon VPC 使用者指南中的逐步解說:從不同 Word 安裝檔案系統 EFS

  4. 檔案系統設定頁面上,設定選用設定,然後在效能設定下,為您的檔案系統選擇高載輸送量模式。設定完設定之後,請選取下一步

    1. (選用) 為您的檔案系統新增標籤。例如,您可以在 Name (名稱) 鍵旁的 Value (值) 欄中輸入名稱,藉此為檔案系統指定不會重複的一名稱。

    2. (選用) 啟用生命週期管理,以避免在不常存取的儲存體上浪費成本。如需詳細資訊,請參閱 Amazon Elastic File System 使用者指南中的 EFS 生命週期管理

    3. (選用) 啟用加密。選取核取方塊以啟用靜態 Amazon EFS 檔案系統的加密。

  5. 網路存取頁面的掛載目標下,將每個可用區域的現有安全群組組態替換為您為 步驟 2:建立 Amazon EC2 執行個體和 Amazon EFS 檔案系統的安全群組 中的檔案系統建立的安全群組,然後選擇下一步

  6. 您不需要為本教學課程設定檔案系統政策,因此您可以選擇下一步略過此區段。

  7. 檢閱您的檔案系統選項,然後選擇建立以完成程序。

  8. 檔案系統畫面中,記錄檔案系統 ID。在下一個步驟中,您將在 Amazon ECS 任務定義中參考此值。

步驟 4:將內容新增至 Amazon EFS 檔案系統

在此步驟中,您將 Amazon EFS 檔案系統掛載至 Amazon EC2 執行個體,並將內容新增至該執行個體。這是為了在本教學課程中進行測試,以說明資料的持久性。使用此功能時,通常您會擁有應用程式或其他將資料寫入 Amazon EFS 檔案系統的方法。

建立 Amazon EC2 執行個體並掛載 Amazon EFS 檔案系統
  1. 在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/ 主控台。

  2. 選擇 Launch Instance (啟動執行個體)

  3. 應用程式和作業系統映像 (Amazon Machine Image) 下,選取 Amazon Linux 2 AMI (HVM)

  4. 執行個體類型中,保留預設執行個體類型 t2.micro

  5. 金鑰對 (登入) 下,選取 SSH 存取執行個體的金鑰對。

  6. 網路設定下,選取VPC您為 Amazon EFS 檔案系統和 Amazon Word 叢集指定的 ECS。選取子網路和在 步驟 2:建立 Amazon EC2 執行個體和 Amazon EFS 檔案系統的安全群組 中建立的執行個體安全群組。設定執行個體的安全群組。確認已啟用自動指派公有 IP

  7. 設定儲存體下,選擇檔案系統的編輯按鈕,然後選擇 EFS。選取您在 步驟 3:建立 Amazon EFS 檔案系統 中建立的檔案系統。您可以選擇性地變更掛載點,或保留預設值。

    重要

    您必須先選擇子網路,然後才能將檔案系統新增至執行個體。

  8. 清除自動建立並連接安全群組。保持選取另一個核取方塊。選擇 Add shared file system (新增共用檔案系統)

  9. 進階詳細資訊下,確保使用者資料指令碼自動填入 Amazon EFS 檔案系統掛載步驟。

  10. 摘要下,確定執行個體數量1。選擇啟動執行個體

  11. 啟動執行個體頁面上,選擇檢視所有執行個體以查看執行個體的狀態。初始時,您的執行個體狀態PENDING。當狀態變更為 RUNNING 且執行個體通過所有狀態檢查之後,執行個體即可供使用。

現在,您可以連線至 Amazon EC2 執行個體,並將內容新增至 Amazon EFS 檔案系統。

連線至 Amazon EC2 執行個體,並將內容新增至 Amazon EFS 檔案系統
  1. SSH建立的 Amazon EC2 執行個體的 Word。如需詳細資訊,請參閱 Amazon SSH 使用者指南中的使用 Word 連線至 Linux 執行個體 EC2

  2. 從終端機視窗中,執行 df -T命令以確認 Amazon EFS 檔案系統是否已掛載。在下列輸出中,我們已反白顯示 Amazon EFS 檔案系統掛載。

    $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on devtmpfs devtmpfs 485468 0 485468 0% /dev tmpfs tmpfs 503480 0 503480 0% /dev/shm tmpfs tmpfs 503480 424 503056 1% /run tmpfs tmpfs 503480 0 503480 0% /sys/fs/cgroup /dev/xvda1 xfs 8376300 1310952 7065348 16% / 127.0.0.1:/ nfs4 9007199254739968 0 9007199254739968 0% /mnt/efs/fs1 tmpfs tmpfs 100700 0 100700 0% /run/user/1000
  3. 導覽至 Amazon EFS 檔案系統掛載所在的目錄。在上述範例中,即為 /mnt/efs/fs1

  4. 建立名為 index.html 且具有下列內容的檔案:

    <html> <body> <h1>It Works!</h1> <p>You are using an Amazon EFS file system for persistent container storage.</p> </body> </html>

步驟 5:建立任務定義

以下任務定義會建立名稱為 efs-html 的資料磁碟區。nginx 容器會將主機資料磁碟區掛載在 NGINX 根目錄 /usr/share/nginx/html

使用 Amazon ECS 主控台建立新的任務定義
  1. https://console.aws.amazon.com/ecs/ v2 開啟主控台。

  2. 在導覽窗格中,選擇 Task Definitions (任務定義)。

  3. 選擇建立新任務定義使用 JSON 建立新任務定義

  4. 在 JSON 編輯器方塊中,複製並貼上下列 JSON 文字,fileSystemId以 Amazon EFS 檔案系統的 ID 取代 。

    { "containerDefinitions": [ { "memory": 128, "portMappings": [ { "hostPort": 80, "containerPort": 80, "protocol": "tcp" } ], "essential": true, "mountPoints": [ { "containerPath": "/usr/share/nginx/html", "sourceVolume": "efs-html" } ], "name": "nginx", "image": "nginx" } ], "volumes": [ { "name": "efs-html", "efsVolumeConfiguration": { "fileSystemId": "fs-1324abcd", "transitEncryption": "ENABLED" } } ], "family": "efs-tutorial", "executionRoleArn":"arn:aws:iam::111122223333:role/ecsTaskExecutionRole" }
    注意

    您可以將下列許可新增至 Amazon ECS 任務執行 IAM 角色,以允許 Amazon ECS 代理程式在啟動時尋找並掛載 Amazon EFS 檔案系統至任務。

    • elasticfilesystem:ClientMount

    • elasticfilesystem:ClientWrite

    • elasticfilesystem:DescribeMountTargets

    • elasticfilesystem:DescribeFileSystems

  5. 選擇 Create (建立)。

步驟 6:執行任務並檢視結果

現在,您的 Amazon EFS 檔案系統已建立,並且有 Web 內容可供 NGINX 容器使用,您可以使用您建立的任務定義來執行任務。NGINX Web 伺服器提供簡單的 HTML 頁面。如果您更新 Amazon EFS 檔案系統中的內容,這些變更會傳播到也掛載該檔案系統的任何容器。

任務會在您為叢集定義的子網路中執行。

使用主控台執行任務並檢視結果
  1. https://console.aws.amazon.com/ecs/ v2 開啟主控台。

  2. Clusters (叢集) 頁面上,選取要在哪個叢集中執行獨立任務。

    決定您要從中啟動服務的資源。

    啟動服務的資源 步驟

    叢集

    1. 叢集頁面,選取您要在哪個叢集中建立服務。

    2. Tasks (任務) 標籤中,選擇 Run new task (執行新任務)。

    啟動類型
    1. Task (任務) 頁面中,選擇任務定義。

    2. 如果有多個修訂版,則請選取修訂版。

    3. 依序選擇 Create (建立)、Run task (執行任務)。

  3. (選用) 選擇已排程的任務在叢集基礎設施中的分佈方式。展開 Compute configuration (運算組態),然後執行下列操作:

    分發方法 步驟
    啟動類型
    1. 運算選項區段中,選取啟動類型

    2. 針對啟動類型,選擇 EC2

  4. 針對 Application type (應用程式類型),選擇 Task (任務)。

  5. 任務定義中,選擇您先前建立的 efs-tutorial 任務定義。

  6. 所需任務中,輸入 1

  7. 選擇 Create (建立)。

  8. 叢集頁面上,選擇基礎設施

  9. 容器執行個體下,選擇要連線的容器執行個體。

  10. 容器執行個體頁面的聯網下,記錄執行個體的公有 IP 或公有 DNS

  11. 開啟瀏覽器並輸入公有 IP 地址。您應該看到下列訊息:

    It works! You are using an Amazon EFS file system for persistent container storage.
    注意

    如果您未看到該訊息,請確認您容器執行個體的安全群組,允許連接埠 80 上的入站網路流量,且檔案系統的安全群組允許來自容器執行個體的入站存取。