🔐

Aurora クラスターの認証情報を Secrets Manager で自動ローテーションする

難易度:中級
所要時間:55 分

ラボ概要

専用 VPC 上に Aurora MySQL 互換クラスター(db.t3.medium / 単一インスタンス)を作成し、認証情報を Secrets Manager で管理して 30 日ごとの自動ローテーションを構成・確認します。

このラボでは、専用の VPC を新規に作成し、その中に Amazon Aurora(MySQL 互換, db.t3.medium, 単一インスタンス)クラスターを構築します。クラスターのマスター認証情報を AWS Secrets Manager に保存し、Secrets Manager が自動デプロイするローテーション Lambda を使って認証情報を 30 日ごとに自動更新(ローテーション)する仕組みを、手を動かして理解します。ハードコードされたパスワードを排除し、運用負荷ゼロで認証情報を更新し続ける構成を学びます。

学習目標

  • 専用 VPC(2 AZ・プライベートサブネット)と DB サブネットグループを作成し、Aurora MySQL 互換クラスターを配置する
  • Aurora クラスターのマスター認証情報を Secrets Manager のシークレットとして保存する
  • Secrets Manager の「ローテーションを編集」ウィザードで、Aurora/MySQL 用 Lambda ローテーション関数を自動デプロイする
  • ローテーション Lambda が DB と Secrets Manager の両方へ到達できるよう、セキュリティグループとインターフェイス VPC エンドポイント(プライベート DNS 有効)を構成する
  • ローテーションを手動でトリガーし、シークレットのバージョンステージ(AWSCURRENT / AWSPENDING / AWSPREVIOUS)が更新されることを確認する
  • アプリケーションがパスワードをハードコードせず、シークレット名だけで最新の認証情報を取得する考え方を理解する

前提

  • 学習者は federated console に cloud_user ロールでサインイン済みです。
  • すべての操作は東京リージョン(ap-northeast-1)で行います(IAM などのグローバルサービスを除く)。
  • このラボでは新しい VPC を作成します(既定 VPC は使いません)。NAT ゲートウェイは作らず、Secrets Manager へはインターフェイス VPC エンドポイント経由で到達します。
  • ローテーションを有効にすると、Secrets Manager が CloudFormation 経由で Lambda 実行ロール(IAM ロール)を自動作成します。cloud_user でこの自動作成が権限不足になった場合のフォールバックは手順 7 の注記に記載しています。
  • 使用するインスタンスは db.t3.medium、ストレージはサンドボックスのガードレール内(Aurora は自動管理)です。プロビジョンド IOPS は使用しません。
  • 所要時間の目安は約 90〜110 分です。Aurora クラスターの作成には 10〜15 分かかるため、その待ち時間に手順 5(VPC エンドポイント作成)を先に進めると 2 時間以内に余裕を持って完遂できます。
🔐

ハンズオンラボとは?

本物の Azure リソースを使い、リスクなく試行錯誤しながら実践的なスキルを身につけられます。

他のラボを見る