2022/04/19

AWS AppConfigとは?特徴5つや操作方法・料金について紹介!

 
  

AWSとは

Amazon Web Services(AWS)は、アメリカの大手企業「Amazon.com」が提供しているクラウドサービスです。 175を超える製品が提供されており、多種多様なワークロードに対応しています。また、多くのサービスには無料利用枠があり、手軽にお試しができます。 日本の他、アメリカや中国、ドイツ、イギリスなど多くの地域にリージョンを展開しており、世界各国に向けた発信が可能です。

AWS AppConfigとは

AWS AppConfigは、アプリケーションの管理・デプロイをサポートするサービスです。 AWS Systems Managerの機能の一種で、アプリケーションの構成データを検証・デプロイできます。また、プロセスが正常に完了したかどうかのモニタリングも行えます。

AWS Systems Managerとは

AWS Systems Managerは、AWSリソースの運用データを管理・制御するサービスです。 各リソースの運用データ、システムやセキュリティの設定、ソフトウェアのインストール状況などを可視化し、一元管理できます。管理タスクを自動化できる機能もあります。 多数の機能で構成されており、5つのカテゴリに分別されています。その中で使いたい機能を有効にすることで利用します。

AWS AppConfigの特徴5つ

この項目では、AWS AppConfigの特徴5つをご紹介します。 さまざまな種類のアプリケーションのデプロイに対応し、構成データを検証して正常な場合のみ実行するようにします。不具合があればロールバックして、エラーを最小限に食い止めます。 同じくデプロイをサポートするサービスとして、CodeDeployがあります。ただし、対応範囲が異なっており、AWS AppConfigがコードやアプリケーションそのものをデプロイするのに対し、こちらは構成データをデプロイします。目的に合わせて選択すると良いでしょう。 コストはかかりますが、併用することでデプロイをより強固にすることも可能です。

特徴1:アプリケーションの管理が簡単になる

AWS AppConfigを利用することで、アプリケーションの管理を簡単にできます。 AppConfigでは、設定の変更を一元的にデプロイできます。これにより、複数のアプリケーションをまとめて管理できます。 設定はSystems Manager(SSM)ドキュメント、Parameter Store、Simple Storage Service(S3)に保存できます。

特徴2:デプロイを制御できる

AWS AppConfigは、デプロイ戦略を使用してデプロイを制御できます。 デプロイ戦略とは、アプリケーションのデプロイをどのように行っていくかを計画し、制御することです。これにより、構成の変更に伴うエラーや不具合の発生リスクを抑制できます。 項目としては、デプロイにかかった時間、構成を受信したターゲットの割合、完了後に不具合がないかチェックした時間などがあります。

特徴3:検証によりエラーを減らせる

AWS AppConfigには、設定を検証する機能があります。 アプリケーションをデプロイする前に、構成データやデプロイの設定が正しいかどうかを確認できます。正しくなかった場合、デプロイは行われません。これにより、不備によるエラーやダウンタイムの発生を抑制できます。 検証にはバリデータが使用されています。バリデータとは、データの構文や意味をチェックし、設定通りに動くかをテストする機能です。JSONスキーマまたはLambda関数として作成できます。

特徴4:幅広いインスタンスに対応

AWS AppConfigは、幅広いインスタンスに対応しています。 AppConfigでは、インフラストラクチャに合わせてスケーリングが可能です。この機能により、Elastic Compute Cloud(EC2)、Lambda、コンテナなど、さまざまな環境で使用できます。

特徴5:アプリケーションの一時停止が不要

AWS AppConfigは、アプリケーションを停止せずにデプロイが可能です。 デプロイにあたって、アプリケーションを一時停止したり、重いプロセスを実行する必要がありません。また、構成データを変更した時にもコードのデプロイは不要です。これらにより、ダウンタイムを抑制できます。

AWS AppConfigの操作方法

この項目では、AWS AppConfigの操作方法について簡単に説明します。 流れとしては、アプリケーションで動かせるようにする→APIを呼び出せるようにする→戦略を選択してデプロイ、という形になります。 詳しい手順については、公式ドキュメントをご覧ください。

AWS AppConfig を設定

まず、AppConfigをアプリケーションで動かせるようにします。 設定にあたり、アプリケーション、環境、保存先のデバイスの3つをセットアップします。いずれもSystems Manager コンソールから作成できます。

アプリケーション

アプリケーションは、Systems ManagerコンソールのAWS AppConfigから作成できます。 名前や情報、キーとオプションの値などを入力し、アプリケーションを作成します。この過程を完了すると、環境の作成が可能になり、タブが追加されます。

環境

アプリケーションが作成できれば、次は環境を作成します。 上記と同様にSystems Managerコンソールを使用し、環境の名前や情報などを入力していきます。 この時、コンポーネントの定義やCloudWatchアラームの有効化ができます。CloudWatchを使用する場合はアクセス許可が必要なので、あらかじめ設定しておきましょう。

保存先

次に、設定の保存先を決定します。 Systems Manager コンソールから設定の名前や情報を入力した後、保存先を選択します。 保存先として、Parameter Store、S3、Systems Managerドキュメントなどがあります。どれを選択したかによって、その後の手順が若干異なります。 保存先の設定が終わったら、アクセス許可とバリデータを追加して、第1ステップは完了です。

GetConfiguration APIの呼び出し設定

次に、GetConfiguration APIを有効化します。 GetConfiguration APIアクションを実行すると、構成の更新を受け取ることができます。コードを設定して、これを呼び出せるようにします。 定期的に呼び出すように設定することで、自動的に更新を確認・受信できます。

デプロイ戦略を選択してデプロイを開始する

最後に、デプロイ戦略を選択します。 デプロイ戦略は、デフォルトでいくつか定義されています。すぐにでもデプロイを始めたい場合は、これらから選択すると良いでしょう。自分で作成することも可能です。 この他、バージョンや説明などを入力したら、デプロイを開始します。正しく実行されているか確認しておきましょう。

AWS AppConfigの料金

AWS AppConfigの料金は、使用した分だけ課金される仕組みになっています。 GetConfiguration APIを100万回呼び出すごとに0.2USD(≒約20円)、AppConfigから構成データを受信するごとに0.0008USD(≒0.08円)の料金が発生します。 更新が確認されるたびにデータを受信するため、あまり頻繁に更新するとコストがかさむ可能性があります。更新は計画的に行うようにしましょう。 また、設定の保存先としてParameter StoreやS3を使用した場合、そちらの料金も加味されるので、確認しておきましょう。
GetConfiguration API コール 1M GetConfiguration コールあたり 0.2 USD 受信した構成 受信した構成あたり 0.0008 USDhttps://aws.amazon.com/jp/systems-manager/pricing/

AWS AppConfigで安全にデプロイしよう

本記事では、AWS AppConfigについてご紹介しました。 構成データを検証し、その構文や意味が正しく記述されているかを確認することで、エラーやダウンタイムを減らせます。EC2、Lambdaをはじめ、多様なインスタンスに対応していることもメリットです。 デプロイを安全に行えるようにしたいという方は、活用してみましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】