パラメータ層の管理 - AWS Systems Manager

パラメータ層の管理

AWS Systems Manager の一機能である Parameter Store には、スタンダードパラメータアドバンストパラメータが含まれています。スタンダードパラメータ階層 (デフォルト階層) またはアドバンストパラメータ階層を使用するようパラメータを個別に設定します。

スタンダードパラメータをアドバンストパラメータに変更することはできますが、アドバンストパラメータをスタンダードパラメータに変更することはできません。アドバンストパラメータをスタンダードパラメータに戻すと、システムはパラメータのサイズを 8 KB から 4 KB に切り捨て、データが失われるためです。元に戻すと、パラメータにアタッチされたポリシーも削除されます。また、アドバンストパラメータはスタンダードパラメータよりもさまざまな暗号化形式を使用します。詳細については、AWS Key Management Service デベロッパーガイドの「AWS Systems ManagerParameter Store が AWS KMS を使用する方法」を参照してください。

アドバンストパラメータが不要になった場合、またはアドバンストパラメータの料金を抑えたい場合は、アドバンストパラメータを削除して新しいスタンダードパラメータとして再作成します。

以下の表では、階層の違いについて説明しています。

スタンダード アドバンスト

許可されるパラメータの合計数

(AWS アカウント および AWS リージョン あたり)

10,000

100,000

パラメータ値の最大サイズ

4 KB

8 KB

パラメータポリシーの使用可否

いいえ

はい

詳細については、パラメータポリシーの割り当てを参照してください

Cost

追加料金なし

料金対象

詳細については、「Parameter Store 向けの AWS Systems Manager 料金」を参照してください。

デフォルトのパラメータ階層の指定

パラメータを作成または更新するリクエスト (つまり、PutParameter オペレーション) では、リクエストで使用するパラメータ階層を指定できます。以下に示しているのは、AWS Command Line Interface (AWS CLI) を使用した例です。

Linux & macOS
aws ssm put-parameter \ --name "default-ami" \ --type "String" \ --value "t2.micro" \ --tier "Standard"
Windows
aws ssm put-parameter ^ --name "default-ami" ^ --type "String" ^ --value "t2.micro" ^ --tier "Standard"

リクエストで階層を指定するたびに、Parameter Store はリクエストに応じてパラメータを作成または更新します。ただし、リクエストで階層を明示的に指定しない場合、デフォルトの Parameter Store 階層設定によって、パラメータが作成される階層が決まります。

スタンダードパラメータ階層は、Parameter Store の使用を開始するときのデフォルトの階層です。アドバンストパラメータ階層を使用する場合、デフォルトとして次のいずれかを指定できます。

  • アドバンスト: このオプションでは、パラメータストアはすべてのリクエストをアドバンストパラメータとして評価します。

  • Intelligent-Tiering: このオプションでは、Parameter Store は各リクエストを評価して、パラメータがスタンダードパラメータかアドバンストパラメータかを判断します。

    リクエストに詳細パラメータを必要とするオプションが含まれていない場合、パラメータは標準パラメータ階層で作成されます。アドバンストパラメータを必要とする 1 つ以上のオプションがリクエストに含まれている場合、Parameter Store はアドバンストパラメータ階層でパラメータを作成します。

Intelligent-Tiering の利点

以下は、デフォルトの階層として Intelligent-Tiering を選択する理由です。

コスト管理 - Intelligent-Tiering は、高度なパラメータが絶対に必要な場合を除き、常に標準パラメータを作成することで、パラメータ関連のコストを管理するのに役立ちます。

アドバンストパラメータ階層への自動アップグレード - 標準パラメータをアドバンストパラメータにアップグレードする必要があるコードに変更を加えると、Intelligent-Tiering によって変換が処理されます。アップグレードを処理するためにコードを変更する必要はありません。

自動アップグレードの例をいくつか示します。

  • AWS CloudFormation テンプレートは、実行時に多数のパラメータをプロビジョニングします。このプロセスによって標準パラメータ階層で 10,000 個のパラメータのクォータに達した場合、Intelligent-Tiering によって自動的にアドバンストパラメータ階層にアップグレードされ、AWS CloudFormation プロセスは中断されません。

  • 証明書値をパラメータに保存し、証明書値を定期的にローテーションします。コンテンツは標準パラメータ階層の 4 KB のクォータを下回ります。代替証明書の値が 4 KB を超える場合、Intelligent-Tiering は自動的にパラメータをアドバンストパラメータ階層にアップグレードします。

  • 多数の既存の標準パラメータをパラメータポリシーに関連付ける必要があります。これには、アドバンストパラメータ階層が必要です。パラメータを更新するすべての呼び出しに --tier Advanced オプションを含める必要はなく、Intelligent-Tiering は自動的にパラメータをアドバンストパラメータ階層にアップグレードします。Intelligent-Tiering オプションは、アドバンストパラメータ階層の基準が導入されるたびに、パラメータを標準からアドバンストにアップグレードします。

アドバンストパラメータを必要とするオプションには、以下が含まれます。

  • パラメータのコンテンツサイズが 4 KB を超えています。

  • パラメータは、パラメータポリシーを使用します。

  • 現在の AWS リージョン では、10,000 を超えるパラメータが既に AWS アカウント に存在します。

デフォルトの階層オプション

デフォルトとして指定できる階層オプションには、以下が含まれます。

  • スタンダード – スタンダードパラメータ階層は、Parameter Store の使用を開始するときのデフォルトの階層です。スタンダードパラメータ階層を使用すると、AWS アカウント の AWS リージョン ごとに 10,000 個のパラメータを作成できます。各パラメータのコンテンツサイズは最大 4 KB と等しくできます。標準パラメータはパラメータポリシーをサポートしていません。標準パラメータ階層の使用に追加料金はかかりません。デフォルト階層として [標準] を選択すると、Parameter Store は常に、階層を指定しないリクエストに対して標準パラメータの作成を試みます。

  • アドバンスト – アドバンストパラメータ階層を使用して、AWS アカウント の AWS リージョン ごとに最大 100,000 個のパラメータを作成します。各パラメータのコンテンツサイズは、最大 8 KB と等しくできます。アドバンストパラメータはパラメータポリシーをサポートします。アドバンストパラメータ階層の使用には料金が発生します。詳細については、「Parameter Store 向けの AWS Systems Manager 料金」を参照してください。デフォルト階層として [アドバンスト] を選択すると、Parameter Store は階層を指定しないリクエストに対して常にアドバンストパラメータの作成を試みます。

    注記

    アドバンストパラメータ階層を選択する場合、作成するアドバンストパラメータについて AWS がアカウントに課金することを明示的に承認します。

  • Intelligent-Tiering – Intelligent-Tiering オプションを使用して、Parameter Store は、リクエストのコンテンツに基づいて、スタンダードパラメータ階層またはアドバンストパラメータ階層のどちらを使用するか決定します。例えば、4 KB 未満のコンテンツを持つパラメータを作成するコマンドを実行し、AWS アカウント の現在の AWS リージョン に存在するパラメータが 10,000 個未満であり、パラメータポリシーを指定しない場合、標準パラメータが作成されます。4 KB を超えるコンテンツを含むパラメータを作成するコマンドを実行する場合、AWS アカウント の現在の AWS リージョン に 10,000 個を超えるパラメータが既にある場合、またはパラメータポリシーを指定すると、アドバンストパラメータが作成されます。

    注記

    Intelligent-Tiering を選択する場合、作成したアドバンストパラメータについて AWS がアカウントに課金することを明示的に承認する必要があります。

デフォルトの Parameter Store 階層設定はいつでも変更できます。

デフォルトの Parameter Store 階層を指定するアクセス許可の設定

次のいずれかを実行して、Parameter Store のデフォルトパラメータ階層を変更するアクセス許可が AWS Identity and Access Management (IAM) にあることを確認します。

  • AdministratorAccess ポリシーが IAM エンティティ (ユーザー、グループ、ロールなど) にアタッチされていることを確認します。

  • 次の API オペレーションを使用して、デフォルト階層設定を変更するアクセス権限があることを確認します。

IAM エンティティに次のアクセス許可を付与して、ユーザーが AWS アカウント の特定の AWS リージョン でパラメータのデフォルト階層の設定を表示および変更できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:UpdateServiceSetting" ], "Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" } ] }

管理者は、次のアクセス許可を割り当てることで、読み取り専用のアクセス許可を指定することができます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ssm:ResetServiceSetting", "ssm:UpdateServiceSetting" ], "Resource": "*" } ] }

アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。

デフォルトの Parameter Store 階層の指定または変更 (コンソール)

次の手順は、Systems Manager コンソールを使用して、現在の AWS アカウント と AWS リージョン のデフォルトのパラメータ階層を指定または変更する方法を示しています。

ヒント

まだパラメータを作成していない場合は、AWS Command Line Interface (AWS CLI) または AWS Tools for Windows PowerShell を使用してデフォルトのパラメータ層を変更できます。詳細については、「デフォルトの Parameter Store 階層の指定または変更 (AWS CLI)」および「デフォルトの Parameter Store 階層の指定または変更 (PowerShell)」を参照してください。

デフォルトの Parameter Store 階層を指定または変更するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Parameter Store] を選択します。

  3. [Settings] タブを選択します。

  4. [ Change default tier (デフォルト階層の変更)] を選択します。

  5. 次のいずれかのオプションを選択します。

    • スタンダード

    • アドバンスト

    • [Intelligent-Tiering]

    これらのオプションについては、「デフォルトのパラメータ階層の指定」を参照してください。

  6. メッセージを確認したら、[確認] を選択します。

デフォルト階層の設定を後で変更する場合は、この手順を繰り返し、別のデフォルト階層オプションを指定します。

デフォルトの Parameter Store 階層の指定または変更 (AWS CLI)

次の手順では、AWS CLI を使用して、現在の AWS アカウント と AWS リージョン のデフォルトのパラメータ階層の設定を変更する方法を示します。

AWS CLI を使用してデフォルトの Parameter Store 階層を指定または変更するには
  1. AWS CLI を開き、次のコマンドを実行して、AWS アカウント の特定の AWS リージョン のデフォルトのパラメータ階層設定を変更します。

    aws ssm update-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier --setting-value tier-option

    region は、米国東部 (オハイオ) リージョンの us-east-2 のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている region 値の一覧については、「Amazon Web Services 全般のリファレンス」の「Systems Manager サービスエンドポイント」にある Region 列を参照してください。

    階層オプション の値は、StandardAdvanced、および Intelligent-Tiering です。これらのオプションについては、「デフォルトのパラメータ階層の指定」を参照してください。

    コマンドが成功した場合、出力はありません。

  2. 次のコマンドを実行して、現在の AWS アカウント と AWS リージョン の Parameter Store で現在のデフォルトパラメータ層のサービス設定を表示します。

    aws ssm get-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier

    システムは以下のような情報を返します。

    {
        "ServiceSetting": {
            "SettingId": "/ssm/parameter-store/default-parameter-tier",
            "SettingValue": "Advanced",
            "LastModifiedDate": 1556551683.923,
            "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/Jasper",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier",
            "Status": "Customized"
        }
    }

デフォルトの階層設定を再び変更する場合は、この手順を繰り返し、別の SettingValue オプションを指定します。

デフォルトの Parameter Store 階層の指定または変更 (PowerShell)

次の手順では、Tools for Windows PowerShell を使用して、Amazon Web Services アカウントの特定の AWS リージョン のデフォルトのパラメータ階層の設定を変更する方法を示します。

PowerShell を使用してデフォルトの Parameter Store 階層を指定または変更するには
  1. AWS Tools for PowerShell (Tools for PowerShell) を使用して、現在の AWS アカウント と AWS リージョン の Parameter Store のデフォルト階層を変更します。

    Update-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" -SettingValue "tier-option" -Region region

    region は、米国東部 (オハイオ) リージョンの us-east-2 のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている region 値の一覧については、「Amazon Web Services 全般のリファレンス」の「Systems Manager サービスエンドポイント」にある Region 列を参照してください。

    階層オプション の値は、StandardAdvanced、および Intelligent-Tiering です。これらのオプションについては、「デフォルトのパラメータ階層の指定」を参照してください。

    コマンドが成功した場合、出力はありません。

  2. 次のコマンドを実行して、現在の AWS アカウント と AWS リージョン の Parameter Store で現在のデフォルトパラメータ層のサービス設定を表示します。

    Get-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" -Region region

    region は、米国東部 (オハイオ) リージョンの us-east-2 のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている region 値の一覧については、「Amazon Web Services 全般のリファレンス」の「Systems Manager サービスエンドポイント」にある Region 列を参照してください。

    システムは以下のような情報を返します。

    ARN : arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier
    LastModifiedDate : 4/29/2019 3:35:44 PM
    LastModifiedUser : arn:aws:sts::123456789012:assumed-role/Administrator/Jasper
    SettingId        : /ssm/parameter-store/default-parameter-tier
    SettingValue     : Advanced
    Status           : Customized
    

デフォルトの階層設定を再び変更する場合は、この手順を繰り返し、別の SettingValue オプションを指定します。

スタンダードパラメータをアドバンストパラメータに変更する

既存のスタンダードパラメータをアドバンストパラメータに変更するには、次の手順を使用します。新しい詳細パラメータの作成方法については、「Systems Manager パラメータを作成する」を参照してください。

スタンダードパラメータをアドバンストパラメータに変更するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Parameter Store] を選択します。

  3. パラメータを選択してから、[編集] を選択します。

  4. [説明] に、このパラメータに関する情報を入力します。

  5. [Advanced] を選択します。

  6. []に、このパラメータの値を入力します。アドバンストパラメータの最大値は 8 KB に制限されます。

  7. [Save changes] を選択します。