選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 AWS Fargate 在 Amazon ECS 上部署 Java 微服務 - AWS 方案指引

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

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

使用 AWS Fargate 在 Amazon ECS 上部署 Java 微服務

由 Vijay Thompson (AWS) 和 Sandeep Bondugula (AWS) 建立

Summary

此模式提供使用 AWS Fargate 在 Amazon Elastic Container Service (Amazon ECS) 上部署容器化 Java 微服務的指引。模式不會使用 Amazon Elastic Container Registry (Amazon ECR) 進行容器管理;而是從 Docker 中樞提取 Docker 映像。

先決條件和限制

先決條件

  • Docker 中樞上的現有 Java 微服務應用程式

  • 公有 Docker 儲存庫

  • 作用中的 AWS 帳戶

  • 熟悉 AWS 服務,包括 Amazon ECS 和 Fargate

  • Docker、Java 和 Spring Boot 架構

  • Amazon Relational Database Service (Amazon RDS) 啟動並執行 (選用)

  • 如果應用程式需要 Amazon RDS,則為虛擬私有雲端 (VPC) (選用)

架構

來源技術堆疊

  • Java 微服務 (例如,在 Spring Boot 中實作) 並部署在 Docker

來源架構

部署在 Docker 上的 Java 微服務來源架構

目標技術堆疊

  • 使用 Fargate 託管每個微服務的 Amazon ECS 叢集

  • 託管 Amazon ECS 叢集和相關聯安全群組的 VPC 網路 

  • 每個微服務使用 Fargate 來啟動容器的叢集/任務定義

目標架構

Amazon ECS 上 Java 微服務的目標架構

工具

工具

  • Amazon ECS 不需要安裝和操作您自己的容器協調軟體、管理和擴展虛擬機器叢集,或在這些虛擬機器上排程容器。 

  • AWS Fargate 可協助您執行容器,而無需管理伺服器或 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。它與 Amazon Elastic Container Service (Amazon ECS) 搭配使用。

  • Docker 是一種軟體平台,可讓您快速建置、測試和部署應用程式。Docker 將軟體封裝到稱為容器的標準化單位,這些容器擁有軟體需要執行的所有項目,包括程式庫、系統工具、程式碼和執行時間。 

Docker 程式碼

下列 Dockerfile 指定使用的 Java 開發套件 (JDK) 版本,其中有 Java 封存 (JAR) 檔案、公開的連接埠號碼,以及應用程式的進入點。

FROM openjdk:11 ADD target/Spring-docker.jar Spring-docker.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","Spring-docker.jar"]

史詩

任務描述所需的技能

建立任務定義。

在 Amazon ECS 中執行 Docker 容器需要任務定義。在 https://console.aws.amazon.com/ecs/:// 開啟 Amazon ECS 主控台,選擇任務定義,然後建立新的任務定義。如需詳細資訊,請參閱 Amazon ECS 文件

AWS 系統管理員、應用程式開發人員

選擇啟動類型。

選擇 Fargate 作為啟動類型。

AWS 系統管理員、應用程式開發人員

設定任務。

定義任務名稱,並使用適當數量的任務記憶體和 CPU 設定應用程式。

AWS 系統管理員、應用程式開發人員

定義容器。

指定容器名稱。針對映像,輸入 Docker 網站名稱、儲存庫名稱,以及 Docker 映像的標籤名稱 (docker.io/sample-repo/sample-application:sample-tag-name)。設定應用程式的記憶體限制,並為允許的連接埠設定連接埠映射 (8080, 80)。

AWS 系統管理員、應用程式開發人員

建立任務。

當任務和容器組態就位時,請建立任務。如需詳細說明,請參閱相關資源區段中的連結。

AWS 系統管理員、應用程式開發人員

建立新的任務定義

任務描述所需的技能

建立任務定義。

在 Amazon ECS 中執行 Docker 容器需要任務定義。在 https://console.aws.amazon.com/ecs/:// 開啟 Amazon ECS 主控台,選擇任務定義,然後建立新的任務定義。如需詳細資訊,請參閱 Amazon ECS 文件

AWS 系統管理員、應用程式開發人員

選擇啟動類型。

選擇 Fargate 作為啟動類型。

AWS 系統管理員、應用程式開發人員

設定任務。

定義任務名稱,並使用適當數量的任務記憶體和 CPU 設定應用程式。

AWS 系統管理員、應用程式開發人員

定義容器。

指定容器名稱。針對映像,輸入 Docker 網站名稱、儲存庫名稱,以及 Docker 映像的標籤名稱 (docker.io/sample-repo/sample-application:sample-tag-name)。設定應用程式的記憶體限制,並為允許的連接埠設定連接埠映射 (8080, 80)。

AWS 系統管理員、應用程式開發人員

建立任務。

當任務和容器組態就位時,請建立任務。如需詳細說明,請參閱相關資源區段中的連結。

AWS 系統管理員、應用程式開發人員
任務描述所需的技能

建立和設定叢集。

僅選擇聯網做為叢集類型,設定名稱,然後建立叢集,或在可用的情況下使用現有叢集。如需詳細資訊,請參閱 Amazon ECS 文件

AWS 系統管理員、應用程式開發人員

設定叢集

任務描述所需的技能

建立和設定叢集。

僅選擇聯網做為叢集類型,設定名稱,然後建立叢集,或在可用的情況下使用現有叢集。如需詳細資訊,請參閱 Amazon ECS 文件

AWS 系統管理員、應用程式開發人員
任務描述所需的技能

建立任務。

在叢集中,選擇執行新任務

AWS 系統管理員、應用程式開發人員

選擇啟動類型。

選擇 Fargate 作為啟動類型。

AWS 系統管理員、應用程式開發人員

選擇任務定義、修訂和平台版本。

選擇您要執行的任務、任務定義的修訂,以及平台版本。

AWS 系統管理員、應用程式開發人員

選取 叢集。

選擇您要從中執行任務的叢集。

AWS 系統管理員、應用程式開發人員

指定任務數量。

設定應執行的任務數目。如果您使用兩個或多個任務啟動 ,則需要負載平衡器才能在任務之間分配流量。

AWS 系統管理員、應用程式開發人員

指定任務群組。

(選用) 指定任務群組名稱,將一組相關任務識別為任務群組。

AWS 系統管理員、應用程式開發人員

設定叢集 VPC、子網路和安全群組。

設定叢集 VPC 和您要部署應用程式的子網路。建立或更新安全群組 (HTTP、HTTPS 和連接埠 8080),以提供傳入和傳出連線的存取權。

AWS 系統管理員、應用程式開發人員

設定公有 IP 設定。

啟用或停用公有 IP,取決於您是否要為 Fargate 任務使用公有 IP 地址。預設的建議選項為已啟用

AWS 系統管理員、應用程式開發人員

檢閱設定並建立任務

檢閱您的設定,然後選擇執行任務

AWS 系統管理員、應用程式開發人員

設定任務

任務描述所需的技能

建立任務。

在叢集中,選擇執行新任務

AWS 系統管理員、應用程式開發人員

選擇啟動類型。

選擇 Fargate 作為啟動類型。

AWS 系統管理員、應用程式開發人員

選擇任務定義、修訂和平台版本。

選擇您要執行的任務、任務定義的修訂,以及平台版本。

AWS 系統管理員、應用程式開發人員

選取 叢集。

選擇您要從中執行任務的叢集。

AWS 系統管理員、應用程式開發人員

指定任務數量。

設定應執行的任務數目。如果您使用兩個或多個任務啟動 ,則需要負載平衡器才能在任務之間分配流量。

AWS 系統管理員、應用程式開發人員

指定任務群組。

(選用) 指定任務群組名稱,將一組相關任務識別為任務群組。

AWS 系統管理員、應用程式開發人員

設定叢集 VPC、子網路和安全群組。

設定叢集 VPC 和您要部署應用程式的子網路。建立或更新安全群組 (HTTP、HTTPS 和連接埠 8080),以提供傳入和傳出連線的存取權。

AWS 系統管理員、應用程式開發人員

設定公有 IP 設定。

啟用或停用公有 IP,取決於您是否要為 Fargate 任務使用公有 IP 地址。預設的建議選項為已啟用

AWS 系統管理員、應用程式開發人員

檢閱設定並建立任務

檢閱您的設定,然後選擇執行任務

AWS 系統管理員、應用程式開發人員
任務描述所需的技能

複製應用程式 URL。

當任務狀態更新為執行中時,選取任務。在網路區段中,複製公有 IP。

AWS 系統管理員、應用程式開發人員

測試您的應用程式。

在瀏覽器中,輸入公有 IP 來測試應用程式。

AWS 系統管理員、應用程式開發人員

剪下

任務描述所需的技能

複製應用程式 URL。

當任務狀態更新為執行中時,選取任務。在網路區段中,複製公有 IP。

AWS 系統管理員、應用程式開發人員

測試您的應用程式。

在瀏覽器中,輸入公有 IP 來測試應用程式。

AWS 系統管理員、應用程式開發人員

相關資源

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。