技術こんにちは、建山です。今回ご紹介するのは、Amazonが提供するWebサービスであるAmazonWebService(通称AWS)を使用した、自動定期バックアップの方法を書かせていただきます。今回の記事は「タグを利用したEC2のバックアップ(AMI取得)と世代管理」のブログ記事を参考にさせていただきました。・AWSにEC2インスタンスを立ち上げている事。・EC2インスタンスにターミナルでログインできる環境がある事。(LINUXの基礎知識がある事)・AWSマネジメントコンソールにてEC2インスタンスに対しての操作が出来る事。説明AWSコンソール画面にあるEC2インスタンスに対しての「タグ機能」を利用します。コンソール画面からバックアップする世代数を設定し(今回は2世代)、その設定値にしたがってバックアップを実行するPHPスクリプトをインスタンス内部で実行します。その結果、最大2世代分のAMI、EBSスナップショットを保持します。Tags」をクリックします。Keyに「Backup-Generation」「Name」、Valueに世代数、インスタンスの名前(自由)を設定します。EC2インスタンスにタグが作成されます。■PHPスクリプトを配置EC2インスタンス内にバックアップを実行するPHPスクリプトを配置します。今回は/opt/aws/php/backup/aws-backup.phpで配置します。aws-backup.phpの部分は自由にお名前をお付け下さい。PHPスクリプトと仕様と内容はこちらををご覧ください。KEY”はご自分のに書き換えてください。KEY”は、AWSのホーム画面のセキュリティ証明書から確認できます。SDKをダウンロードし配置します。ような名前のフォルダになっていますので、今回はフォルダ名をdefaultに変え、/opt/aws/php/defaultとして配置します。SDKダウンロードはこちら■PHPファイルを実行しバックアップする。PHPスクリプトを実行してバックアップしてみます。/backup/aws-backup.php/usr/binについては、PHPがインストールされている環境によって場所が違うかもしれません。■AMI、EBSスナップショットが作成されるのを確認EC2のAMI、EBSスナップショットが以下のようにバックアップされていることを確認します。■定期処理に登録する。PHPスクリプトを実行するのを定期処理にします。定期処理にはLinuxのcron機能を使用します。・ルートユーザ権限でcron情報を設定します。–e・指定した時間にPHPスクリプトを実行するように設定します。今回ログファイルも残すようにするため、/opt/aws/php/backup/logフォルダをあらかじめ作成してください。以下のように設定すると、毎日22:00にバックアップが実行され、logフォルダに年月日時分秒月のファイルが作成されます。+\%Y\%m\%d\%H\%M\%S`.logまとめ今回のバックアップ処理を導入することで、EC2インスタンスになにかあって使えなくっても、バックアップから戻すことが可能となります。バックアップを残す世代数もAWSコンソール画面から自由に設定できるので、運用も楽になるとおもいます。導入される際は、テストを十分にして自己責任でお願いいたします。このブログを書いた人S・T・K皆さんの喜ぶ情報を投稿していきます。最近のブログ技術2016.09.26Piwikを導入してみました技術2016.09.12wordpressでプラグインを使わずにAMP対応をしてみました。AWS無料相談受付中ホームページ制作・スマホ対応に関する無料相談を承っております。弊社もしくはお客様オフィスにお伺いいたします。会社の事業にどうウェブを活用すればいいかわからない、現在うまく活用できてるかわからない、ホームページをつくって売り上げをあげたいといったお客様はお気軽にご相談ください。