share facebook facebook facebook twitter twitter menu hatena pocket slack

2021.09.09 THU

Secrets Managerを使ってみた

笹崎日登

WRITTEN BY 笹崎日登

CloudFormationの学習を進めていく途中で、こちらのベストプラクティスが目に留まりました。

AWS CloudFormation テンプレートに機密情報を埋め込むのではなく、スタックテンプレートで 動的なリファレンス を使用することをお勧めします。

動的なリファレンスにより、AWS Systems Manager パラメータストアや AWS Secrets Manager などの他のサービスで保存、管理されている外部値を参照するためのシンプルで強力な方法が提供されます。

ん?

ていうことは、見られちゃ困るものは↑のサービス使って隠してねって事ですね!

という事で今回はSecrets Managerの簡単な使い方を調べてまとめてみました。

①新しいシークレットを保存する をポチっと

②その他のシークレット をポチッと

③シークレットキーと値決める

シークレットキー 値(機密情報)
username hoge
password fuga

画像の右側は秘密にしておきたい情報を、左側はそれがわかるような名前を入れます。

④シークレットの名前と説明を入れる

シークレットの名前は分かりやすいように入れておきましょう♪
説明やタグは必要に応じて(‘ω’)ノ

次を押してください。

⑤自動ローテーションの設定

ここは無効のままで結構です♬

次を押してください。

⑥レビューの確認

保存を押して、はい!

これで設定の方は終わりです。

次にしっかり保存されているか確認してみます。

「RDSSecret」をクリックすると、

↓ 設定した一覧が表示されます。

下にスクロールしていくと「シークレットの値」という箇所があるので、右の「シークレットの値を取得する」をクリック。

すると、

ほい!

先ほど設定したシークレットキーと値がしっかりと反映されてますね(‘ω’)ノ

ここからが重要です。

今回CloudFormationで必要になるものが、

  • シークレットの名前
  • シークレットキー

この二つです。

⑥のシークレットの名前と、上画像のシークレットキーを覚えておきましょう。

⑦今回使うリファレンスパターン

公式で紹介されているリファレンスパターンを貼っておきます。

{{resolve:secretsmanager:secret-id:SecretString:json-key:version-stage:version-id}}

ほッほじゃ?

何が書いてあるのかよくわかりません( ;∀;)

一つ一つ日本語っぽくすると↓のようになります(多分💦

今回は右のversion-stageversion-idは使わないので消してOKです。

すると↓のような形になります。

{{resolve:secretsmanager:secret-id:SecretString:json-key}}

そして上記で覚えておいた「シークレットの名前」と「シークレットキー」を入れると……

はい!ほぼ完成です!

最後に、RDSやEC2等で出来立てほやほやの動的リファレンスをこんな感じで貼り付ければ無事、完成です(´▽`)

 MasterUsername: '{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}'
 MasterUserPassword: '{{resolve:secretsmanager:MyRDSSecret:SecretString:password}}'

お疲れさまでした<(_ _)>

元記事はこちら

https://qiita.com/sengoku4902/items/ff66cfeca2d2e5dfded3


アイレットなら、AWS で稼働するサーバーを対象とした監視・運用・保守における煩わしい作業をすべて一括して対応し、経験豊富なプロフェッショナルが最適なシステム環境を実現いたします。AWS プレミアコンサルティングパートナーであるアイレットに、ぜひお任せください。

AWS 運用・保守サービスページ:
https://cloudpack.jp/service/aws/maintenance.html

その他のサービスについてのお問合せ、お見積り依頼は下記フォームよりお気軽にご相談ください。
https://cloudpack.jp/contact/form/

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。