本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
什麼是 AWS AppConfig?
AWS AppConfig 功能旗標和動態組態可協助軟體建置器快速安全地調整生產環境中的應用程式行為,而無需部署完整程式碼。 AWS AppConfig 可加快軟體版本頻率、改善應用程式彈性,並協助您更快速地解決緊急問題。使用功能旗標,可以逐步向使用者發布新功能,並衡量這些變更的影響,然後再將新功能完全部署到所有使用者。透過操作旗標和動態組態,可以更新封鎖清單、允許清單、限流限制、日誌記錄詳細程度,以及執行其他操作調校,以快速回應生產環境中的問題。
注意
AWS AppConfig 是 中的工具 AWS Systems Manager。
提升效率並更快速地進行版本變更
搭配新功能使用功能旗標,可加快發佈生產環境變更的程序。功能旗標可讓您使用中繼型開發撰寫軟體,而不是依賴需要在發行之前複雜合併的長時間開發分支。功能旗標可讓您安全地在使用者隱藏的 CI/CD 管道中推出預先發行程式碼。當您準備好發佈變更時,您可以更新功能旗標,而無需部署新的程式碼。啟動完成後,旗標仍然可以做為區塊開關來停用新功能,而不需要轉返程式碼部署。
使用內建的安全功能,避免意外的變更或失敗
AWS AppConfig 提供下列安全功能,協助您避免啟用功能旗標或更新可能導致應用程式失敗的組態資料。
-
驗證器:驗證器可確保在將變更部署到生產環境之前,您的組態資料在語法和語義上正確。
-
部署策略:部署策略可讓您在幾分鐘或數小時內緩慢地將變更發佈至生產環境。
-
監控和自動復原:與 Amazon CloudWatch AWS AppConfig 整合,以監控應用程式的變更。如果您的應用程式因為組態變更不佳而變得運作狀態不佳,而該變更在 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 結構描述。使用 JSON 結構描述來 AWS AppConfig 驗證您的組態,以確保組態變更符合應用程式要求。
-
對於語意驗證, AWS AppConfig 可以呼叫您擁有的 AWS Lambda 函數,以驗證組態中的資料。
-
-
在一組目標之間快速部署變更
AWS AppConfig 從中央位置部署組態變更,以簡化大規模應用程式管理。 AWS AppConfig 支援存放在 AWS AppConfig 託管組態存放區、Systems Manager 參數存放區、Systems Manager (SSM) 文件和 Amazon S3 中的組態。您可以 AWS AppConfig 搭配託管在 EC2 AWS Lambda執行個體、容器、行動應用程式或 IoT 裝置上的應用程式使用 。
不需要使用 Systems Manager SSM Agent 或其他 Systems Manager 工具所需的 IAM 執行個體描述檔來設定目標。這表示 AWS AppConfig 適用於未受管執行個體。
-
更新應用程式而不中斷
AWS AppConfig 在執行時間將組態變更部署到目標,而不需要繁重的建置程序或讓目標停止服務。
-
控制應用程式中變更的部署
將組態變更部署到目標時, AWS AppConfig 可讓您使用部署策略將風險降至最低。部署策略可讓您緩慢地將組態變更推展到機群。如果您在部署期間遇到問題,您可以在組態變更到達大多數主機之前將其復原。
AWS AppConfig 運作方式
本節提供如何 AWS AppConfig 運作和如何開始的高階說明。
- 1. 在您要在雲端管理的程式碼中識別組態值
-
開始建立 AWS AppConfig 成品之前,我們建議您在程式碼中識別您要動態管理的組態資料 AWS AppConfig。良好的範例包括特徵標記或切換、允許和封鎖清單、記錄動詞、服務限制和限流規則等。
如果您的組態資料已存在於雲端,您可以利用 AWS AppConfig 驗證、部署和延伸功能,進一步簡化組態資料管理。
- 2. 建立應用程式命名空間
-
若要建立命名空間,您可以建立名為應用程式的 AWS AppConfig 成品。應用程式只是一個組織建構,就像資料夾。
- 3. 建立環境
-
對於每個 AWS AppConfig 應用程式,您可以定義一或多個環境。環境是目標的邏輯分組,例如
Beta
或Production
環境、 AWS Lambda 函數或容器中的應用程式。您也可以定義應用程式子元件的環境,例如Web
、Mobile
和Back-end
。您可以為每個環境設定 Amazon CloudWatch 警示。系統會在組態部署期間監控警示。如果觸發了警示,系統會回復組態。
- 4. 建立組態描述檔
-
組態描述檔包含一個 URI, AWS AppConfig 可讓您在儲存位置找到組態資料,以及一個描述檔類型。 AWS AppConfig 支援兩種組態描述檔類型:特徵標記和自由格式組態。特徵標記組態描述檔會將其資料存放在 AWS AppConfig 託管組態存放區中,而 URI 只是
hosted
。對於自由格式組態描述檔,您可以將資料存放在 AWS AppConfig 託管組態存放區或與 整合的任何 AWS 服務中 AWS AppConfig,如 中所述在 中建立自由格式組態描述檔 AWS AppConfig。組態描述檔也可以包含選用的驗證器,以確保您的組態資料在語法和語義上正確。當您啟動部署時, 會使用驗證器 AWS AppConfig 執行檢查。如果偵測到任何錯誤,部署會復原至先前的組態資料。
- 5. 部署組態資料
-
當您建立新的部署時,您可以指定下列項目:
-
應用程式 ID
-
組態設定檔 ID
-
組態版本
-
您想要部署組態資料的環境 ID
-
部署策略 ID,定義您希望變更多快生效
當您呼叫 StartDeployment API 動作時, AWS AppConfig 會執行下列任務:
-
使用組態設定檔中的位置 URI,從基礎資料存放區擷取組態資料。
-
使用您在建立組態描述檔時指定的驗證器,驗證組態資料是否在語法和語義上正確。
-
快取資料的副本,以便您的應用程式可以擷取。此快取複本稱為部署的資料。
-
- 6. 擷取組態
-
您可以設定 AWS AppConfig 代理程式做為本機主機,並讓 代理程式輪詢 AWS AppConfig 以進行組態更新。代理程式會呼叫 StartConfigurationSession 和 GetLatestConfiguration API 動作,並在本機快取您的組態資料。若要擷取資料,您的應用程式會對 localhost 伺服器進行 HTTP 呼叫。 AWS AppConfig Agent 支援數個使用案例,如 中所述如何使用 AWS AppConfig 代理程式擷取組態資料。
如果您的使用案例不支援 AWS AppConfig 代理程式,您可以直接呼叫 StartConfigurationSession 和 GetLatestConfiguration API 動作,將應用程式設定為輪詢 AWS AppConfig 組態更新。
AWS AppConfig入門
下列資源可協助您直接使用 AWS AppConfig。
影片: AWS AppConfig 功能旗標簡介
檢視 AWS AppConfig 特徵標記功能的影片簡介。
在 Amazon Web Services YouTube 頻道
下列部落格可協助您進一步了解 AWS AppConfig 及其功能:
軟體開發套件
如需 AWS AppConfig 語言特定 SDKs 的相關資訊,請參閱下列資源:
的定價 AWS AppConfig
根據組態資料和特徵標記擷取, 的定價 AWS AppConfig 是pay-as-you-go。我們建議您使用 AWS AppConfig 代理程式來協助最佳化成本。如需詳細資訊,請參閱 AWS Systems Manager 定價
AWS AppConfig 配額
有關 AWS AppConfig 端點和服務配額以及其他 Systems Manager 配額的資訊,請參閱 Amazon Web Services 一般參考。
注意
如需存放 AWS AppConfig 組態之服務的配額資訊,請參閱了解組態存放區配額和限制。