ラボ対策用の個人的な備忘録ページです。マネジメントコンソールで操作していきます。
最後に番外編ということで公式のサンプル問題集のラボ試験を解いてみます。公式解答は文章レベルで掲載されていますが、実際に試してみたのでキャプチャ画像付きでお届けします。

では早速!
問題内容の抜粋
公式サンプル問題のコピペになりますが、次の通りです。
ある企業が、新規 Web アプリケーションを展開しようとしています。次の手順に従って、高可用性 MySQL8.0 データベースを構成してください。
- すべてのリソースに us-east-2 リージョンを使う。
- 以下で指定された場合を除き、デフォルトの構成設定を使用する。
- カスタムデータベースパラメータグループを作成して、event_scheduler パラメータの値を true に設
定し、データベースインスタンス作成時にこのパラメータグループを使用します。 - カスタム AWS Key Management Service (AWS KMS) キーを作成し、データベースインスタンス作成時に
このキーを使用します。 - CIDR ブロック 192.168.1.0/24 から TCP ポート 3306 へのアクセスを許可する VPC セキュリティグ
ループを作成します。データベースインスタンス作成時にこのセキュリティグループを使用します。 - Amazon RDS データベースインスタンスを起動します。
- 起動後、RDS データベーススナップショットを手動で作成します。
スナップショットの Amazon リソースネーム (ARN) を入力してください:
では以降に上記を満たすようにサンプルのラボ試験に対応していきます。
※実試験における答え合わせのロジックは不明ですが、上記指定以外はデフォルトでいいはず・・・。
構築してみます
前提条件
VPC、複数サブネットは既に存在する状態とします。
パラメータグループの作成
最初にRDSメニューにあるパラメータグループを作成していきます。

次のように入力/選択します。
- パラメータグループファミリー:mysql8.0
- タイプ:DB Parameter Group (デフォルトのまま)
- グループ名/説明:mysql-group1 (適当)

作成後にパラメータの編集が可能となります。「event」を入力してパラメータを絞込み、「event_scheduler」の値を「ON」にして変更の保存を行います。

ここまでがパラメータグループの作成及び編集です。
- パラメータグループ:DBに対する設定値のセット。作成しておけば複数のRDSに同じ設定値を適用することが出来る。設定値の中にはインスタンスの再起動が必要な設定もある。
KMSキーの作成
続いてRDSの暗号化にカスタムの暗号化キーを使うため、KMSサービスでキーを作っていきます。KMSサービスに進み「カスタマー管理型のキー」より「キーの作成」を行います。

キーのタイプ、キーの指定はデフォルトのまま進めます。

ラベル(名前)以外の設定値についてもデフォルトのまま進めます。
- ラベル:mysql-key
- キーの管理アクセス許可を定義:デフォルトのまま
- キーの使用アクセス許可を定義:デフォルトのまま

細かい指定があるわけではないため、簡単に作成出来ました。
セキュリティグループ作成
続いてVPCサービスに飛び、「セキュリティグループ」を作成します。

作成ポイントは次の通りです。
- 名前:sec-mysql (適当
- インバウンドルール:タイプに「MYSQL/Aurora」を選びソースに「192.168.1.0/24」とご指定のごとく選択、入力します。

アウトバンドルールはデフォルトで全開放のため特に触りません。
以上でセキュリティグループが作成出来ました。
- ステートフル:セキュリティグループはステートフルのため通信の戻りは考慮する必要ありません。今回の場合でいえばRDPの受信(インバウンド)のみ考慮して往路であるアウトバウンドでの指定は不要。
- セキュリティグループの設定単位:EC2、RDS、ELBなど。
データベース作成
ここまで以下が出揃いました。
- パラメータグループ
- カスタムKMSキー
- セキュリティグループ
RDSサービスよりデータベースの作成を進めます。

エンジンのタイプはご指定の通り「MySQL」を選択します。

MySQLのバージョンはデフォルト選択されていた「MySQL 8.0.28」から変更しませんでした。デフォルト選択肢が別のバージョンであったなら8系統を選択しましょう。
続いて「高可用性」という指定があるためテンプレートは「本番稼働用」として、可用性と耐久性は「マルチAZ DBインスタンス」を選択します。

他の設定項目は基本的にデフォルトのまま進めましたが、いくつかは入力または変更しています(ここは他の選択でも問題ないかと)。
- マスターパスワードの入力、確認入力
- インスタンスの設定:db.t3.micro
- ストレージ:gp2の20GB
セキュリティグループはご指定の通り作成した「sec-mysql」を選択します。

設定後半の追加設定を開いて次の設定を行います。
- DBパラメータグループ:mysql-group1
- AWS KMSキー:mysql-key
※事前の作成が漏れているとデフォルト選択だったり空欄だったりします。


設定は以上となり、サブネットに空きが無い等にひっかからなければ問題なく構築処理が開始されます。
待つこと10分前後でステータスは利用可能となりました。

※利用可能前にスナップショットの作成が出来るかは不明です。(そう考えると構築完了に時間がかかる問題ってラボ試験に出るんだろうか・・・。無駄に待ちたくないけど)
手動スナップショットを作成してARNを確認
続いて手動でスナップショットの作成を行います。
作成したデータベースの「変更」→「スナップショットの取得」より進みます。

適当なスナップショット名を入力してスナップショットの取得を行います。

スナップショットの取得直後はステータス「作成中」ですが、ARNは確認可能です。ラボ試験では、このARNはコピペして試験終了となります。

- RDSのスナップショット:自動スナップショットの設定もされている。さらに5分毎にトランザクション保存もされていて最短で5分以内の時点に復元もできる(ポイントインタイムリカバリ)。
まとめ
公式サイトのサンプルラボ試験を実際に解いてみました。
個人的には、マネジメントコンソール利用であれば、初見でも時間かかるかもしれないけど、なんとか解くことは出来るかなって思いました。ただ今回はデータベース作成前に各サービス(KMSやVPC)で準備をするため、少し大変とも感じました。
実際のラボ試験では前半の選択問題に時間をかけ過ぎずに、余裕を持ってラボ試験に挑みたいと思います。

最後までご覧いただきありがとうございました。
コメント