Welcome - Amazon AppConfig
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Welcome

Amazon AppConfig

Use Amazon AppConfig, a capability of Amazon Systems Manager, to create, manage, and quickly deploy application configurations. Amazon AppConfig supports controlled deployments to applications of any size and includes built-in validation checks and monitoring. You can use Amazon AppConfig with applications hosted on Amazon EC2 instances, Lambda, containers, mobile applications, or IoT devices.

To prevent errors when deploying application configurations, especially for production systems where a simple typo could cause an unexpected outage, Amazon AppConfig includes validators. A validator provides a syntactic or semantic check to ensure that the configuration you want to deploy works as intended. To validate your application configuration data, you provide a schema or an Amazon Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid.

During a configuration deployment, Amazon AppConfig monitors the application to ensure that the deployment is successful. If the system encounters an error, Amazon AppConfig rolls back the change to minimize impact for your application users. You can configure a deployment strategy for each application or environment that includes deployment criteria, including velocity, bake time, and alarms to monitor. Similar to error monitoring, if a deployment triggers an alarm, Amazon AppConfig automatically rolls back to the previous version.

Amazon AppConfig supports multiple use cases. Here are some examples:

  • Feature flags: Use Amazon AppConfig to turn on new features that require a timely deployment, such as a product launch or announcement.

  • Application tuning: Use Amazon AppConfig to carefully introduce changes to your application that can only be tested with production traffic.

  • Allow list: Use Amazon AppConfig to allow premium subscribers to access paid content.

  • Operational issues: Use Amazon AppConfig to reduce stress on your application when a dependency or other external factor impacts the system.

This reference is intended to be used with the Amazon AppConfig User Guide.

Amazon AppConfig Data

Amazon AppConfig Data provides the data plane APIs your application uses to retrieve configuration data. Here's how it works:

Your application retrieves configuration data by first establishing a configuration session using the Amazon AppConfig Data StartConfigurationSession API action. Your session's client then makes periodic calls to GetLatestConfiguration to check for and retrieve the latest data available.

When calling StartConfigurationSession, your code sends the following information:

  • Identifiers (ID or name) of an Amazon AppConfig application, environment, and configuration profile that the session tracks.

  • (Optional) The minimum amount of time the session's client must wait between calls to GetLatestConfiguration.

In response, Amazon AppConfig provides an InitialConfigurationToken to be given to the session's client and used the first time it calls GetLatestConfiguration for that session.

Important

This token should only be used once in your first call to GetLatestConfiguration. You must use the new token in the GetLatestConfiguration response (NextPollConfigurationToken) in each subsequent call to GetLatestConfiguration.

When calling GetLatestConfiguration, your client code sends the most recent ConfigurationToken value it has and receives in response:

  • NextPollConfigurationToken: the ConfigurationToken value to use on the next call to GetLatestConfiguration.

  • NextPollIntervalInSeconds: the duration the client should wait before making its next call to GetLatestConfiguration. This duration may vary over the course of the session, so it should be used instead of the value sent on the StartConfigurationSession call.

  • The configuration: the latest data intended for the session. This may be empty if the client already has the latest version of the configuration.

Important

The InitialConfigurationToken and NextPollConfigurationToken should only be used once. To support long poll use cases, the tokens are valid for up to 24 hours. If a GetLatestConfiguration call uses an expired token, the system returns BadRequestException.

For more information and to view example Amazon CLI commands that show how to retrieve a configuration using the Amazon AppConfig Data StartConfigurationSession and GetLatestConfiguration API actions, see Retrieving the configuration in the Amazon AppConfig User Guide.