使用 C# 容器執行個體將 IronSecureDoc 部署到 AWS

This article was translated from English: Does it need improvement?
Translated
View the article in English

Amazon Elastic Container Service (Amazon ECS) 是一種高度可擴展、快速的容器管理服務,可輕鬆運作、停止和管理容器。 您可以透過在 AWS Fargate 上啟動服務或任務,將容器託管在 Amazon ECS 管理的無伺服器基礎架構上。 有關 Fargate 的更多信息,請參閱適用於 Amazon ECS 的 AWS Fargate

步驟 1:登入 AWS 帳戶

登入 AWS 入口網站。

如果您還沒有 AWS 帳戶,請註冊一個新的 AWS 帳戶

步驟 2:建立虛擬私有雲

您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 將 AWS 資源啟動到您定義的虛擬網路。 我們強烈建議您在 VPC 中啟動容器執行個體。

如果您已有預設 VPC,則可以跳過此部分,直接進入下一個任務:建立安全性群組。若要確定您是否已有預設 VPC,請參閱《Amazon EC2 使用者指南》中的"Amazon EC2 控制台支援的平台"部分。否則,您可以按照以下步驟在您的帳戶中建立非預設 VPC。

有關如何建立 VPC 的信息,請參閱 Amazon VPC 使用者指南中的"建立 VPC"部分,並使用下表確定要選擇的選項。

選項 Value
創建資源 僅限 VPC
姓名 您可以選擇性地為您的 VPC 提供一個名稱。
IPv4 CIDR區塊 IPv4 CIDR 手動輸入
CIDR區塊大小必須介於/16和/28之間。
IPv6 CIDR區塊 無 IPv6 CIDR 區塊
租約 預設

有關 Amazon VPC 的更多信息,請參閱什麼是 Amazon VPC? 請參閱亞馬遜 VPC 使用者指南。

步驟 3:建立安全群組

安全性群組可作為關聯容器執行個體的防火牆,控制容器執行個體層級的入站和出站流量。 您可以為安全群組新增規則,使您能夠使用 SSH 從您的 IP 位址連線到您的容器執行個體。 您還可以新增規則,允許從任何位置進行入站和出站 HTTP 和 HTTPS 存取。 新增規則以開啟任務所需的連接埠。 容器執行個體需要外部網路存取才能與 Amazon ECS 服務終端節點通訊。

有關如何建立安全群組的信息,請參閱 Amazon EC2 使用者指南中的"建立安全性群組"部分,並使用下表確定要選擇的選項。

選項 價值
地區 您建立金鑰對時所在的相同區域
姓名 一個容易記住的名稱,例如 ecs-instances-default-cluster
VPC 預設 VPC(標記為"(default)")
筆記
如果您的帳戶支援 Amazon EC2 Classic,請選擇您在上一個任務中建立的 VPC。

步驟 4:建立 ECS 集群

在 AWS 入口網站主頁上,在搜尋框中搜尋"ECS",然後選擇"彈性容器服務"。 或開啟https://console.aws.amazon.com/ecs/v2的控制台。

Search ECS

選擇"建立集群"。

Create cluster

輸入"叢集名稱"。 在"基礎架構"部分,僅選擇"AWS Fargate(無伺服器)"。

Create cluster values

其他值保持預設值,然後選擇"創建"

步驟 5:建立任務定義

叢集建立完成後,選擇任務定義。

Create task definition

選擇"建立新任務定義",然後選擇"建立新任務定義"。

Create new task definition

任務定義配置部分,輸入任務定義系列的值。

Task definition configuration section

"基礎架構需求"部分,輸入下列啟動類型CPU記憶體任務角色任務執行角色的值。

  • 啟動類型:僅限AWS Fargate
  • CPU: 1 vCPU
  • 記憶體: 2 GB
  • 任務角色: ecsTaskExecutionRole
  • 任務執行角色: ecsTaskExecutionRole

Infrastructure requirements

"容器 - 1"部分,輸入名稱鏡像 URI容器連接埠連接埠名稱環境變數的下列值。

  • 姓名: mycontainer
  • 圖片 URI:使用ironsoftwareofficial/ironsecuredoc取得最新版本,或指定標籤ironsoftwareofficial/ironsecuredoc:2024.7.1
  • 容器連接埠: 8080 埠名稱: 8080
  • 新增環境變數:
    • 環境: Production
    • HTTP_PORTS: 8080
    • IronSecureDoc_LicenseKey: YOUR-LICENSE-KEY

出於安全考慮,不建議將IronSecureDoc_LicenseKey直接加入到環境變數中。 建議從加密的 Amazon S3 儲存桶中擷取環境文件,請參閱將敏感資料傳遞給 Amazon ECS 容器

Container section

其他值保持預設值,然後選擇"創建"

步驟 6:建立服務

返回集群頁面 > 選擇您的集群 (IronSecureDoc)。

Select your cluster

選擇"服務"選項卡 > 然後選擇"建立"。

Create service

"環境"部分,輸入以下"計算選項""啟動類型"的值。

  • 計算選項:選擇Launch type
  • 發射類型:選擇FARGATE

Service environment

部署配置部分,輸入以下值作為應用程式類型系列修訂版服務名稱所需任務

  • 應用程式類型:選擇Service
  • 任務定義:
    • 家庭:選擇建立的任務定義ironsecuredoc
    • 修訂:選擇任務定義修訂版1 (LATEST)
  • 服務名稱: myservice
  • 期望完成的任務: 1

Service deployment configuration

請注意,對於網路連接,您可能需要建立VPC安全群組(如果它們不存在)。

其他值保持預設值,然後選擇"創建"

部署開始時,會顯示通知,表示部署正在進行中。 服務部署完成後,會顯示另一條通知。

查看您的服務 > 然後開啟任務。

Open created task

在任務配置中,您可以使用公用 IP 執行 curl 命令來檢查 API 是否正常運作,該命令應該會傳回pong

curl http://18.118.166.206:8080/v1/document-services/ping
curl http://18.118.166.206:8080/v1/document-services/ping
SHELL

Public IP

恭喜您! 只需配置幾個設置,即可在 Amazon Elastic Container Service 中部署可公開存取的應用程式。

常見問題解答

如何設定 AWS 的文件安全性?

若要為文件安全性設定 AWS,您可以透過 Amazon ECS 部署容器實體。這包括建立虛擬私有雲 (VPC)、設定安全群組,以及使用 AWS Fargate 來建立無伺服器基礎架構。可整合 IronSecureDoc 以確保文件管理的安全性。

在 AWS 中建立虛擬私有雲 (VPC) 的目的是什麼?

在 AWS 中建立 VPC 可讓您在邏輯上隔離的虛擬網路中啟動 AWS 資源。此設定可提供您對網路環境的控制,對於透過 IronSecureDoc 等服務管理文件安全性而言,也是至關重要的。

為什麼為 ECS 部署設定安全群組很重要?

設定安全群組對於控制 ECS 容器實體的入站和出站流量至關重要。它扮演虛擬防火牆的角色,確保只有經過授權的流量才能到達部署在 AWS 上的 IronSecureDoc 服務。

如何使用 AWS Fargate 部署容器實例?

若要使用 AWS Fargate 部署容器實例,您必須先建立 ECS 群集。然後,定義一個任務定義,指定 CPU、記憶體和容器設定等需求。最後,在 ECS Cluster 內建立一個服務,以管理 IronSecureDoc 的部署。

任務定義在 Amazon ECS 中扮演什麼角色?

在 Amazon ECS 中,任務定義可作為應用程式藍圖。它概述了運行容器的要求,例如啟動類型、CPU、記憶體和容器定義。這對於部署 IronSecureDoc 等應用程式至關重要。

如何在 AWS 中安全地管理環境變數?

您可以在 AWS 中安全地管理環境變數,方法是從加密的 Amazon S3 儲存桶擷取敏感資料,例如 IronSecureDoc 授權金鑰。此方法有助於保護敏感資訊免於未經授權的存取。

如何驗證 ECS 服務的成功部署?

您可以使用 Public IP 執行 curl 指令來驗證 ECS 服務的部署。例如,執行 curl http://:8080/v1/document-services/ping 應該會傳回 'pong',表示 IronSecureDoc 服務正在正常執行。

每次部署都需要建立新的 VPC 和安全群組嗎?

如果預設 VPC 和安全群組不存在,您必須建立它們,以確保 ECS 部署有適當的網路和安全設定。此設定對於 IronSecureDoc 等應用程式的安全運作至關重要。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Version: 2024.10 剛發表