SAA学習-EC2-Snapshotの利用
今回のテーマ:Snapshotの活用
概要
- EC2インスタンスからSpapshotを作成し復元を実施
- サーバーのバックアップ/リストア試験が業務ではあるパターンです。
実際の手順
- マネージドコンソール-EC2-Elastic Block Store-ボリューム-Snapshotを取得するボリュームを選択し、アクション-スナップショットの作成をクリック
- 説明とタグは任意で記入し、スナップショットの作成をクリック
- スタータスがpendingは準備中なので、completedに変更となったら利用可能となるため状態が確認
- 作成したスナップショットを選択し、アクション-ボリュームの作成をクリック
- タグは判別しやすい任意の値を記入し、ボリュームの作成をクリック
- 元のボリュームを一度デタッチ(外す)後に復元したボリュームをアタッチ(付与)を行う。
※復元時元のボリュームラベルは同様なものを定義する必要があるため、デタッチ前のボリュームラベルをコピーする
該当する箇所はアタッチ済みの情報の「/dev/xvda 」がコピーする値になります。
- 元のボリュームを選択し、アクション-ボリュームのデタッチをクリック
- 確認されたら、デタッチをクリック
- 復元したボリュームをインスタンスへアタッチするため、復元ボリュームを選択し、アクション-ボリュームのアタッチをクリック
- 起動確認後、パブリックIPをコピーしWEBアクセスが可能であるか確認する(自動起動の設定を失念してました。)
- 作成したスナップショットおよびボリュームを削除しておきます。
今回のテーマは以上です。
cf)脱線(ユーザーデータスクリプトの応用)
インスタンスを終了しているため毎回作り直す際に手間であるため、
ユーザーデータを活用し実装
- EC2の起動後ユーザーデータで下記のスクリプトを投入
#!/bin/bash # サーバーの設定変更 sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=web-sv/g' /etc/sysconfig/network hostname 'web-sv' cp /usr/share/zoneinfo/Japan /etc/localtime sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"|g' /etc/sysconfig/clock echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n # アパッチのインストール sudo yum update -y sudo yum install httpd -y # index.htmlファイルの作成 touch /var/www/html/index.html echo "<html><h1>hello world!</h1></html>" >> /var/www/html/index.html # apacheの再起動 sudo systemctl restart httpd # apacheの自動起動 systemctl enable httpd.service
- 起動しWEBのトップページが表示されることを確認