應用程序運行架構和概念 - AWS App Runner

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

應用程序運行架構和概念

AWS App Runner 從儲存庫中取得原始程式碼或來源映像檔,並在中為您建立和維護執行中的 Web 服務 AWS 雲端。通常情況下,您只需要調用一個應用程序運行器操作 CreateService,以創建您的服務。

透過來源映像檔儲存庫,您可以提供 ready-to-use 容器映像檔,讓 App Runner 可以部署以執行 Web 服務。使用原始程式碼儲存庫,您可以提供建置和執行 Web 服務的程式碼和指示,並以特定的執行階段環境為目標。App Runner 支持多種編程平台,每個平台主要版本都具有一個或多個託管運行時。

此時,應用程式執行程式可以從 Bit GitHubbucket 或儲存庫擷取您的原始 Amazon 式碼,也可以從您的. AWS 帳戶

下圖顯示了應用程序運行器服務體系結構的概述。在圖中,有兩個範例服務:一個是從部署原始程式碼 GitHub,另一個從 Amazon ECR 部署來源映像。相同的流程適用於比特桶存儲庫。

應用程式執行器架構

應用程序運行器

以下是與在 App Runner 中運行的 Web 服務相關的關鍵概念:

  • 應用程式執行器服務 — App Runner 使用的 AWS 資源,根據其原始程式碼儲存庫或容器映像來部署和管理您的應用程式。應用程序運行服務是應用程序的運行版本。如需建立服務的詳細資訊,請參閱創建應用程序運行器服務

  • 來源類型 — 您為部署 App Runner 服務所提供的來源存放庫類型:原始程式碼來源映像檔

  • 儲存庫提供者 — 包含應用程式來源 (例如 GitHubBitbucketAmazon ECR) 的儲存庫服務。

  • 應用程式執行器連線 — 可讓 App Runner 存取儲存庫提供者帳戶 (例如, GitHub 帳戶或組織) 的 AWS 資源。如需連線的相關資訊,請參閱管理應用程式執行器

  • 執行階段 — 用於部署原始程式碼儲存庫的基本影像。App Runner 為不同的編程平台和版本提供了各種託管運行時。如需詳細資訊,請參閱 基於源代碼的應用程序運行服務

  • 部署 — 將原始碼儲存庫 (程式碼或影像) 的版本套用至 App Runner 服務的動作。服務的第一次部署會在建立服務的過程中進行。稍後的部署可以透過下列兩種方式之一進行:

    • 自動部署 — CI/CD 功能。您可以將 App Runner 服務設定為自動建置 (針對原始程式碼),並在儲存庫中顯示的每個應用程式版本部署。這可以是源代碼存儲庫中的新提交,也可以是源圖像存儲庫中的新映像版本。

    • 手動部署 — 您明確啟動的應用程式執行器服務的部署。

  • 自定義域-您與應用程序運行器服務關聯的域。您的 Web 應用程序的用戶可以使用此域訪問您的 Web 服務,而不是默認的應用程序運行器子域。如需詳細資訊,請參閱 管理應用程式執行器服務的自訂網域名稱

    注意

    為了增強應用程式執行器應用程式的安全性,*.awsapprunner.com 網域註冊在公用尾碼清單 (PSL) 中。為了進一步的安全性,如果您需要在 App Runner 應用程式的預設網域名稱中設定敏感性 Cookie,建議您使用__Host-前置詞的 Cookie。此做法將有助於保護您的網域免受跨站請求偽造 (CSRF) 攻擊。如需更多資訊,請參閱 Mozilla 開發人員網路中的設定 Cookie 頁面。

  • 維護 — App Runner 偶爾在執行 App Runner 服務的基礎結構上執行的活動。維護進行中時,服務狀態會暫時變更為OPERATION_IN_PROGRESS(主控台中的作業進行中)幾分鐘。在此期間,會封鎖對您服務的動作 (例如部署、組態更新、暫停/繼續或刪除)。當服務狀態回到時,請在幾分鐘後再次嘗試此動作RUNNING

    注意

    如果您的操作失敗,並不意味著您的應用程序運行器服務已關閉。您的應用程序處於活動狀態並繼續處理請求 您的服務不太可能遇到任何停機時間。

    特別是,如果 App Runner 檢測到託管服務的基礎硬件中的問題,則會遷移您的服務。為了防止任何服務停機時間,App Runner 會將您的服務部署到一組新的執行個體,並將流量轉移給它們(藍綠色部署)。您可能偶爾會看到費用略有暫時增加。

應用程序運行器支持

設定 App Runner 服務時,您可以指定要配置給服務的虛擬 CPU 和記憶體組態。您可以根據選取的運算組態付費。如需定價的詳細資訊,請參閱 AWS Resource Groups 定價

下表提供 App Runner 支援的 vCPU 和記憶體組態的相關資訊:

CPU 記憶體

0.25 vCPU

0.5 GB

0.25 vCPU

1 GB

0.5 vCPU

1 GB

1 vCPU

2 GB

1 vCPU

3 GB

1 vCPU

4 GB

2 vCPU

4 GB

2 vCPU

6 GB

4 vCPU

8 GB

4 vCPU

10 GB

4 vCPU

十二 GB

應用程序運行器

當您使用 App Runner 時,您可以在 AWS 帳戶. 這些資源可用來存取您的程式碼和管理您的服務。

下表提供這些資源的概觀:

資源名稱 Description

Service

代表應用程式的執行中版本。本指南的其餘部分內容描述了服務類型、管理、組態和監控。

ARN:arn:aws:apprunner:region:account-id:service/service-name[/service-id]

Connection

為您的 App Runner 服務提供訪問存儲在第三方提供商的私有存儲庫。作為單獨的資源存在,用於跨多個服務共享。如需連線的相關資訊,請參閱管理應用程式執行器

ARN:arn:aws:apprunner:region:account-id:connection/connection-name[/connection-id]

AutoScalingConfiguration

為您的 App Runner 服務提供控制應用程式自動擴展的設定。作為單獨的資源存在,用於跨多個服務共享。如需自動擴展的相關資訊,請參閱管理應用程式執行器自動

ARN:arn:aws:apprunner:region:account-id:autoscalingconfiguration/config-name[/config-revision[/config-id]]

ObservabilityConfiguration

為您的應用程式執行器服務設定其他應用程式可觀察性功能。作為單獨的資源存在,用於跨多個服務共享。若要取得有關觀察性組態的更多資訊,請參閱〈設定服務的可觀察性

ARN:arn:aws:apprunner:region:account-id:observabilityconfiguration/config-name[/config-revision[/config-id]]

VpcConnector

為您的應用程式執行器服務設定 VPC 設定。作為單獨的資源存在,用於跨多個服務共享。如需 VPC 功能的詳細資訊,請參閱為傳出流量啟用 VPC 存取

ARN:arn:aws:apprunner:region:account-id:vpcconnector/connector-name[/connector-revision[/connector-id]]

VpcIngressConnection

它是用來設定傳入流量的 AWS App Runner 資源。它會在 VPC 介面端點和應用程式執行器服務之間建立連線,讓您的應用程式執行器服務只能在 Amazon VPC 內存取。如需 VPC 功能的詳細資訊IngressConnection,請參閱為傳入流量啟用私有端點

ARN:arn:aws:apprunner:region:account-id:vpcingressconnection/vpc-ingress-connection-name[/connector-id]]

應用運行器資源配額

AWS 對您的帳號強加一些配額 (也稱為限制),以便在每個 AWS 區域帳號中使用 AWS 資源。下表列出與應用程式執行器資源相關的配額。配額也會列在中的AWS App Runner 端點和配額AWS 一般參考

資源配額 Description 預設值 可調節?

Services

您可以在帳戶中為每個服務創建的最大數量 AWS 區域。

30

Connections

您可以在帳戶中為每個連接創建的最大連接數 AWS 區域。您可以在多個服務中使用單一連線。

10

Auto scaling configurations

名稱

您在帳戶中針對每個 auto 擴展設定建立的唯一名稱的最大數量 AWS 區域。您可以在多個服務中使用單一 auto 擴展設定。

10

每個名稱的修訂

您可以在帳戶中為每個 AWS 區域 唯一名稱建立的 auto 擴展組態修訂數目上限。您可以在多個服務中使用單一 auto 擴展組態修訂版本。

5

Observability configurations

名稱

您在每 AWS 區域個帳戶中建立的可觀察性設定中可以擁有的唯一名稱的最大數目。您可以在多個服務中使用單一可觀察性組態。

10

每個名稱的修訂

您可以在帳戶中為每 AWS 區域 個唯一名稱建立的可觀察性組態修訂數目上限。您可以在多個服務中使用單一可觀察性組態修訂版本。

10

VPC connectors

您可以在帳戶中為每 AWS 區域個連接器建立的最大 VPC 連接器數目。您可以在多個服務中使用單一 VPC 連接器。

10

VPC Ingress Connection

您可以在帳戶中為每個連線建立的最大 VPC 輸入連線數目。 AWS 區域您可以使用單一 VPC 入口連線來存取多個應用程式執行器服務。

1

大多數配額都是可調整的,您可以要求提高配額。如需詳細資訊,請參閱《Service Quotas 使用者指南》中的請求提高配額