概要
このドキュメントでは、CloudCenterを使用してアプリケーションを移行し、コンテンツをバックアップしてAmazon S3バケットに復元する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Linux
- CloudCenter
- Amazon S3
使用するコンポーネント
このドキュメントの情報は、CloudCenter v4.8.1.1に基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
背景説明
このドキュメントでは、CloudCenterがすでにインストールされており、正常に動作していることを前提としています。また、WordPressはすでにモデル化され、正常に動作することが確認されています。このプロセスは、リポジトリとしてS3バケットを使用してテストされただけで、パブリッククラウド間で別の展開に移行されます。ただし、宛先クラウドでS3バケットとの接続が確認される限り、パブリッククラウドとプライベートクラウドの間で動作する必要があります。この手順は、概念実証のためにのみ実行する必要があります。シークレットキーはスクリプトにハードコードされているため、使いやすいようにベストプラクティスを使用しません。指定されたスクリプトは、Apache Webサーバを使用してCentOS用に作成されました。
必要な情報の収集
CloudCenterでは、データをバックアップして正しいVMにリストアするために、いくつかのスクリプトを使用します。このスクリプトに情報を入力するには、事前に収集しておく必要があります。
- Amazon S3バケットの名前
- バックアップデータが保存されるバケット内のパス
- Amazon S3キー
- Amazon S3秘密キー
注:S3バケットは、CloudCenterでもリポジトリとして追加する必要があります。
スクリプトのダウンロードと更新
- WordPressの移行を処理するには、4つのスクリプトが必要です。2つのバックアップスクリプト、1つはデータベース用、もう1つはWebサーバ用、もう1つは2つの復元スクリプト。
- BackupRestore.zipをダウンロードし、RestoreServer.sh、RestoreDB.sh、BackupDB.sh、BackupServer.shから抽出します。
- 各内部から、バケツ、パス、S3キー、S3シークレットを更新します。
- webserver zzのバックアップスクリプトは/var/www/ディレクトリをserver.zipというファイルに吸い上げます。このファイルは/tmpディレクトリに保存されます。次に、指定されたクレデンシャルを使用してserver.zipをS3バケットにアップロードします。
- Webサーバの復元スクリプトは、server.zipファイルをダウンロードし、/var/www/ディレクトリに解凍します。これらのスクリプトはエラーチェックを行わず、インストールされているOSもチェックしません。WordPressが別のOSにインストールされている場合、またはApache以外の別のWebサーバにインストールされている場合、問題が発生する可能性があります。
- データベースのバックアップスクリプトはデータベース(DB)ダンプを実行し、S3バケットにアップロードする前に実行します。
- データベースの復元スクリプトはDBを作成し、S3バケットからダウンロードしたDBダンプを使用してデータベースを再作成します。
注:これらのスクリプトにはS3キーとシークレットがプレーンテキストで保存されています。これは推奨されません。これは概念実証としてのみ使用するか、初期テスト時にのみ使用する必要があります。
すべてのフィールドが更新されたら、スクリプトをCloudCenterリポジトリにアップロードして、アプリケーションプロファイル内で参照できるようにします。
WordPressプロファイルの更新
これらの新しいスクリプトを使用するには、プロファイルに対するアップデートが必要です。
WebServerで、[Migration]を選択して、[Backup Script]でBackupServer.shへのパスを追加しますが、[Backup Location]で[Backup Location]を参照して、最後に図に示すように[Restore Script]でRestoreServer.shへのパスを追加追加します。
RestoreServer.shは、ファイルを/var/www/に解凍するためのアクセス許可を必要とします。このファイルを解凍するクライアントは実行するアクセス許可を持っていません。 Node Initialization & Clean Upで、Sudoコマンドリストにunzipを追加します。これにより、図に示すように、rootとしてunzipを実行する権限がスクリプトに与えられます。
データベース層は、図に示すように、WebServerと同様の変更(バックアップスクリプト、バックアップの場所、および復元スクリプト)が必要です。
これらの変更が完了したら、アプリケーション・プロファイルを保存します。
新しい導入を1つのノードから別のノードに移行できる必要があります。