什麼是 AWS AppConfig? - AWS AppConfig

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

什麼是 AWS AppConfig?

AWS AppConfig功能旗標和動態設定可協助軟體建置人員快速安全地調整生產環境中的應用程式行為,而無需完整的程 AWS AppConfig加速軟體發行頻率、改善應用程式恢復能力,並協助您更快解決突發的問題。使用功能旗標,您可以逐步向使用者發佈新功能,並評估這些變更的影響,然後再將新功能完全部署給所有使用者。透過操作旗標和動態設定,您可以更新封鎖清單、允許清單、節流限制、記錄詳細資訊,以及執行其他作業調整,以快速回應生產環境中的問題。

注意

AWS AppConfig 是 AWS Systems Manager 的功能。

提高效率並更快地發布更改

搭配新功能使用功能旗標可加速發行生產環境變更的程序。功能旗標可讓您使用以主幹為基礎的開發來撰寫軟體,而不是仰賴需要在發行前進行複雜合併的長期開發分支。功能旗標可讓您在使用者隱藏的 CI/CD 管線中安全地推出預先發行程式碼。當您準備好發行變更時,您可以更新功能旗標,而不需要部署新的程式碼。啟動完成之後,旗標仍可做為區塊參數運作,以停用新功能或功能,而不需要回復程式碼部署。

透過內建的安全功能,避免意外變更或故障

AWS AppConfig提供下列安全功能,協助您避免啟用功能旗標或更新可能導致應用程式失敗的組態資料。

  • 驗證器:驗證器可確保您的配置數據在語法和語義上是正確的,然後再將更改部署到生產環境。

  • 部署策略:部署策略可讓您在數分鐘或數小時內緩慢發行生產環境的變更。

  • 監控和自動復原:與 Amazon AWS AppConfig 整合 CloudWatch 以監控應用程式的變更。如果您的應用程式因為組態變更不良而變得不正常,而且變更會觸發警示 CloudWatch,則AWS AppConfig會自動回復變更,將對應用程式使用者的影響降到最低。

安全且可擴充的功能旗標部署

AWS AppConfig與 AWS Identity and Access Management (IAM) 整合,以提供精細、以角色為基礎的服務存取。 AWS AppConfig還與AWS Key Management Service(AWS KMS)集成以進行加密和AWS CloudTrail審計。在向外部客戶發佈之前,所有AWS AppConfig安全控制措施最初都是由大規模使用該服務的內部客戶開發並驗證。

AWS AppConfig 使用案例

儘管應用程式組態內容因應用程式而異很大,但仍AWS AppConfig支援下列使用案例,這些使用案例涵蓋了廣泛的客戶需求:

  • 功能旗標與切換 — 在受控環境中安全地發佈新功能給您的客戶。如果遇到問題,請立即復原變更。

  • 應用程式調整 — 仔細介紹應用程式變更,同時測試這些變更對生產環境中使用者造成的影響。

  • 允許列表或阻止列表-控制對高級功能的訪問或立即阻止特定用戶,而無需部署新的代碼。

  • 集中式組態儲存 — 在所有工作負載中保持組態資料井然有序且一致。您可以用AWS AppConfig來部署存放在AWS AppConfig託管組態存放區AWS Secrets Manager、Systems Manager 參數存放區或 Amazon S3 中的組態資料。

使用 AWS AppConfig 的優勢

AWS AppConfig為您的組織提供下列優點:

  • 減少客戶的意外停機時間

    AWS AppConfig 藉由讓您建立規則來驗證組態,以 減少應用程式停機時間。無效的組態無法部署。 AWS AppConfig提供下列兩個用於驗證組態的選項:

    • 對於語法驗證,您可以使用 JSON 模式。AWS AppConfig 會使用 JSON 結構描述來驗證您的組態,以確保組態變更會遵循應用程式需求。

    • 對於語義驗證,AWS AppConfig可以調用您擁有的AWS Lambda函數來驗證配置中的數據。

  • 在一組目標之間快速部署變更

    AWS AppConfig透過從中央位置部署組態變更,簡化大規模應用程式的管理。 AWS AppConfig支援存放在AWS AppConfig託管組態存放區、Systems Manager 參數存放區、Systems Manager (SSM) 文件和 Amazon S3 中存放的組態。AWS AppConfig 可以與 EC2 執行個體、AWS Lambda、容器、行動應用程式或 IoT 裝置上託管的應用程式一起使用。

    目標不需要使用系統管理員 SSM 代理程式或其他系統管理員功能所需的 IAM 執行個體設定檔來設定。這表示 AWS AppConfig 可搭配未受管執行個體運作。

  • 更新應用程式而不中斷

    AWS AppConfig 會在執行時間將組態變更部署到您的目標,而不需要繁重的建置程序或將您的目標停止服務。

  • 控制應用程式中變更的部署

    將組態變更部署到目標時,AWS AppConfig可讓您使用部署策略將風險降至最低。部署策略可讓您緩慢地對叢集推出組態變更。如果您在部署期間遇到問題,您可以在組態變更到達大多數主機之前復原。

AWS AppConfig 的運作方式

本節提供有關如何AWS AppConfig工作以及如何開始的高級描述。

1. 識別您要在雲端中管理的程式碼中的組態值

在開始建立AWS AppConfig成品之前,建議您在程式碼中識別要使用動態管理的組態資料AWS AppConfig。很好的例子包括功能標誌或切換,允許和阻止列表,日誌詳細信息,服務限制和節流規則,僅舉幾例。

如果您的組態資料已存在於雲端中,您可以利用AWS AppConfig驗證、部署和延伸功能來進一步簡化組態資料管理。

2. 創建一個應用程序名

若要建立命名空間,您可以建立稱為應用程式的AWS AppConfig成品。一個應用程序只是一個組織結構像一個文件夾。

3. 建立環境

您可以為每個AWS AppConfig應用程式定義一或多個環境。環境是目標的邏輯分組,例如Production環境中的Beta應用程式、AWS Lambda函數或容器。您也可以定義應用程式子元件的環境,例如WebMobile、和Back-end

您可以為每個環境設定 Amazon CloudWatch 警示。系統會在組態部署期間監控警示。如果觸發了警示,系統會回復組態。

4. 建立組態描述檔

配置描述檔包括可讓AWS AppConfig您在其儲存位置尋找組態資料的 URI 以及設定檔類型。 AWS AppConfig支援兩種組態設定檔類型:功能旗標和自由格式組態。功能標誌配置文件將其數據存儲在AWS AppConfig託管的配置存儲中,並且 URI 很簡單hosted。對於自由格式組態設定檔,您可以將資料儲存在AWS AppConfig主控組態存放區或任何與整合的AWS服務中AWS AppConfig,如中在中建立任意格式組態設定檔 AWS AppConfig所述。

組態描述檔還可以包括選用的驗證器,以確保您的組態資料在語法和語義上是正確的。當您開始部署時,AWS AppConfig 會使用驗證器執行檢查。如果偵測到任何錯誤,部署會復原至先前的組態資料。

5. 部署組態資料

建立新部署時,請指定下列項目:

  • 應用程式識別碼

  • 設定描述檔識別碼

  • 配置版本

  • 您要在其中部署組態資料的環境 ID

  • 部署策略 ID,定義您希望變更生效的速度

當您呼叫 StartDeploymentAPI 動作時,請AWS AppConfig執行下列工作:

  1. 使用設定描述檔中的位置 URI,從基礎資料存放區擷取組態資料。

  2. 使用您在建立組態設定檔時指定的驗證程式,驗證組態資料在語法和語意上是否正確。

  3. 緩存數據的副本,以便您的應用程序可以檢索它。此快取副本稱為已部署的資料

6. 擷取組態

您可以將AWS AppConfig代理程式設定為本機主機,並讓代理程式輪詢以AWS AppConfig進行組態更新。代理程式會呼叫StartConfigurationSessionGetLatestConfigurationAPI 動作,並在本機快取您的組態資料。若要擷取資料,您的應用程式會對本機主機伺服器進行 HTTP 呼叫。 AWS AppConfigAgent 支援數個使用案例,如中所述簡化的擷取方法

如果您的使用案例不支援 AWS AppConfig Agent,您可以透過直接呼叫StartConfigurationSessionGetLatestConfigurationAPI 動作,將應用程式設定AWS AppConfig為輪詢設定更新。

AWS AppConfig入門

下列資源可協助您直接使用 AWS AppConfig。

影片:AWS AppConfig功能旗標簡介

檢視功能旗標AWS AppConfig功能的影片簡介。

Amazon Web Services AWS 頻道上查看更多視 YouTube 頻

下列部落格可協助您深入瞭解AWS AppConfig及其功能:

軟體開發套件

如需AWS AppConfig語言特定 SDK 的相關資訊,請參閱下列資源:

AWS AppConfig 的定價

的定價AWS AppConfig是以組態資料和功能旗標擷取為 pay-as-you-go 基礎。我們建議您使用AWS AppConfig代理程式來協助最佳化成本。如需詳細資訊,請參閱 AWS Systems Manager 定價

AWS AppConfig 配額

有關AWS AppConfig端點和服務配額以及其他 Systems Manager 配額的資訊,請參閱 Amazon Web Services 一般參考.

注意

如需存放 AWS AppConfig 組態之服務配額的相關資訊,請參閱關於組態存放區配額和限制