とは 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 は、設定を検証するためのルールを作成できるようにすることで、アプリケーションのダウンタイムを軽減します。有効でない設定はデプロイできません。設定を検証するために次の 2 つのオプション AWS AppConfig が用意されています。

    • 構文検証では、JSON schema を使用できます。 は、JSON スキーマを使用して設定 AWS AppConfig を検証し、設定の変更がアプリケーションの要件に準拠していることを確認します。

    • セマンティック検証 AWS AppConfig では、 が所有する AWS Lambda 関数を呼び出して、設定内のデータを検証できます。

  • 一連ののターゲットにわたって迅速に変更をデプロイします

    AWS AppConfig は、中央の場所から設定変更をデプロイすることで、大規模なアプリケーションの管理を簡素化します。 は、 AWS AppConfig ホストされた設定ストア、Systems Manager パラメータストア、Systems Manager (SSM) ドキュメント、および Amazon S3 に保存されている設定 AWS AppConfig をサポートします。EC2 インスタンス AWS AppConfig 、コンテナ、モバイルアプリケーション AWS Lambda、または IoT デバイスでホストされているアプリケーションで を使用できます。

    ターゲットは、他 Systems Manager 機能に必要な Systems Manager 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 アプリケーションごとに、1 つ以上の環境を定義します。環境は、 Betaまたは Production環境のアプリケーション、 AWS Lambda 関数、コンテナなどのターゲットの論理グループです。Web‬、Mobile‬、および Back-end‬ など、アプリケーションのサブコンポーネントの環境を定義することもできます。‬‬‬

環境ごとに Amazon CloudWatch アラームを設定できます。システムは、設定のデプロイ中にアラームをモニタリングします。アラームがトリガーされると、システムは設定をロールバックします。

4. 設定プロファイルの作成

設定プロファイルには、 が保存場所とプロファイルタイプで設定データを検索 AWS AppConfig できるようにする URI が含まれます。 AWS AppConfig は、機能フラグとフリーフォーム設定の 2 つの設定プロファイルタイプをサポートしています。機能フラグ設定プロファイルは、 AWS AppConfig ホストされた設定ストアにデータを保存し、URI は単に ですhosted。フリーフォーム設定プロファイルの場合、「」で説明されているように AWS AppConfig、 AWS AppConfig ホストされた設定ストアまたは と統合されている任意の AWS サービスにデータを保存できますでのフリーフォーム設定プロファイルの作成 AWS AppConfig

設定プロファイルには、設定データが構文的および意味的に正しいことを確認するためのオプションのバリデータを含めることもできます。 は、デプロイを開始するときにバリデータを使用して AWS AppConfig チェックを実行します。エラーが検出されると、デプロイは前の設定データにロールバックします。

5. 設定データをデプロイします

新しいデプロイを作成する際には、以下を指定できます。

  • アプリケーション ID

  • 設定プロファイル ID

  • 設定バージョン。

  • 設定データをデプロイする環境 ID

  • 変更をどのくらいの速さで反映させたいかを定義するデプロイ戦略 ID

StartDeployment API アクションを呼び出すと、 は次のタスク AWS AppConfig を実行します。

  1. 設定プロファイルのロケーション URI を使用して、基になるデータストアから設定データを取得します。

  2. 設定プロファイルに作成したときに指定したバリデータを使用して、設定データが構文的にも意味論的にも正しいことを確認します。

  3. データのコピーをキャッシュして、アプリケーションがすぐに取り出せるようにします。このキャッシュされたコピーはデプロイされたデータと呼ばれます。

6. 設定を取得します。

AWS AppConfig エージェントをローカルホストとして設定し、エージェントに設定の更新 AWS AppConfig をポーリングさせることができます。エージェントは StartConfigurationSessionおよび GetLatestConfiguration API アクションを呼び出し、設定データをローカルにキャッシュします。データを取得するために、アプリケーションは localhost サーバーに HTTP 呼び出しを行います。 AWS AppConfig Agent は、「」で説明されているように、いくつかのユースケースをサポートしています簡略化された検索方法

AWS AppConfig エージェントがユースケースでサポートされていない場合は、 StartConfigurationSessionおよび GetLatestConfiguration API アクションを直接呼び出すことで、 AWS AppConfig 設定の更新をポーリングするようにアプリケーションを設定できます。

AWS AppConfigの使用を開始

以下のリソースは、 を直接操作するのに役立ちます AWS AppConfig。

動画: AWS AppConfig 機能フラグの概要

AWS AppConfig 機能フラグ機能の概要の動画をご覧ください。

Amazon Web Services Channel でさらに多くの AWS 動画をご覧ください。 YouTube

次のブログは、 AWS AppConfig とその機能の詳細を理解するのに役立ちます。

SDK

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 設定を保存するサービスのクォータについては、「」を参照してください設定ストアのクォータと制限について