こんにちは、Enterprise Cloud部 CR課 金子 です。
先日、AWS Elastic Disaster Recovery (以下DRS) でリカバリ機能を使用してEC2を復元した際にEC2のNameタグ、ボリュームのスループット等が複製元と異なる事象が発生したので、その解消方法をブログとしてご紹介させていただきます。
DRSでリカバリされたインスタンスのName、IOPS、スループットの値が違う
DRSには自動でサーバーイメージを作成し、作成したサーバーイメージからEC2を復元するリカバリ機能があります。その機能を利用していた際に、Nameタグがソースサーバのホスト名に書き換えられる、ボリュームのスループットやIOPSが跳ね上がった状態で復元される事象がありました。
ボリュームのスループットやIOPSはランニングコストの増加にもつながるため、解消方法を以下に記載します。
起動テンプレートの値が優先される
結論から解消方法を申し上げますと「EC2 起動テンプレートを編集する」ことで上記の事象を解消することが可能です。
DRSではEC2起動テンプレートを参照してリカバリが行われます。そのEC2起動テンプレートに記載されているNameタグ、ボリューム(EBS)のサイジングを書き換えることで上記の事象を解消することが可能です
起動テンプレートの修正方法
以下の手順で起動テンプレートの編集が行えます。9 のテンプレートのデフォルトバージョンの設定を行わないと変更が反映されないためご注意ください。
- DRSコンソール上でソースサーバーのページで、対象ソースサーバーをクリックします
- 「起動設定」タブを開きます
- 「EC2 起動テンプレート」項目の「lt-」で始まる起動テンプレート ID をメモし、リンクをクリックします
- 「テンプレートを変更 (新しいバージョンを作成)」ページとなるので下にスクロールし、「ストレージ (ボリューム)」項目において、ボリュームのIOPS、スループットを復元されるEC2で設定したい値に編集します
- 同様に「リソースタグ」項目において、「キー」が「Name」となっているタグを復元されるEC2で設定したい値に編集します
- 「テンプレートのバージョンを作成」をクリックします
- 「起動テンプレートを表示」をクリックし、起動テンプレート一覧画面に遷移する
- 2 でメモした起動テンプレート ID を選択し、「アクション」より「デフォルトバージョンを設定」をクリックします
- 「テンプレートのバージョン」で数字が最大のものを選択し、「デフォルトバージョンとして設定」をクリックします
まとめ
今回は起動テンプレートの編集からリカバリインスタンスの設定変更を行いました。DRSエージェントのインストールと初期レプリケーションの前であれば、DRSコンソールの「デフォルト起動」からも今回の問題が起こらないようにすることが可能です。[デフォルト起動]➞[デフォルトの EC2 起動テンプレート]➞[編集]➞[EBS ボリュームタイプ]からIOPS やスループット容量を初期レプリケーションの時に指定した値で作成することが可能です。
万一復元する事態になった場合に、起動されたEC2が想定と違うとならないようにEC2起動テンプレートの確認、テストは定期的に行うことが重要だと感じました。
金子 守(執筆記事の一覧)
EC部クラウドリライアビリティ課所属。2022年IT未経験でSWXへ新卒入社。
記事に関するお問い合わせや修正依頼⇒ kaneko@serverworks.co.jp