

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

# 什麼是 AWS AppConfig？
<a name="what-is-appconfig"></a>

AWS AppConfig 功能旗標和動態組態可協助軟體建置器快速且安全地調整生產環境中的應用程式行為，而無需部署完整程式碼。 AWS AppConfig 可加快軟體發行頻率、改善應用程式彈性，並協助您更快速地解決緊急問題。

使用功能旗標，可以逐步向使用者發布新功能，並衡量這些變更的影響，然後再將新功能完全部署到所有使用者。透過操作旗標和動態組態，可以更新封鎖清單、允許清單、限流限制、日誌記錄詳細程度，以及執行其他操作調校，以快速回應生產環境中的問題。

## 開始使用 AWS AppConfig
<a name="what-is-how-to-get-started-appconfig"></a>

下列影片可協助您了解 的功能 AWS AppConfig。

**影片：簡介 AWS AppConfig**  
檢視 AWS AppConfig 功能的影片簡介。

[![AWS Videos](http://img.youtube.com/vi/rL_e6W6SlMM?si=kmR92RLEuyhJP_hf/0.jpg)](http://www.youtube.com/watch?v=rL_e6W6SlMM?si=kmR92RLEuyhJP_hf)


在 [Amazon Web Services YouTube 頻道](https://www.youtube.com/user/AmazonWebServices)上檢視更多 AWS 影片。

## AWS AppConfig 使用案例
<a name="what-is-appconfig-when-to-use"></a>

AWS AppConfig 支援廣泛的使用案例：
+ **功能旗標和切換 –** 在受控環境中安全地將新功能發佈給客戶。如果您遇到問題，請立即復原變更。
+ **應用程式調校** – 仔細引入應用程式變更，同時與生產環境中的使用者測試這些變更的影響。
+ **允許清單或封鎖清單** – 控制對進階功能的存取，或立即封鎖特定使用者，而無需部署新的程式碼。
+ **集中式組態儲存** – 在所有工作負載中保持組態資料井然有序且一致。您可以使用 AWS AppConfig 部署存放在 AWS AppConfig 託管組態存放區、 AWS Secrets Manager、Systems Manager 參數存放區或 Amazon S3 中的組態資料。

## 優點概觀
<a name="what-is-benefits-overview"></a>

下列簡短概觀概述使用 的好處 AWS AppConfig。

**提高效率並更快速地發佈變更**  
搭配新功能使用功能旗標可加快發佈生產環境變更的程序。功能旗標可讓您使用以幹線為基礎的開發撰寫軟體，而不是依賴需要在發行之前複雜合併的長期開發分支。功能旗標可讓您安全地在使用者隱藏的 CI/CD 管道中推出發行前程式碼。當您準備好發佈變更時，您可以更新功能旗標，而無需部署新的程式碼。啟動完成後，旗標仍然可以做為區塊切換來停用新功能，而不需要轉返程式碼部署。

**使用內建的安全功能，避免意外的變更或失敗**  
AWS AppConfig 提供下列安全功能，協助您避免啟用功能旗標或更新可能導致應用程式失敗的組態資料。  
+ **驗證器**：驗證器可確保在將變更部署到生產環境之前，您的組態資料在語法和語義上是正確的。
+ **部署策略**：部署策略可讓您在幾分鐘或數小時內緩慢地將變更發佈至生產環境。
+ **監控和自動復原**： AWS AppConfig 與 Amazon 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 運作方式
<a name="what-is-appconfig-how-it-works"></a>

本節提供如何 AWS AppConfig 運作的高階說明。

![\[如何 AWS AppConfig 運作的圖表\]](http://docs.aws.amazon.com/zh_tw/appconfig/latest/userguide/images/AppConfigHowItWorks.png)


**1. 在您要管理的程式碼中識別組態值 AWS AppConfig**  
在 中建立組態描述檔之前 AWS AppConfig，我們建議您在程式碼中識別您要使用 動態管理的組態資料 AWS AppConfig。良好的範例包括功能旗標或切換、允許和封鎖清單、記錄詳細資訊、服務限制和限流規則等。這些類型的組態經常變更，如果不正確，可能會導致問題。  
如果您的組態資料已存在於雲端，例如參數存放區或 Amazon S3，您可以利用 AWS AppConfig 驗證、部署和延伸功能，進一步簡化組態資料管理。

**2. 在 中建立組態設定檔 AWS AppConfig**  
組態描述檔包含一個 URI，該 URI 可讓 AWS AppConfig 在其儲存位置和描述檔類型中尋找您的組態資料。 AWS AppConfig 支援兩種組態描述檔類型：特徵標記和自由格式組態。這兩種類型都可以透過從程式碼部署解耦功能版本，來降低軟體開發和部署的風險和複雜性。它們還透過階段推展實現持續交付和風險緩解。此外，功能旗標可讓實際使用者在生產環境中進行測試，而自由格式組態可讓您從其他 AWS 服務擷取組態資料。這兩種設定檔類型都允許更快速的反覆運算、實驗、個人化和軟體生命週期的有效管理。如需建立組態設定檔的詳細資訊，請參閱 [在 中建立組態設定檔 AWS AppConfig](appconfig-creating-configuration-profile.md)。  
組態描述檔也可以包含選用的驗證程式，以確保您的組態資料在語法和語義上正確。當您啟動部署時， 會使用驗證程式 AWS AppConfig 執行檢查。如果偵測到任何錯誤，部署會回復到先前的組態資料。  
建立組態設定檔時，您也可以在 中建立應用程式 AWS AppConfig。應用程式只是命名空間或組織建構，例如資料夾。

**3. 部署組態資料**  
當您啟動部署時， 會 AWS AppConfig 執行下列任務：  

1. 使用組態設定檔中的位置路徑名稱，從基礎資料存放區擷取組態資料。

1. 使用您在建立組態描述檔時指定的驗證器，以語法和語義方式驗證組態資料是否正確。

1. 將資料的副本傳送至 AWS AppConfig 代理程式，以供您的應用程式讀取。此副本稱為*部署的資料*。
如需部署組態的詳細資訊，請參閱 [在 中部署功能旗標和組態資料 AWS AppConfig](deploying-feature-flags.md)。

**4. 擷取組態**  
若要擷取資料，您的應用程式會對 AWS AppConfig 代理程式快取已部署組態資料的本機副本的 localhost 伺服器進行 HTTP 呼叫。擷取資料是計量事件。 AWS AppConfig Agent 支援數個使用案例，如中所述[如何使用 AWS AppConfig 代理程式擷取組態資料](appconfig-agent-how-to-use.md)。  
如果您的使用案例不支援 AWS AppConfig 代理程式，您可以直接呼叫 [StartConfigurationSession](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html) 和 [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) API 動作，將應用程式設定為輪詢 AWS AppConfig 組態更新。  
如需擷取組態的詳細資訊，請參閱 [在 中擷取功能旗標和組態資料 AWS AppConfig](retrieving-feature-flags.md)。

## 的定價 AWS AppConfig
<a name="what-is-appconfig-cost"></a>

根據組態資料和特徵標記擷取， 的定價 AWS AppConfig 是pay-as-you-go。我們建議您使用 AWS AppConfig 代理程式來協助最佳化成本。如需詳細資訊，請參閱[AWS Systems Manager 定價](https://aws.amazon.com/systems-manager/pricing/)。

# AWS AppConfig 配額
<a name="what-is-service-quotas"></a>

您可以在 中檢視 AWS AppConfig 端點和服務配額的相關資訊[Amazon Web Services 一般參考](https://docs.aws.amazon.com//general/latest/gr/appconfig.html)。

**注意**  
AWS AppConfig 是 的功能 AWS Systems Manager。

如需存放 AWS AppConfig 組態之服務的配額資訊，請參閱 [了解組態存放區配額和限制](appconfig-creating-configuration-and-profile-quotas.md)。

# 其他資源
<a name="what-is-additional-resources"></a>

下列資源可協助您進一步了解 AWS AppConfig。

## 部落格
<a name="w2aab5c21b5"></a>

下列部落格可協助您進一步了解 AWS AppConfig 及其功能：
+ [為什麼您應該使用 AWS AppConfig](https://dev.to/aws-builders/why-you-should-use-appconfig-2ph4)
+ [使用 釋放功能旗標的強大功能 AWS AppConfig](https://medium.com/globant/unleash-the-power-of-feature-flags-with-aws-appconfig-660906ba98c7)
+ [使用 AWS AppConfig 功能旗標](https://aws.amazon.com/blogs/mt/using-aws-appconfig-feature-flags/)
+ [驗證 AWS AppConfig 功能旗標和組態資料的最佳實務](https://aws.amazon.com/blogs/mt/best-practices-for-validating-aws-appconfig-feature-flags-and-configuration-data/)

## 軟體開發套件
<a name="what-is-SDKs"></a>

如需特定 AWS AppConfig 語言 SDKs 的資訊，請參閱下列資源：
+ [AWS Command Line Interface](https://docs.aws.amazon.com/goto/aws-cli/appconfig-2019-10-09/)
+ [AWS 適用於 .NET 的 SDK](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/AppConfig/NAppConfig.html)
+ [AWS 適用於 C\$1\$1 的 SDK](https://sdk.amazonaws.com/cpp/api/LATEST/aws-cpp-sdk-appconfig/html/namespace_aws_1_1_app_config.html)
+ [AWS 適用於 Go 的 SDK](https://docs.aws.amazon.com/sdk-for-go/api/service/appconfig/)
+ [AWS 適用於 Java V2 的 SDK](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/appconfig/package-summary.html)
+ [適用於 JavaScript 的AWS 開發套件](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/AppConfig.html)
+ [AWS 適用於 PHP V3 的 SDK](https://docs.aws.amazon.com/aws-sdk-php/v3/api/namespace-Aws.AppConfig.html)
+ [AWS 適用於 Python 的 SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/appconfig.html)
+ [AWS 適用於 Ruby V3 的 SDK](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AppConfig.html)