使用教材
今回はParameterStoreについて
Parameter Storeとは
- System Managerの機能の一つ。キーバリューでパラメータを保存できる
- EC2やLambdaからキーを指定してバリューの取得をおこなう
- 似た機能にSercretManagerもあるがコストがかかるため、ユースケースによって使い分けする
- バリューについては「文字列」「文字列リスト」「セキュア文字列」の3種類で「セキュア文字列」の場合は暗号化できる
- 暗号化の際に作成したユーザアカウントのKMSキーを使用するか、別のアカウントのKMSキーを使用するかが選択できる
| 項目 | Secrets Manager | Parameter Store |
|---|---|---|
| 暗号化 | KMSで可能 | KMSで可能 |
| 自動ローテーション | ✅ 可能(Lambda連携) | ❌ 不可(手動対応) |
| バージョン管理 | ✅ あり | ✅ あり |
| 階層構造 | ✅ あり | ✅ あり |
| API使用料金 | 10,000回ごとに $0.05 | 標準:無料 詳細:$0.05/10,000回 |
| 保管料金 | $0.40/月/シークレット | 標準:無料 詳細:$0.05/月/パラメータ |
| クロスアカウント共有 | ✅ 可能 | 標準:非対応 詳細:対応 |
| 主な用途 | DBパスワード、APIキーなどの機密情報 | 環境変数、設定値などの構成情報 |
| 有効期限 | 直接的なサポートはなし | 標準:非対応 詳細:対応 |
マネジメントコンソールでの設定
- AWS Systems Managerから作成する
- 設定項目は以下の通り
名前:パラメータの名前、キー名
利用枠:標準、詳細
タイプ:文字列、文字列リスト、安全な文字列(セキュア文字列)
データ型:text、AWS ec2:image
値:登録する情報、バリュー
CLIでの設定
- 登録するとき
aws ssm put-parameter
引数
--name <値> :キー
--value <値> :登録する値
--type <値> :パラメータ型String、StringList、SecureStringで設定
--overwtire :上書き可否
- 取得するとき
aws ssm get-parameters
引数
--name <値> :取得したいパラメータの名前
--with-decryption :暗号化したパラメータを復号化して取得
・指定したパスは以下のパラメータを一括で取得したい場合
aws get-parameters-by-path
--path<パス> :パラメータ群を指定するパス
--with-decryption :暗号化したパラメータを復号化して取得
- パラメータの削除
aws ssm delete-parameters
--name<パラメータの名前> :削除したいパラメータ名を指定。複数削除の場合は"paranameA" "paranameB" "paranameC"のように指定する