Azure 容器執行個體解決方案的設計

已完成

雖然相較於實體硬體所需的投資,虛擬機器是降低成本的絕佳方式。 不過,每個虛擬機器仍然受限於單一作業系統。 若您想要在單一主機電腦上執行應用程式的多個執行個體,容器會是絕佳選擇。

Azure 容器執行個體是在 Azure 上快速執行容器的簡單方式。 使用 Azure 容器執行個體的案例包括簡單的應用程式、工作自動化和建置作業。

關於 Azure 容器執行個體的須知事項

Azure 容器執行個體提供許多優點,包括快速啟動、每秒計費和永續性儲存體。 這些優點讓 Azure 容器執行個體成為絕佳的計算解決方案,以支援新的工作負載,並使用隨即轉移模式移轉資料。

Flowchart that shows the decision tree for selecting Azure Container Instances to build new workloads and to support lift and shift migrations.

  • Azure 容器執行個體可快速啟動。 您可以在幾秒內啟動容器,立即存取應用程式。

  • Azure 容器執行個體會實作每秒計費。 只有在容器執行時才會產生費用。

  • Azure 容器執行個體支援容器的自訂大小。 您可以指定 CPU 核心和記憶體的確切值,且避免未使用資源的成本。

  • 容器執行個體提供永續性儲存體。 Azure 檔案儲存體共用可直接掛接至容器,以擷取和保存狀態。

  • 容器執行個體可以搭配 Linux 和 Windows 使用。 使用相同的 API 來為 Windows 和 Linux 容器建立排程。

容器群組

在 Azure Container Instances 中,最上層的資源就是容器群組。 容器群組是在相同主機電腦上進行排程的容器集合。 容器群組中的容器會共用生命週期、資源、區域網路和存放磁碟區。

Diagram that shows container groups with access from DNS on port 80 and Azure files on port 1433.

當您想要將單一功能性工作分割成數個容器映像時,多容器群組會很實用。 這些影像便可由不同小組傳送,且有不同的資源需求。 一些範例案例包括:

  • 作為 Web 應用程式的容器,以及從原始程式碼控制提取最新內容的容器。
  • 應用程式容器和記錄容器。 記錄容器會收集主要應用程式輸出的記錄和記錄,並寫入長期儲存體。
  • 應用程式容器和監視容器。 監視容器會定期向應用程式發出要求,以確保其會保持執行狀態並正確回應,且視需要引發警示。
  • 前端容器和後端容器。 前端可能會提供 Web 應用程式,而後端則會執行服務來擷取資料。

使用 Azure 容器執行個體的考量事項

當您使用Azure 容器執行個體時,有數個建議的安全性做法。

  • 使用私人登錄。 容器是從一或多個存放庫中儲存的映像建置的。 這些存放庫可以屬於公用登錄或私人登錄。 私人登錄的範例是 Docker Trusted Registry,可安裝於內部部署或虛擬私人雲端。 另一個範例是 Azure Container Registry 可用來建置、儲存及管理容器映像和成品。

  • 確保整個生命週期中的映像完整性。 在容器生命週期中管理安全性的其中一部分是確保容器映像的完整性。 即使映像所含的弱點再輕微,您也不應允許該映像在生產環境中執行。 請不要保存太多生產映像,以便您能夠有效管理。

  • 監視容器資源活動。 監視您的資源活動,例如容器存取的檔案、網路和其他資源。 監視資源活動和耗用量對於效能監視和作為安全性量值很有用。

比較 Azure 容器執行個體與 Azure 虛擬機器

下表比較 Azure 容器執行個體和 Azure 虛擬機器中支援的重要功能。 當您檢閱下列功能時,請考慮 Tailwind Traders 基礎結構計算解決方案所需的功能和支援。

比較 Azure Container Instances Azure 虛擬機器
隔離 一般來說,容器執行個體能提供與主機和其他容器之間的輕量型隔離,但無法提供和虛擬機器一樣的強式安全性界限。 虛擬機器可與主機作業系統和其他虛擬機器徹底隔離。 如果強式安全性界限很重要 (例如,在相同伺服器或叢集上裝載來自競爭公司的應用程式),隔離便很有用。
作業系統 容器執行個體會執行作業系統的使用者模式部分,而且可以量身打造來只包含應用程式所需的服務。 此組態會導致使用較少的系統資源。 每部虛擬機器都會執行完整的作業系統。 Azure 虛擬機器通常需要比容器執行個體更多的系統資源,例如 CPU、記憶體和儲存體。
[部署] 容器執行個體會透過命令列使用 Docker 部署個別容器。 使用協調器 (例如 Azure Kubernetes Service) 可部署多個容器。 您可以使用 Windows Admin Center 或 Hyper-V 管理員部署個別的虛擬機器。 使用 PowerShell 或 System Center Virtual Machine Manager 可部署多個虛擬機器。
永續性儲存體 容器執行個體將 Azure 磁碟用於單一節點的本機存放區,或將 Azure 檔案儲存體 (SMB 共用) 用於多個節點或伺服器所共用的儲存體。 有了 Azure 虛擬機器,您可使用虛擬硬碟 (VHD) 作為單一虛擬機器的本機儲存體,而多部伺服器則會使用 SMB 檔案共用作為共用的儲存體。
容錯 若叢集節點在 Azure 容器執行個體中失敗,其他叢集節點上的協調器便會快速重新建立該節點上執行的容器。 虛擬機器可容錯移轉至叢集中的另一部伺服器,並在新伺服器上重新啟動虛擬機器的作業系統。