View a markdown version of this page

AWS Systems Manager Parameter Store - AWS Systems Manager

AWS Systems Manager Parameter Store

Parameter Store は、パラメータと呼ばれる名前付き値の一元化された設定データストアです。パラメータとは、テキストのブロック、名前のリスト、パスワード、AMI ID、ライセンスキーなど、Parameter Store に保存されるデータのことです。Parameter Store を使用すると、設定データの大規模な保存、整理、取得を安全に実行できます。

Parameter Store により環境全体の設定管理が簡素化されます。値をハードコーディングしたり、断片化されたストレージソリューションに依存したりすることなく、ランタイムにアプリケーションが重要データにアクセスする方法を標準化できます。このようにして、一貫性を維持し、ガバナンスを適用し、より安全で保守可能なシステムを構築します。

Parameter Store では次のパラメータータイプをサポートしています。

  • String

    このタイプは、環境名、エンドポイント URL、リソース識別子などのプレーンテキスト値に使用します。

  • StringList

    このタイプは、プレーンテキスト値のカンマ区切りリストに使用します。例えば、値 subnet-123abc,subnet-456def,subnet-789ghi を保存しておくことができます。

  • SecureString

    サービスエンドポイントやアカウント識別子など、暗号化が必要な設定値には SecureString を使用します。データベース認証情報、API キー、トークンなどのシークレットの場合は、AWS Secrets Manager をお勧めします。これは、自動ローテーションやクロスリージョンレプリケーションなどの専用のセキュリティコントロールを提供します。

    Parameter Store は、AWS Key Management Service を使用して値を暗号化します。

パラメータタイプに関する詳細については、「パラメータストアリファレンス」を参照してください。

アプリケーションデータはどこに保存する?

次の表を使用して、アプリケーションデータのサービスを選択します。

注記

ユーザー名、パスワード、その他のシークレットなどの認証情報を管理する場合は、AWS Secrets Manager を使用することをお勧めします。Secrets Manager は、データベース認証情報、API キー、サポートされているサードパーティ製ソフトウェア提供シークレットなどのシークレットを管理するために構築されています。詳細については、AWS Secrets Manager ユーザーガイド の「What is AWS Secrets Manager? ( とは?)」 を参照してください。

機能 Parameter Store AWS AppConfig AWS Secrets Manager

ユースケース

  • 静的設定

  • デプロイと検証がないキーバリューストレージ

  • 頻繁に変更されるアプリケーション設定

  • ダウンタイムのないデプロイ

  • ランタイム実験

  • 認証情報またはその他のシークレット

  • 自動ローテーション、クロスアカウントアクセス、または詳細な監査ログ記録を必要とする暗号化されたデータ

一般的なデータ

  • 承認された AMI IDs

  • 環境変数

  • エンドポイント URL

  • リソース識別子

  • パラメータの調整

  • 機能フラグ

  • トグル操作

  • 調整可能なパラメータ

  • 許可リストと拒否リスト

  • データベースの認証情報

  • API キー

  • OAuth トークン

  • プライベートキーと証明書

暗号化

SecureString および AWS KMS でオプション

保存データの AWS マネージド暗号化 (追加のカスタマーマネージドキーはオプション)

AWS マネージドキーまたはカスタマーマネージドキーによる保存データの AWS KMS 暗号化

認証情報のローテーション

なし

該当しない

自動 (ネイティブデータベース統合)

Cost

標準階層は無料、アドバンスト階層以上のスループットは有料

設定リクエストごとに課金

毎月のシークレットごと、および API コールごとに課金

デプロイ

デプロイ前検証と自動ロールバックがないバージョニング

CloudWatch Logs アラームでの段階的なロールアウト、デプロイ前検証、自動ロールバック

ステージングラベルを使用したバージョニング

Parameter Store の機能

Parameter Store でサポートされる機能は以下のとおりです。

  • 一元的な設定更新

    コードの変更や再デプロイなしで設定を更新できるので、運用の俊敏性が向上し、リスクが軽減されます。例えば、インベントリサービスの移行後に新しいエンドポイントを指すように /myapp/prod/inventory-service-endpoint を更新できます。

  • 高性能スループットオプション

    Parameter Store は、小規模なワークロードに適したデフォルトのスループットを提供します。より高いリクエストレートを必要とする大規模アプリケーションやレイテンシーの影響を受けやすいアプリケーションに対しては、追加料金で高スループットモードを有効にできます。

    アプリケーションがパラメータを頻繁にまたは大規模に取得する場合は、スロットリングを避けるためにスループット設定を早期に評価してください。高スループット有効化の詳細については、「Parameter Store スループットの管理」を参照してください。

  • 階層的パラメータ管理

    パラメータ階層を使用して関連するパラメータをグループ化することで、環境やアプリケーション間で簡単に検出、管理、フィルタリングできます。例えば、命名規則 /env/computer-type/app/data を作成し、次に /dev/webserver/linux/approved-ami や /dev/webserver/windows/approved-ami などのアプリケーション固有のパラメータを作成できます。パス /dev/webserver を取得すれば開発環境のすべてのウェブサーバーパラメータを見つけることでき、/dev/webserver/linux を取得すれば Linux イメージパラメータのみを見つけることができます。

  • バージョニング

    Parameter Store は、各パラメータの最新バージョンを 100 個保有しています。運用上の問題を調査するときに、以前の値を確認して再構築できます。

  • IAM との統合

    IAM ポリシーを使用して、アプリケーションによるパラメータの読み取り、書き込み、一覧表示、または削除が可能かどうかを判断します。例えば、/myapp/prod/* というプレフィックスが付いたパラメータは読み取れるが、/myapp/dev/* は読み取れないアプリケーションロールを記述できます。暗号化されたパラメータを復号するアクセス許可をロールに付与することもできます。

  • 他の AWS のサービス からのアクセシビリティ

    他の AWS サービスのパラメータ値を参照できます。次に例を示します。

  • 共有アカウントアクセス

    オプションで、設定データを 1 つの AWS アカウント に一元管理し、アクセスを必要とする他のアカウントとパラメータを共有します。詳細については、「Parameter Store での共有パラメータの使用」を参照してください。

  • OS のパッチ適用

    Amazon EC2 では、AMI (AMI) ID をハードコーディングする代わりにパラメータを参照することで、新しいインスタンスのオペレーティングシステムを指定できます。このアプローチにより、インスタンスはパッチが適用された最新のイメージと更新されたイメージを自動的に使用します。 AWS およびオペレーティングシステムベンダーは、現在の AMI バージョンを追跡するパブリックパラメータを提供するため、更新を手動で管理する必要はありません。また、独自のパラメータを定義して一元管理されたゴールデン AMI を参照することもできます。これにより、組織全体で一貫性のある承認済みの設定を簡単に適用できます。

  • イベントと通知

    パラメータ変更イベントにサブスクライブして、Parameter Store のワークフローを自動化します。また、変更イベントを使用して有効期限を適用し、指定した期間内にパラメータがローテーションされなかったときに通知を受け取ることもできます。

Parameter Store のパラメータ階層

Parameter Store には、ストレージ制限を制御するさまざまなパラメータ階層が用意されています。制限とは AWS アカウントとリージョンのパラメータの最大数とサイズです。階層またはアドバンスト階層を使用するように各パラメータを個別に設定します。

標準パラメータとアドバンストパラメータは混在させることができます。例えば、同一の AWS アカウントとリージョンに最大で 100,000 個のアドバンストパラメータと 10,000 個の標準パラメータを含めることができます。次の表は、各パラメータタイプでサポートされているさまざまな機能を示しています。

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

機能またはユースケース スタンダード アドバンスト

ユースケース

ほとんどの設定データと小規模ワークロードに適しています。これがデフォルトです。

より厳しい制限、より大きな値、またはパラメータポリシーが必要な場合に最適です。

最大パラメータ

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

10,000

100,000

最大値サイズ

4 KB

8 KB

パラメータポリシー

サポート外

サポート

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

AWS アカウント 間の共有性

サポート外

サポート

詳細については、「Parameter Store での共有パラメータの使用」を参照してください。

アップグレードとダウングレードの可能性

アップグレード可

ダウングレード不可

Cost

追加料金なし

料金対象

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

ほとんどの設定データには標準パラメータを使用します。アドバンストパラメータは、標準パラメータがサポートしていない機能が必要な場合にのみ使用します。

標準パラメータとアドバンストパラメータの詳細な比較については、「パラメータ階層の選択」を参照してください。