AWS AppConfig とは? - AWS AppConfig

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

AWS AppConfig とは?

を使用するAWS AppConfigの「」の機能であるAWS Systems Managerを使用して、アプリケーション設定を作成、管理し、迅速にデプロイします。設定は、アプリケーションの動作に影響する設定のコレクションです。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 CodePipelineBitbucket Pipelines から設定をソースするための統合、GitHub, およびAWS CodeCommit。

  • 検証する

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

  • デプロイと監視

    デプロイ条件とレートコントロールを定義して、ターゲットが新しい構成を取得する方法を決定します。を使用するAWS AppConfigデプロイメントストラテジーは、デプロイ速度、デプロイ時間、およびベイク時間を設定します。を使用して各デプロイメントを監視して、プロアクティブにエラーを検出します。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 SSM エージェントまたはAWS Identity and Access Management他の Systems Manager 機能で必要な (IAM) インスタンスプロファイル。つまり、AWS AppConfig はアンマネージド型インスタンスで動作します。

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

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

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

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

AWS AppConfig の使用を開始

以下のリソースは、AWS AppConfig を直接使用する場合に役立ちます。

動画:AWS AppConfig概要

の概要の動画を見るAWS AppConfig。(デュレーション:9:12)

もっと見るAWSの動画アマゾンウェブサービスYouTubeチャネル

詳細については、以下のブログを参照してください。AWS AppConfigその機能は次のとおりです。

How AWS AppConfig works

大まかに言って、を操作するプロセスは 3 つあります。AWS AppConfig:

  1. 設定 AWS AppConfigを使用して、アプリケーションで動作します。

  2. の有効化定期的にを確認して設定データを取得するためのアプリケーションコードAWS AppConfig。

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

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

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

を設定するにはAWS AppConfigアプリケーションで動作するには、次の表で説明する 3 つのタイプのリソースを設定します。

リソース 詳細

Application

EclipseAWS AppConfigでは、アプリケーションは単にフォルダのような組織構造です。この組織構成は、実行可能コードの単位との関係を持っています。たとえば、「」というアプリケーションを作成できます。MyMobileユーザーによってインストールされたモバイルアプリケーションの構成データを整理および管理するためのアプリ。

環境

アプリケーションごとに、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 が監視する時間の合計。(FinalBakeTimeIn分).

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

注記

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

AWS AppConfig の料金

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

AWS AppConfig のクォータ

に関する情報AWS AppConfigエンドポイントとサービスクォータと他の Systems Manager のクォータは、Amazon Web Services 全般リファレンス

注記

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