GMOクラウドユーキです。今回は、「クラウドに疲れない」ために行うべき対策について書いてみます。
システムである以上、サーバー、ネットワーク、ドメイン、アプリケーション、その他たくさんの構成要素で構築されるのが普通です。最近ではサービスもその構成要素に入るパターンもあるでしょう。そんな中で、WebサイトやWebアプリケーションでも止めることが難しいシステムになる場合は、かなりたくさんのことをクリアしていく必要があります。
まず、壊しても泣かない使い方について。私は、昔SE時代によく構築に泣かされていました。何かのWeb記事を見ながら夜中頑張ってサーバー環境を一夜城で構築して、その時はいいのですが、どうやって作ったか覚えていないため再構築できないことが多々ありました。また構築の手順が長すぎて、途中で間違えたり修正したいことがあった場合に、再度構築する気がでないと断念してしまうことも。他にもハンズオンで新技術の環境を作ったら、週末復習しようとしたら忘れてるなんていうこともありました。
これらの悲しい出来事を回避するには、『作成中に何度でも失敗しても、作成途中の前段階サーバーの状態を戻せること』を実現できればよかったのです。このようなことが、クラウド環境であれば、気軽に行えるため、クラウド環境を活用しない手はないです!
今回は、ALTUS Basicシリーズというクラウドサーバーを利用して、仮想サーバーを構築して、活用方法を紹介していきます。
ALTUS(アルタス)において、スナップショット機能(バックアップ機能)を使うことで、先ほど紹介した悲しい出来事が回避できるようになるはずです!
目次
①セキュリティのポイント(セキュリティグループ)
②仮想サーバー構築
③スナップショット作成
④クラウド環境の複製
⑤おわりに
①セキュリティのポイント(セキュリティグループ)
今回は、仮想サーバーの構築から紹介していきますが、仮想サーバーを構築する前に、まずはアフィニティグループ(ゾーン共通)を作ります。システム名、もしくは役割のグループを名前にするとよいと思います。
同じアフィニティグループに所属していると、同じ仮想化基盤上には乗らないので、同時に仮想サーバーが停止するリスクが軽減できます。
続けて、セキュリティグループ(ゾーン共通)を登録します。ここでは、ファイアウォールのルールを決めていきます。今回はWeb利用を想定し、下記で設定しました。
webssh(web(80+443),ssh(22))
ssh/22は接続元IPアドレスを指定して登録します。
※接続元のIPアドレスは弊社サポートページで確認できます。接続元IPが分からない方はぜひご利用ください。
80番ポート (0.0.0.0/0) -> テスト時は/32で接続元を縛るのもありです。
443番ポート(0.0.0.0/0) -> テスト時は/32で接続元を縛るのもありです。
22 番ポート(xxx.xxx.xxx.xxx/32) -> 指定場所(IPアドレス)からのみアクセスできるように設定する。
②仮想サーバー構築
続いて、仮想サーバーを構築していきます。
今回利用するサーバーのスペックは以下の通りです。
■ステージング環境
ゾーン: tokyo_zone1
テンプレート: CentOS7.3
サイズ :m1.small root(boot) 20GB(テンプレート固定)
データディスク(data): 10GB
アフィニティグループ :kissme-app
セキュリティグループ :webssh
VMname :VM-Staging-zone1
■本番環境
ゾーン :tokyo_zone2
テンプレート: CentOS7.3
サイズ :m1.small root(boot) 20GB(テンプレート固定)
データディスク(data):10GB
アフィニティグループ :kissme-app
セキュリティグループ :webssh
VMname :VM-appsrv-zone2
ステージング環境として、でVM-Staging-zone1作成し、yum update実施します。
③スナップショット作成
仮想サーバーのPower「On」のままで、カメラアイコンから、ステージング環境の仮想サーバーのスナップショットを取得することができます。このスナップショットを使うことで、サーバーをバックアップできるので、変更を加えたい時は、手軽にその時の構成をコピーしておくことが可能です。
左メニュー「仮想サーバー」の(表示 - スナップショット)からスナップショットができたことを確認します。
もし作成したスナップショットが不要になり削除する時は、スナップショットの詳細から削除します。スナップショットは親のスナップショットにひもづいてチェーンのように構成されますので、いきなり親スナップショットを削除すると子にあたるスナップショットは復元できない場合があります。作業時は、ご注意ください。
スナップショット利用作成した仮想サーバースナップショットは、元の仮想サーバーに適用することが可能です。スナップショットを仮想マシンに適用してみましょう。仮想サーバーの(表示 - スナップショット)から復元したい仮想サーバースナップショットを選択し、復元アイコンで該当のスナップショットを元に戻します。
この際、仮想サーバーの電源がONのままだと復元したスナップショットが適用できない旨が表示されますので、まずは、仮想サーバーを停止してから、再度スナップショットの復元を適用してください。
スナップショット適用完了は、上部[通知]アイコンの完了通知で確認できます。仮想サーバーの電源をONにすれば、スナップショットが適用されたロールバック済みの仮想サーバーを利用できます。パッケージインストールのテストなど、環境構築時やOSアップデート時に使うと失敗時に復旧ができるので安心です。
④クラウド環境の複製
失敗時の復旧は、スナップショットの復元で解決できますが、作成した仮想サーバーがある程度まとまった構成になって、複製をしたい場合もあると思います。例えば、ステージングサーバー(VM-Staging-zone1)から本番サーバー(VM-appsrv-zone2)を構築する際も環境の複製が必要になってきます。この場合、仮想サーバーのディスクスナップショットからテンプレートを作成することで複製が可能です。
この場合、少し注意が必要なのですが、ここで使うディスクスナップショットは、ディスクボリュームから作成できるスナップショットです。ディスクスナップショットは、仮想サーバースナップショットとは共存できないため、仮想サーバースナップショットを作成していない仮想サーバーに限り、利用することができます。
また、複数ディスクがある場合、OSが入っているディスク(種類:ROOT)が対象となります。
手順としては、左メニューの仮想サーバー(表示 - ボリューム)からROOTのボリュームを選択し、スナップショット作成(カメラアイコン)を選びます。
ディスクスナップショットが完成したら、左メニューの仮想サーバー(表示 - ボリューム)からROOTのボリュームを選びます。
ボリューム詳細の右端にある(表示 - スナップショット)を選び、先ほど作成したスナップショット(MANUAL)を選びます。
テンプレート作成(アイコン)を選択し、作成完了の通知まで待ちます。パスワード管理有効はチェックをいれておかないと、仮想サーバーメニューにある(パスワード変更)が使えないことになります。変更不要であればいれなくても可。
作成完了したテンプレートは、ホームで(テンプレート[ビューの選択:テンプレート][フィルター:自分のもの])で確認。
※テンプレート利用の応用
テンプレートは作成できたあと、PCなどローカル環境へダウンロードができます。今は利用しないけど、あとでテンプレート使って構築する場合などストレージ保存容量を節約できます。
また、テンプレートはゾーンごとに必要となるため、別ゾーンへ移動させる際には、先ほどの[https://******.vhd]リンクを使います。このリンク自体は長期保存するリンクではなく、しばらくしたら消されるためテンプレート登録直前にリンクを取得することをお勧めします。登録したテンプレートを確認して、ゾーンの(準備完了)項目がNoからYesになれば登録完了です。
仮想サーバー作成時のテンプレート選択時に(マイテンプレート)を選ぶと、登録したテンプレートを利用することができます。見つからない場合は、『テンプレートが(準備完了 Yes)となっているか』『ゾーンは正しく選択しているか(デフォルトはゾーン2です)』を確認してみてください。
先に仮想サーバーのスナップショットを作ってしまったけど、テンプレートを作りたい時は、仮想サーバーの(表示 - ボリューム)からROOTのボリュームを選び、右端にあるテンプレート作成からできます。
⑤おわりに
いかがだったでしょうか。この記事を読んでスナップショット機能を使い、皆さまの「クラウド疲れ」が少しでもほぐせるといいなー、と思っています。