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

パラメータ層の管理

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

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

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

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

標準 アドバンスト

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

(AWS アカウントおよびリージョンごと)

10,000

100,000

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

4 KB

8 KB

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

いいえ

はい

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

Cost

追加料金なし

料金対象

詳細については、「AWS Systems Manager 料金表」を参照してください。

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

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

aws ssm put-parameter \ --name "default-ami" \ --type "String" \ --value "t2.micro" \ --tier "Standard"

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

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

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

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

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

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

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

    注記

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

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

    注記

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

デフォルトの パラメータストア 階層設定はいつでも変更できます。

デフォルトの パラメータストア 階層を指定するアクセス許可の設定

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

  • AdministratorAccess ポリシーが、IAM ユーザー、グループ、またはロールにアタッチされていることを確認する。

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

インライン IAM ポリシーをユーザーアカウントに追加するには、以下の手順に従います。このポリシーにより、ユーザーは AWS アカウントの特定のリージョンのパラメータのデフォルト階層設定を表示および変更できます。

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

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

  3. 一覧で、ポリシーをアタッチするユーザーの名前を選択します。

  4. [Permissions] タブを選択します。

  5. ページ右側にある [Permission policies (権限のポリシー)] で、[Add inline policy (インラインポリシーの追加)] を選択します。

  6. [JSON] タブを選択します。

  7. デフォルトコンテンツを以下のものと置き換えます。

    { "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" } ] }
  8. [ポリシーの確認] を選択します。

  9. [Review policy (ポリシーの確認)] ページで、[Name (名前)] に Parameter-Store-Default-Tier または別の名前などのインラインポリシーの名前を入力します。

  10. [Create policy] を選択します。

管理者はユーザーのアカウントに、次のインラインポリシーを割り当てることで、読み取り専用アクセス許可を指定できます。

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

IAM ポリシーの作成と編集の詳細については、IAM ユーザーガイド の「IAM ポリシーの作成」を参照してください。

デフォルトの パラメータストア 階層の指定または変更 (コンソール)

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

ヒント

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

デフォルトの パラメータストア 階層を指定または変更するには

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで [パラメータストア] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、[パラメータストア] を選択します。

  3. [Settings (設定)] タブを選択します。

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

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

    • Standard

    • アドバンスト

    • [Intelligent-Tiering]

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

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

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

デフォルトの パラメータストア 階層の指定または変更 (AWS CLI)

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

AWS CLI を使用してデフォルトの パラメータストア 階層を指定または変更するには

  1. AWS CLI を開き、次のコマンドを実行して、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

    リージョンは、AWS Systems Manager によってサポートされている AWS リージョンの ID (例: 米国東部 (オハイオ) リージョン の場合は us-east-2) を表します。サポートされるリージョンのリストについては、「アマゾン ウェブ サービス全般のリファレンスの「Systems Manager サービスエンドポイント」」のリージョン列を参照してください。

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

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

  2. 次のコマンドを実行して、現在の AWS アカウントおよびリージョンの パラメータストア での現在のスループットサービス設定を表示します。

    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 オプションを指定します。

デフォルトの パラメータストア 階層の指定または変更 (PowerShell)

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

PowerShell を使用してデフォルトの パラメータストア 階層を指定または変更するには

  1. AWS Tools for PowerShell を使用して、現在の パラメータストア アカウントとリージョンのデフォルトの AWS 階層を変更します。

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

    リージョンは、AWS Systems Manager によってサポートされている AWS リージョンの ID (例: 米国東部 (オハイオ) リージョン の場合は us-east-2) を表します。サポートされるリージョンのリストについては、「アマゾン ウェブ サービス全般のリファレンスの「Systems Manager サービスエンドポイント」」のリージョン列を参照してください。

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

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

  2. 次のコマンドを実行して、現在の AWS アカウントおよびリージョンの パラメータストア での現在のスループットサービス設定を表示します。

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

    リージョンは、AWS Systems Manager によってサポートされている AWS リージョンの ID (例: 米国東部 (オハイオ) リージョン の場合は us-east-2) を表します。サポートされるリージョンのリストについては、「アマゾン ウェブ サービス全般のリファレンスの「Systems Manager サービスエンドポイント」」のリージョン列を参照してください。

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

    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. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインで、[パラメータストア] を選択します。

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

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

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

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

  7. [変更の保存] を選択します。