AWSにはEC2というコンピューティングサービスがあります。例えばEC2でWordPressを実行していたとして、本体やプラグインのバージョンアップ等を行う際にバックアップを取得することが望ましいです。今回は初心者向けに分かりやすくバックアップ手順、リストア手順を解説します。(ちなみにWordPressの場合、データベースをEC2の外(RDS等)に出しているケースではデータベースも合わせてバックアップする必要があります。データベースのバックアップ方法についてはまた別の機会に解説しようと思います。)
タイトルにも記載しましたが、特にリストアについてはリスクの高い作業なので、必ず一度は実施して手順を理解しておく必要があります。リストア出来なければバックアップを取得する意味もありません。リストアに伴う考慮事項も理解しておく必要があります。
目次
バックアップの前に!前提知識
AMIとは?スナップショットとは?
早速バックアップ取得、と行きたいところですが、バックアップの前にAWS環境の前提知識について知っておく必要があります。EC2のバックアップはAMI(Amazon Machine Image)と呼びます。公式では以下のようにAMIの説明がされています。
Amazon マシンイメージ (AMI) は、ソフトウェア構成 (オペレーティングシステム、アプリケーションサーバー、アプリケーションなど) を記録したテンプレートです。
引用元:インスタンスと AMI
AMIはいわゆるディスクのバックアップ情報が保存されているわけではなく、管理情報のみが保管されたもので実態(ディスクのバックアップ)はEBSのスナップショットというものになります。そのためAMI自体には料金がかかりません。バックアップの料金はEBSスナップショットの保管ストレージの利用料となります。
肝心のEBSのスナップショットの料金ですが、2021年10月時点では、1 か月に格納されたデータ 1 GB あたり 0.05USDになります。(料金はこちらからご確認ください)
バックアップ(AMI取得)時の注意事項
EC2が稼働状態で取得することもできますが、ファイルシステムの整合性が保証されません。どうしてもサイトやサービスが止められない状況以外においては、EC2を停止した上で取得することが望ましいです。
リストアって?
便宜上リストアと呼んでいますが、実態は対象のEC2を終了し、取得したAMIから新たなEC2を立ち上げる、という行為になります。Updateではなく、Delete⇒Createのイメージで考えるとよいと思います。
リストアに伴う考慮事項
新たにEC2を立ち上げることになるので、インスタンスIDが変わります。何らかのロジック等でインスタンスIDを使用している場合、こちらも変える必要があります。あとは、ロードバランサ(ELB)配下にぶら下げているEC2インスタンスの場合、インスタンスIDでぶら下げることが出来ます。この場合にも変える必要があります。(プライベートIPでぶら下げていたら変える必要はなし)
ロードバランサにぶら下げる場合はAutoScaleの利用も考えた方がよいです。AutoScaleについては別途説明します。
また、ENIの付け替え(後述)を行わない場合はプライベートIPも変わります。その他変わる項目は以下のリンク先にまとめられていましたので、こちらを参考にしてください。
リンク:[小ネタ]AWS BackupでEC2をリストアした後に変更される項目や再設定が必要な項目
バックアップを取得しよう(=AMIを作成しよう)
基本的には公式の手順で実施して問題ありません。(公式の手順はこちら)
大まかな手順
- EC2を停止する前に必要な作業があれば実施しておく(例えばミドルウェアの停止であったり、監視の停止であったり。サーバの運用に合わせて行ってください。)
- 万一のリストアに備え、リストアした後に変更される項目や再設定が必要な項目を控えておく。(設計書等が整備されている場合は不要です。)
- 公式の手順を参照しAMIを取得する。再起動オプションを付けることでEC2停止後にAMI取得されます。
詳細手順(AMI取得部分のみ)
マネジメントコンソールへログインし、EC2ダッシュボードを開きます。
バックアップしたいインスタンスが表示されていることを確認し、✔を入れます。
アクション > イメージとテンプレート > イメージを作成 をクリック
イメージを作成画面では以下を考慮しイメージを作成します。
考慮すべきこと
イメージ名:任意の名前を付けます。何世代も取得する場合は過去世代と同じネーミングルールで作成するとよいでしょう。あとから変更できません。
イメージの説明:任意です。説明を入力します。
再起動しない:このチェックボックスに✔を入れると再起動せずAMI取得が可能ですが、前述の通りファイルシステムの整合性が保証されません。基本的には✔を入れましょう。
これでAMIの作成は完了です。実際に作成完了するまではステータスが「pending」になります。作成完了するとステータスが「available」に代わります。
バックアップはどこにある?
AMIの確認(自己所有でフィルタしましょう)
EBSスナップショットの確認
リストアの前に!ENIの付け替えについて
ENIって?
ENI(Elastic Network Interface)とは、仮想NICのことで、次の属性が含まれています。
- VPC の IPv4 アドレス範囲からのプライマリプライベート IPv4 アドレス
- VPC の IPv4 アドレス範囲からの 1 つ以上のセカンダリプライベート IPv4 アドレス
- プライベート IPv4 アドレスごとに 1 つの Elastic IP アドレス (IPv4)
- 1 つのパブリック IPv4 アドレス
- 1 つ以上の IPv6 アドレス
- 1 つ以上のセキュリティグループ
- MAC アドレス
- 送信元/送信先チェックフラグ
- 説明
デフォルトの設定の場合、EC2を終了するとENIも合わせて削除されます。この場合、リストア時に上記属性をリストア前と同じ情報にすることが出来ません。ENIをEC2終了時に合わせて削除しない設定をすることで、新たに立ち上げるEC2にこのENIをアタッチすることが出来ます。これをENIの付け替えと呼んでいます。
ENIを合わせて削除しない設定をする方法
EC2 > ネットワーク&セキュリティ > ネットワークインターフェイス を開き、指定したいENIを✔する。
チェックした後、アクション > 終了時の動作を変更 をクリック。
有効化のチェックを外して保存する。
これをしておくことで、EC2を終了(削除)した際にもENIは保持されます。
EC2をリストアしよう
既存インスタンスを終了(削除)
ようやくリストアの方法を解説します。リストアしたいインスタンスを終了します。インスタンスの停止が「サーバを停止すること」でインスタンスの終了とはサーバを削除することになります。削除した後はAMIがない限り復旧不可です。また、先に終了しておかないと前述のENIがまだアタッチされている状態なので、ENIの付け替えが出来ません。
EC2 > インスタンス > インスタンスの状態 > インスタンスを終了
確認画面が出ます。下記の例ではEBSも合わせて削除される旨の警告がされています。EBSスナップショットから復元するので、削除されて問題ないですが、特定のファイルを復旧等したい場合、ENI同様にEBSも合わせて削除しないよう設定したうえでインスタンスを終了する必要があります。(EBSは保持しているだけで課金されますので、特定の復旧要件がなければ合わせて削除して問題ありません。)
これで終了(削除)されます。しばらく待つとインスタンスの状態が終了済みになります。停止と違い、インスタンスを起動しようとしても起動できないことがわかります。
インスタンスをリストア(AMIから立ち上げ)する
Step1:バックアップ取得したAMIを選択し、 アクション > 起動 をクリックします。
Step2:インスタンスタイプの選択は従来のインスタンスと同じものを選択します。
Step3:インスタンスの詳細の設定は、従来のインスタンスと同じ情報を入力します。ネットワークインターフェイスのところで、以下のように選択することで、従来のENIをアタッチすることが出来ます。これでENIの属性が引き継がれます。
ステップ4以降を従来のインスタンスと同じものを選択しインスタンスを起動します。起動後は引き継がれない項目(タグ等)を再設定することでリストア完了です。
初心者に役立つ本の紹介
AWSはとても幅が広く、検索等で部分的に理解することは出来ても全体を体系的に理解することが難しいです。公式ドキュメントを上から順に読んでいくことで理解が深まりますが、資格取得の書籍等で勉強することをお勧めします。
なぜ資格取得の書籍かというと、重要な部分を浅く抑えているからです。全体を体系的に浅く押さえておき、深く知る必要があるときに色々調べたり、試したりするとバランスのよいAWSエンジニアになれると思います。このあたりの書籍が分かりやすくおすすめです。
AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト 改訂第2版 [ NRIネットコム株式会社 ] 価格:2,618円 |
みんなのAWS 〜AWSの基本を最新アーキテクチャでまるごと理解! [ 菊池 修治、加藤 諒 ] 価格:2,618円 |
改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書[SAA-C02]対応 [ 鳥谷部 昭寛 ] 価格:2,618円 |
コメント