でのフリーフォーム設定プロファイルの作成 AWS AppConfig - AWS AppConfig

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

でのフリーフォーム設定プロファイルの作成 AWS AppConfig

設定プロファイルには、 が保存場所とプロファイルタイプで設定データを検索 AWS AppConfig できるようにする URI が含まれます。 は、機能フラグとフリーフォーム設定の 2 つの設定プロファイルタイプ AWS AppConfig をサポートしています。機能フラグ設定プロファイルは、 AWS AppConfig ホストされた設定ストアにデータを保存し、URI は単に ですhosted。フリーフォーム設定プロファイルの場合、 AWS AppConfig ホストされた設定ストア、または以下の AWS サービスや Systems Manager 機能のいずれかにデータを保存できます。

ロケーション サポートされているファイルの種類

AWS AppConfig ホスト設定ストア

を使用して追加した場合は、YAML、JSON、およびテキスト AWS Management Console。API アクションを使用して追加された場合の AWS AppConfig CreateHostedConfigurationVersion任意のファイルタイプ。

Amazon Simple Storage Service (Amazon S3)

すべて

AWS CodePipeline

パイプライン (サービスによって定義される)

AWS Secrets Manager

シークレット (サービスによって定義される)

AWS Systems Manager パラメータストア

標準で安全な文字列パラメータ (Parameter Store で定義される)

AWS Systems Manager ドキュメントストア (SSM ドキュメント)

YAML、JSON、テキスト

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

注記

可能な限り、ホストされた設定ストアで設定データをホストすることをお勧めします。ホスト AWS AppConfig された設定ストアは、最も多くの機能と機能強化を提供します。

AWS AppConfig ホストされた設定ストアまたは SSM ドキュメントに保存されているフリーフォーム設定の場合、設定プロファイルの作成時に Systems Manager コンソールを使用してフリーフォーム設定を作成できます。このプロセスについては、このトピックの後半で説明します。

Parameter Store、Secrets Manager または Amazon S3 に格納されているフリーフォーム設定の場合は、まずパラメータ、シークレット、またはオブジェクトを作成してから、関連する設定ストアに格納する必要があります。設定データを保存したら、このトピックの手順を使用して設定プロファイルを作成できます。

設定ストアのクォータと制限について

でサポートされている設定ストア AWS AppConfig には、次のクォータと制限があります。

AWS AppConfig ホスト設定ストア Amazon S3 Systems Manager Parameter Store AWS Secrets Manager Systems Manager ドキュメント・ストア AWS CodePipeline

設定サイズの制限

2 MB のデフォルト、最大 4 MB

2 MB

S3 AWS AppConfigではなく によって強制される

4 KB (無料利用枠)/8 KB (詳細パラメータ)

64 KB

64 KB

2 MB

ではなく AWS AppConfigによって強制される CodePipeline

リソースストレージの制限

1 GB

無制限

10,000 パラメータ (無料利用枠)/100,000 パラメータ (詳細パラメータ)

500,000

500 ドキュメント

アプリケーションごとの設定プロファイルの数によって制限される (アプリケーションあたり 100 プロファイル)

サーバー側の暗号化

あり

SSE-S3SSE-KMS

はい

はい

いいえ

あり

AWS CloudFormation のサポート

あり

データの作成または更新用ではありません

はい

はい

いいえ

あり

料金表

空き

Amazon S3 の料金」を参照してください

AWS Systems Manager 料金表」を参照してください

AWS Secrets Manager 料金表」を参照してください

空き

AWS CodePipeline 料金表」を参照してください

AWS AppConfig ホストされた設定ストアについて

AWS AppConfig には、内部設定ストアまたはホスト設定ストアが含まれています。設定は 2 MB 以下である必要があります。 AWS AppConfig ホストされた設定ストアには、他の設定ストアオプションに比べて次のような利点があります。

  • Amazon Simple Storage Service (Amazon S3) やパラメータストアなど、他のサービスをセットアップして設定する必要はありません。

  • 設定ストアを使用するための AWS Identity and Access Management (IAM) アクセス許可を設定する必要はありません。

  • 設定を YAML、JSON、またはテキストドキュメントとして保存できます。

  • ストアを使用してもコストは発生しません。

  • 構成プロファイルを作成したら、作成した構成をストアに追加できます。

Amazon S3 に保存された設定について

設定は、Amazon Simple Storage Service (Amazon S3) バケットに保存できます。設定プロファイルの作成時には、バケット内の 1 つの S3 オブジェクトの URI を指定します。また、オブジェクトを取得するアクセス許可を付与する (IAM) ロールの Amazon リソースネーム AWS Identity and Access Management (ARN) AWS AppConfig も指定します。Amazon S3 オブジェクトの設定プロファイルを作成する場合は、次の制限事項に注意してください。

制限 詳細

サイズ

S3 オブジェクトとして保存できる設定のサイズは最大 1 MB です。

オブジェクト暗号化

設定プロファイルは、SSE-S3 と SSE-KMS で暗号化されたオブジェクトを対象にすることができます。

ストレージクラス

AWS AppConfig は、、、STANDARDINTELLIGENT_TIERINGSTANDARD_IAおよび の S3 REDUCED_REDUNDANCYストレージクラスをサポートしますONEZONE_IA。すべての S3 Glacier クラス (GLACIER および DEEP_ARCHIVE) はサポートしていません。

バージョニング

AWS AppConfig では、S3 オブジェクトがバージョニングを使用する必要があります。

Amazon S3 オブジェクトとして保存する設定のアクセス許可の設定

S3 オブジェクトとして保存されている設定の設定プロファイルを作成するときは、オブジェクトを取得する AWS AppConfig アクセス許可を付与する IAM ロールの ARN を指定する必要があります。このロールには、以下のアクセス許可が含まれている必要があります。

S3 オブジェクトに対するアクセス許可

  • s3:GetObject

  • s3:GetObjectVersion

S3 オブジェクトを一覧表示するアクセス許可

s3:ListAllMyBuckets

オブジェクトを保存する S3 バケットへのアクセス許可

  • s3:GetBucketLocation

  • s3:GetBucketVersioning

  • s3:ListBucket

  • s3:ListBucketVersions

S3 オブジェクトに保存されている設定を AWS AppConfig が取得できるようにするロールを作成するには、以下の手順を実行します。

S3 オブジェクトにアクセスするための IAM ポリシーの作成

S3 オブジェクトに保存されている設定を AWS AppConfig が取得できるようにする IAM ポリシーを作成するには、次の手順に従います。

S3 オブジェクトにアクセスするための IAM ポリシーを作成するには
  1. https://console.aws.amazon.com/iam/ で IAM コンソール を開きます。

  2. ナビゲーションペインで ポリシーを選択してから ポリシーの作成を選択します。

  3. ポリシーの作成 ページで、JSON タブを選択します。

  4. S3 バケットおよび設定オブジェクトについての情報を、次のサンプルポリシーで更新します。次に、そのポリシーを JSON タブのテキストフィールドに貼り付けます。プレースホルダー値を独自の情報に置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/my-configurations/my-configuration.json" }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:ListBucketVersions", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }
  5. レビューポリシー を選択します。

  6. レビューポリシー ページの 名前 ボックスに名前を入力し、続いて説明を入力します。

  7. ポリシーの作成 を選択します。ロールページが再度表示されます。

S3 オブジェクトにアクセスするための IAM ロールの作成

S3 オブジェクトに保存されている設定を AWS AppConfig が取得できるようにする IAM ロールを作成するには、次の手順に従います。

Amazon S3 オブジェクトにアクセスするための IAM ポリシーを作成するには
  1. https://console.aws.amazon.com/iam/IAMコンソールを開きます。

  2. ナビゲーションペインで ロールを選択してから、ロールを作成する を選択します。

  3. 信頼するエンティティのタイプを選択AWS サービス ( ) を選択します。

  4. ユースケースの選択 セクションの 一般的ユースケースEC2 を選択して、次へ: アクセス許可 を選択します。

  5. アクセス権限ポリシーをアタッチする ページで、検索ボックスに前の手順で作成したポリシーの名前を入力します。

  6. ポリシーを選択して、次へ: タグ を選択します。

  7. タグ (オプショナル) の追加 ページでキーと任意の値を入力して、次へ: 確認 を選択します。

  8. 確認 ページの ロール名 フィールドに名前を入力し、続いて説明を入力します。

  9. ロールを作成するを選択します。ロールページが再度表示されます。

  10. ロール ページで作成したロールを選択して、概要 ページを開きます。ロール名ロール ARN を書き留めます。このロール ARN は、このトピックで後述する設定プロファイルの作成時に指定します。

信頼関係の作成

次の手順を使用して、先ほど作成したロールが AWS AppConfigを信頼するように設定します。

信頼関係を追加するには
  1. 作成したロールの 概要 ページで 信頼関係 タブを選択し、信頼関係の編集 を選択します。

  2. 次の例に示すように、"ec2.amazonaws.com" を削除して "appconfig.amazonaws.com" を追加します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "appconfig.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  3. 信頼ポリシーの更新 を選択します。

フリーフォーム設定および設定プロファイルの作成

このセクションでは、フリーフォーム設定および設定プロファイルを作成する方法について説明します。開始する前に、以下の情報に注意してください。

  • 次の手順では、選択した設定ストアの設定データに AWS AppConfig がアクセスできるように、IAM サービスロールを指定する必要があります。 AWS AppConfig ホストされた設定ストアを使用する場合、このロールは必要ありません。S3、Parameter Store、または Systems Manager のドキュメントストアを選択した場合は、既存の IAM ロールを選択するか、システムによってロールを自動的に作成するオプションを選択する必要があります。詳細については、「設定プロファイルの IAM ロールについて」を参照してください。

  • 次の手順では、拡張機能を機能フラグ設定プロファイルに関連付けるオプションも提供します。拡張機能を使用すると、設定を作成またはデプロイする AWS AppConfig ワークフロー中に、さまざまなポイントにロジックまたは動作を挿入する機能を強化できます。詳細については、「AWS AppConfig 拡張機能について」を参照してください。

  • S3 に保存されている設定用の設定プロファイルを作成する場合は、アクセス許可を設定する必要があります。S3 を設定ストアとして使用するためのアクセス許可およびその他の要件の詳細については、「Amazon S3 に保存された設定について」を参照してください。

  • バリデータを使用する場合は、バリデータを使用するための詳細と要件を確認してください。詳細については、「バリデータについて」を参照してください。

AWS AppConfig フリーフォーム設定プロファイルの作成 (コンソール)

AWS Systems Manager コンソールを使用して AWS AppConfig 、フリーフォーム設定プロファイルと (オプションで) フリーフォーム設定を作成するには、次の手順を使用します。

フリーフォーム設定プロファイルを作成するには
  1. https://console.aws.amazon.com/systems-manager/appconfig/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、アプリケーション を選択し、 で作成したアプリケーションを選択しますAWS AppConfigでアプリケーションの名前空間を作成します。

  3. 設定プロファイルと機能フラグ タブを選択し、設定の作成 を選択します。

  4. 「設定オプション」セクションで、「フリーフォーム設定」を選択します。

  5. 設定プロファイル名 に、設定プロファイルの名前を入力します。

  6. (オプション) 説明 を展開し、説明を入力します。

  7. (オプション) 追加オプションを展開し、必要に応じて以下を完了します。

    1. 「拡張の関連付け」セクションで、リストから拡張を選択します。

    2. タグセクションで、新しいタグを追加 を選択し、キーとオプションの値を指定します。

  8. [次へ] をクリックします。

  9. 「設定データを指定」ページの「設定定義」セクションで、オプションを選択します。

  10. 次の表に示すように、選択したオプションのフィールドに入力します。

    選択したオプション 詳細

    AWS AppConfig ホスト設定

    テキスト JSON 、または YAML のいずれかを選択し、 フィールドに設定を入力します。この手順のステップ 12 に進みます。

    Amazon S3 オブジェクト

    S3 オブジェクトソースフィールドにオブジェクト URI を入力し、この手順のステップ 11 に進みます。

    AWS CodePipeline

    次へを選択し、この手順のステップ 12 に進みます。

    Secrets Manager シークレット

    リストからシークレットを選択すると、この手順のステップ 11 に進みます。

    AWS Systems Manager parameter

    リストから パラメータを選択し、この手順のステップ 11 に進みます。

    AWS Systems Manager document

    1. リストからドキュメントを選択するか、新しいドキュメントの作成 を選択します。

    2. 新しいドキュメントの作成 を選択した場合は、ドキュメント名 に名前を入力します。オプションで、バージョン名を展開し、ドキュメントバージョンの名前を入力します。

    3. アプリケーション設定スキーマ では、リストから JSON スキーマを選択するか、スキーマの作成 を選択します。スキーマの作成 を選択すると、Systems Manager は スキーマの作成 ページを開きます。スキーマの詳細を入力し、「レプリケーション設定スキーマの作成」を選択します。

    4. コンテンツ セクションで、YAML または JSON を選択し、フィールドに設定データを入力します。

  11. 「サービスロール」セクションで、「新しいサービスロール」を選択して、設定データへのアクセスを提供する IAM ロール AWS AppConfig を作成します。 は、前に入力した名前に基づいてロール名フィールド AWS AppConfig を自動的に入力します。または、「既存のサービスロール」を選択します。ロール ARN リストを使用してロールを選択します。

  12. オプションで、検証の追加ページで、JSON スキーマまたは を選択しますAWS LambdaJSON スキーマ を選択した場合、フィールドに JSON スキーマを入力します。AWS Lambda を選択した場合は、リストから関数 Amazon リソースネーム (ARN) とバージョンを選択します。

    重要

    SSM ドキュメントに保存された設定データは、設定をシステムに追加する前に、関連付けられた JSON スキーマに対して検証する必要があります。SSM パラメータには検証方法は必要ありませんが、 を使用して、新規または更新された SSM パラメータ設定の検証チェックを作成することをお勧めします AWS Lambda。

  13. [次へ] をクリックします。

  14. 確認と保存ページで、保存を選択して のデプロイを続行します。

重要

の設定プロファイルを作成した場合は AWS CodePipeline、デプロイプロバイダーとして CodePipeline を指定するパイプライン AWS AppConfig を に作成する必要があります。AWS AppConfigへの機能フラグと設定データのデプロイ を実行する必要はありません。ただし、「API を直接呼び出して設定を取得します。」で説明されているように、アプリケーション設定の更新を受け取るようにクライアントを設定する必要があります。をデプロイプロバイダー AWS AppConfig として指定するパイプラインの作成については、「 AWS CodePipeline ユーザーガイド」の「チュートリアル: をデプロイプロバイダー AWS AppConfig として使用するパイプラインを作成する」を参照してください。

AWS AppConfigへの機能フラグと設定データのデプロイ に進みます。

AWS AppConfig フリーフォーム設定プロファイルの作成 (コマンドライン)

次の手順では、 AWS CLI (Linux または Windows の場合) または AWS Tools for PowerShell を使用して AWS AppConfig フリーフォーム設定プロファイルを作成する方法について説明します。必要に応じて、 AWS CloudShell を使用して以下のコマンドを実行できます。詳細については、『 AWS CloudShellユーザーガイド』の「What is AWS CloudShell ? ( とは?)」 を参照してください。

注記

ホストされた設定ストアで AWS AppConfig ホストされているフリーフォーム設定の場合は、ロケーション URI hostedに を指定します。

を使用して設定プロファイルを作成するには AWS CLI
  1. を開きます AWS CLI。

  2. 次のコマンドを実行して、フリーフォーム設定プロファイルを作成します。

    Linux
    aws appconfig create-configuration-profile \ --application-id The_application_ID \ --name A_name_for_the_configuration_profile \ --description A_description_of_the_configuration_profile \ --location-uri A_URI_to_locate_the_configuration or hosted \ --retrieval-role-arn The_ARN_of_the_IAM_role_with_permission_to_access_the_configuration_at_the_specified_LocationUri \ --tags User_defined_key_value_pair_metadata_of_the_configuration_profile \ --validators "Content=JSON_Schema_content_or_the_ARN_of_an_AWS Lambda_function,Type=JSON_SCHEMA or LAMBDA"
    Windows
    aws appconfig create-configuration-profile ^ --application-id The_application_ID ^ --name A_name_for_the_configuration_profile ^ --description A_description_of_the_configuration_profile ^ --location-uri A_URI_to_locate_the_configuration or hosted ^ --retrieval-role-arn The_ARN_of_the_IAM_role_with_permission_to_access_the_configuration_at_the_specified_LocationUri ^ --tags User_defined_key_value_pair_metadata_of_the_configuration_profile ^ --validators "Content=JSON_Schema_content_or_the_ARN_of_an_AWS Lambda_function,Type=JSON_SCHEMA or LAMBDA"
    PowerShell
    New-APPCConfigurationProfile ` -Name A_name_for_the_configuration_profile ` -ApplicationId The_application_ID ` -Description Description_of_the_configuration_profile ` -LocationUri A_URI_to_locate_the_configuration or hosted ` -RetrievalRoleArn The_ARN_of_the_IAM_role_with_permission_to_access_the_configuration_at_the_specified_LocationUri ` -Tag Hashtable_type_user_defined_key_value_pair_metadata_of_the_configuration_profile ` -Validators "Content=JSON_Schema_content_or_the_ARN_of_an_AWS Lambda_function,Type=JSON_SCHEMA or LAMBDA"
重要

次の重要な情報に注意してください。

AWS AppConfigへの機能フラグと設定データのデプロイ に進みます。