AWS AppConfig とは? - AWS AppConfig

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS AppConfig とは?

AWS Systems Manager の機能である AWS AppConfig を使用して、アプリケーション設定を作成、管理し、迅速にデプロイします。設定は、アプリケーションの動作に影響する設定のコレクションです。AWS AppConfig は、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、AWS Lambda、コンテナ、モバイルアプリケーション、または IoT デバイスでホストされるアプリケーションで使用できます。を使用して管理できる構成タイプの例を表示するにはAWS AppConfig「」を参照してください設定例

AWS AppConfig を使用したタスクの簡素化

AWS AppConfig は、次のタスクを簡素化するのに役立ちます。

  • 設定する

    Amazon Simple Storage Service (Amazon S3)、AWS AppConfig でホストされた構成、パラメータストア、Systems Manager ドキュメントストアから設定を入手します。を使用するAWS CodePipelineの統合により、Bitbucket パイプラインから設定を入手します。 GitHub, およびAWS CodeCommit。

  • 検証

    アプリケーション設定のデプロイ中に、単純なタイプミスにより予期しない停止が起きる可能性があります。AWS AppConfig バリデータを使用して、本番システムのエラーを防止します。AWS AppConfig バリデータは、JSON スキーマを使用した構文チェック、または AWS Lambda 機能を使用したセマンティックチェックを実施して、設定が意図したとおりにデプロイされることを確認します。設定データが有効である場合にのみ、設定のデプロイを処理することができます。

  • デプロイとモニタリング

    デプロイ条件とレート制御を定義して、ターゲットが新しい構成をどのように取得するかを決定します。AWS AppConfig デプロイ戦略を使用して、デプロイの速度、デプロイ時間、焼き時間を設定します。を使用して各デプロイをモニタリングし、プロアクティブにエラーcatch しますAWS AppConfigAmazon との統合 CloudWatch。AWS AppConfig でエラーが発生した場合、システムはデプロイをロールバックして、アプリケーションユーザーへの影響を最小限に抑えます。

AWS AppConfig ユースケース

AWS AppConfig は、次のユースケースに役立ちます。

  • アプリケーションのチューニング – 本番トラフィックでのみテストできる変更を、慎重にアプリケーションに導入します。

  • 機能の切り替え – 製品の発売や発表など、適切なタイミングでのデプロイが必要となる新機能をオンにします。

  • 許可リスト – プレミアム加入者が有料コンテンツにアクセスできるようにします。

  • 運用上の問題 – 依存性やその他の外部要因がシステムに影響を与える場合に、アプリケーションに対するストレスを軽減します。

AWS AppConfig を使用する利点

AWS AppConfig は、組織に次のような利点を提供します。

  • 設定変更のエラーを減らす

    AWS AppConfig を使用すると設定を検証するルールを作成できるため、アプリケーションのダウンタイムを短縮できます。有効でない設定はデプロイできません。AWS AppConfig には設定を検証するための以下の 2 つのオプションがあります。

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

    • セマンティック検証では、設定を実行する AWS Lambda 関数をデプロイする前に呼び出すことができます。

  • 複数のターゲットにわたって迅速に変更をデプロイする

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

    ターゲットは、他の Systems Manager 機能に必要な Systems Manager SSM Agent または AWS Identity and Access Management (IAM) インスタンスプロファイルを使用して設定する必要はありません。つまり、AWS AppConfig はアンマネージド型インスタンスで動作します。

  • 中断することなくアプリケーションを更新する

    AWS AppConfig は、重いビルドプロセスを実行したりターゲットをサービスから外したりせずに、実行時にターゲットに設定変更をデプロイします。

  • アプリケーション全体で変更のデプロイを制御する

    構成変更をターゲットにデプロイする場合、AWS AppConfig では、デプロイ戦略を使用してリスクを最小限に抑えることができます。デプロイ戦略のレート制御を使用して、アプリケーションターゲットが構成変更を取得する速度を決定できます。

AWS AppConfig の使用を開始

以下のブログは、AWS AppConfig とその機能を詳しく説明しています。

AWS AppConfig の仕組み

おおまかに言うと、AWS AppConfig を操作するプロセスは 3 つあります。

  1. アプリケーションで動作するように AWS AppConfig を設定します。

  2. の有効化定期的にを確認して設定データを取得するAWS AppConfig。

  3. 新規または更新された設定をデプロイします。

以降のセクションでは、それぞれのステップについて説明します。

アプリケーションで動作するように AWS AppConfig を設定します。

アプリケーションで動作するように AWS AppConfig を設定するには、以下の表で説明されている 3 つのタイプのリソースをセットアップします。

リソース 詳細

アプリケーション

In (イン)AWS AppConfigでは、アプリケーションは単にフォルダのような組織構造です。この組織構造は、実行可能なコードの単位と関係があります。たとえば、「」というアプリケーションを作成できます。 MyMobileApp ユーザーがインストールしたモバイルアプリケーションの構成データを整理および管理します。

環境

アプリケーションごとに、1 つ以上の環境を定義します。環境は、Beta または Production 環境内のアプリケーションなど、AWS AppConfig アプリケーションの論理的なデプロイメントグループです。アプリケーションの WebMobile、および Back-end といったコンポーネントを含む、アプリケーションのサブコンポーネントの環境を定義することもできます。Amazon を設定できます CloudWatch 各環境に対するアラーム。システムは、設定のデプロイ中にアラームをモニタリングします。アラームがトリガーされると、システムは設定をロールバックします。

設定プロファイル

設定プロファイルにより AWS AppConfig は保存場所の設定にアクセスできます。設定を保存できる形式と場所は次のとおりです。

  • AWS AppConfig でホストされた設定ストア内の YAML、JSON、またはテキストドキュメント

  • Amazon S3 バケット内のオブジェクト

  • Systems Manager ドキュメントストア内のドキュメント

  • パラメータストア内のパラメータ

設定プロファイルにオプションのバリデータを含めて、設定データが構文的にもセマンティック的にも正しいことを確認することもできます。AWS AppConfig は、デプロイの開始時にバリデータを使用してチェックを実行します。エラーが検出されると、設定のターゲットに変更が加えられる前にデプロイが停止します。

アプリケーションコードを有効にして、設定データを取得する

アプリケーションは、まず設定セッションを確立して設定データを取得します。AWS AppConfig データStartConfigurationSessionAPI アクション。その後、セッションのクライアントは定期的に電話をかけますGetLatestConfigurationをクリックして、利用可能な最新のデータをチェックして取得します。

呼び出し時StartConfigurationSessionを有効にすると、コードは次の情報を送信します。

  • の識別子 (ID または名前)AWS AppConfigセッションが追跡するアプリケーション、環境、設定プロファイル

  • (オプション) の呼び出しと呼び出しの間、セッションのクライアントが待機する最短時間GetLatestConfiguration

それに応えて、AWS AppConfig以下の内容を指定します。InitialConfigurationTokenセッションのクライアントに渡され、初回呼び出し時に使用されますGetLatestConfigurationそのセッションのために。

呼び出し時GetLatestConfiguration、クライアントコードは最新のものを送信しますConfigurationTokenそれが持っていて、応答として受け取る値:

  • NextPollConfigurationToken: のConfigurationToken次回の呼び出しで使用する値GetLatestConfiguration

  • NextPollIntervalInSeconds: クライアントが次の呼び出しを行う前に待機する時間GetLatestConfiguration。この期間はセッションの経過によって異なる可能性があるため、StartConfigurationSessionを呼び出します。

  • 設定:セッションを対象とした最新のデータ。クライアントがすでに最新バージョンの構成を持っている場合、これは空になることがあります。

詳細と例を表示するにはAWS CLIを使用して設定を取得する方法を示すコマンドAWS AppConfig データStartConfigurationSessionそしてGetLatestConfigurationAPI アクション、「」を参照してください設定を受信する

新規または更新された構成をデプロイする

AWS AppConfig を使用すると、アプリケーションのユースケースに最適な方法で設定をデプロイできます。変更を数秒でデプロイすることも、時間をかけてデプロイして変更の影響を評価することもできます。デプロイの制御に役立つ AWS AppConfig リソースを、デプロイ戦略と呼びます。展開戦略には、次の情報が含まれます。

  • デプロイにかかる合計時間。(DeploymentDurationInMinutes).

  • 各間隔でデプロイされた設定を取得するターゲットの割合。(GrowthFactor).

  • デプロイが完了し、自動ロールバックの対象とならないとみなすまで、アラームのために AWS AppConfig が監視する時間の合計。(FinalBakeTimeInMinutes).

一般的なシナリオをカバーする組み込みのデプロイ戦略を使用することも、独自のデプロイ戦略を作成することもできます。デプロイ戦略を作成または選択したら、デプロイを開始します。デプロイを開始すると、StartDeploymentAPI アクション。呼び出しには、デプロイするアプリケーション、環境、設定プロファイル、および設定データバージョン(オプション)の ID が含まれます。この呼び出しには、使用するデプロイ戦略の ID も含まれます。ID は、設定データのデプロイ方法を決定します。

注記

AWS AppConfig の言語固有の SDK については、「AWS AppConfig SDK」を参照してください。

AWS AppConfig の料金

AWS AppConfig 使用には料金が発生します。詳細については、「AWS Systems Manager の料金」を参照してください。

AWS AppConfig のクォータ

AWS AppConfig エンドポイントと Service Quotas および他の Systems Manager のクォータについては、「Amazon Web Services の全般リファレンス」で説明されています。

注記

AWS AppConfig 設定を格納するサービスのクォータについては、「設定ストアのクォータと制限について」を参照してください。