開発者にとっては周知の事実ですが、ウェブサイトやアプリケーションを定期的にバックアップすることは、オンラインプレゼンスの完全性と可用性を維持する上で非常に重要です。バックアップ作成を怠ると、作品やデータ、そして利用者情報の喪失という到底許容できないリスクすら生じます。

そこで便利なのが、クラウドストレージです。手頃に実行できて信頼性も高いバックアップ手段として人気を博します。クラウドストレージを利用することで、ハッキング、サーバーの故障、不慮の削除に備えられ、さらにアクセス性、拡張性、利便性という利点もあります。

Kinstaの外部バックアップアドオンを使用すると、Amazon S3またはGoogle Cloud Storageを使い、WordPressサイトのバックアップを取ることができます。この記事では、Google Cloud Storage(GCS)バケットのセットアップ方法をご紹介します。Amazon S3バケットの使用については、Amazon S3バケットの作成と設定についての別のページをご覧下さい。

まず、Google Cloud Platform(GCP)アカウントを作成する必要があります。すでにアカウントをお持ちの方は、以下のステップに進んでください。

Google Cloud Platformのアカウントをお持ちでない方は、こちらからサインアップしてください。

Google Cloud Storageバケットの作成

GCSバケットを作成するには、GCPアカウントにログインし、左側のナビゲーションメニューにある「Cloud Storage」に移動します。

「Clould Storage」に移動してGoogle Cloud Storageのバケット作成を開始する
「Clould Storage」に移動してGoogle Cloud Storageのバケット作成を開始する

次に、ページ上部の「バケット」の隣にある「作成」ボタンをクリックします。

Google Cloud Storageの「作成」ボタンをクリックする
Google Cloud Storageの「作成」ボタンをクリックする

ストレージバケットの名前を指定します。ここでは「kinstalife」としました。

Google Cloud Storageのバケットに名前を付ける
Google Cloud Storageのバケットに名前を付ける

次に、外部バックアップの「ロケーション タイプ」と「ロケーション」を選択します。Googleには「Region(リージョン)」、「Dual-region(デュアルリージョン)」、「Multi-region(マルチリージョン)」という3種類のロケーションタイプがあります。

  • Region(リージョン)─最も安価な選択肢で、1つのリージョンにデータを保存します。
  • Dual-region(デュアルリージョン)─データを2つのリージョンに保存し、可用性を高めます。
  • Multi-region(マルチリージョン)─最も高価な選択肢で、複数の地域に渡ってデータを保存します。

ロケーションタイプは、バックアップに求められる性能や要件に基づき決めてください。ミッションクリティカルなバックアップインフラが必要であれば、最大限の可用性と最小限のレイテンシを誇る、Multi-regionが優れた選択肢です。

一方、月に一度のバックアップに、基本的かつ安価な選択肢をお探しであれば、RegionまたはDual-regionで問題ないでしょう。ロケーションタイプを選択したら、次にロケーションを選択します。どのタイプを選択するかによって、選べる場所が異なります。

例えば、Dual-regionは、現時点では「南北アメリカ」、「ヨーロッパ」、「アジア太平洋」のみサポートしています。一般的には、利用状況を考えて、より近いロケーションを選択することをお勧めします。

GCSバケットのロケーションを選択する
GCSバケットのロケーションを選択する

次に、外部バックアップに利用する「ストレージ クラス」を選択します。各クラスで費用が異なるため、状況に応じストレージクラスを選択してください。

  • バックアップに頻繁にアクセスする予定であれば「Standard」を選択
  • バックアップへのアクセス頻度が月に1回よりも少ない場合は「Nearline」を選択
  • バックアップへのアクセス頻度が3ヶ月に1回よりも少ない場合は「Coldline」を選択
  • バックアップへのアクセス頻度が1年に1回よりも少ない場合は「Archive」を選択

どのストレージ クラスを選択すべきか不明であれば「Standard」クラスを選択しておくことをお勧めします。

GCSバケットのロケーションを選択する
GCSバケットのストレージ クラスを選択する

次に、「アクセス制御」の項目で「きめ細かい管理」を選択します。

GCSバケットの「きめ細かい管理」を選択する
GCSバケットの「きめ細かい管理」を選択する

オブジェクト データを保護する方法を選択する」セクションの調整は必須ではありませんので、適宜、必要であれば調整を行ってください。バケットの設定を確認したら、「作成」をクリックして処理を確定します。

Google Cloud Storageのバケットを作成する
Google Cloud Storageのバケットを作成する

バケットを作成するとバケット一覧画面に表示されるようになります。

今回新しく作成したGCSバケットが確認できる
今回新しく作成したGCSバケットが確認できる

サービス アカウントの作成

次に、ストレージバケットを管理するための権限を持つサービス アカウントを作成する必要があります。ナビゲーションメニューの「IAMと管理」に移動し「サービス アカウント」をクリックします。

「IAMと管理」メニューの「サービス アカウント」をクリックする
「IAMと管理」メニューの「サービス アカウント」をクリックする

サービス アカウントを作成」ボタンをクリックします。

「サービス アカウントを作成」ボタンをクリック
「サービス アカウントを作成」ボタンをクリック

サービス アカウントの名前、ID、説明を記述します。このサービス アカウントがKinstaの外部バックアップアドオンに関連していることを明確にするために、「mykinsta-external-backups」などを使用することをお勧めします。各種情報を入力したら「続行」ボタンをクリックします。

GCPサービス アカウントの名前、ID、および説明
GCPサービス アカウントの名前、ID、および説明

次に、サービス アカウントに「ストレージ管理者」の権限を割り当てる必要があります。これにより、サービス アカウントにGoogle Cloud Storageバケット内のファイルを管理する権限が付与されます。

もし「ストレージ管理者」が見つからない場合は、検索機能を使ってこの文言を入力してみてください。これを選択できたら、「続行」をクリックして次のステップに進みます。

サービス アカウントに「ストレージ管理者」の権限を追加する
サービス アカウントに「ストレージ管理者」の権限を追加する

任意で、サービス アカウントの管理者となるユーザーを追加することができます。サービス アカウントの管理者の指定は必須ではありませんが、将来的にサービス アカウントを他のことに使用する予定があれば便利な選択肢です。

その他特定の要件で管理者を指定する必要があれば、ここで自由に行ってください。そうでなければ、空白のままで問題ありません。「完了」をクリックすると、サービス アカウントの作成が完了します。

必要に応じ管理者ユーザーをサービス アカウントに追加し「完了」をクリック
必要に応じ管理者ユーザーをサービス アカウントに追加し「完了」をクリック

サービス アカウント鍵ペアの作成

次に、サービス アカウントとMyKinstaの接続を認証する鍵ペアを作成します。これを行うには、先ほど作成したサービス アカウントをクリックします。

サービス アカウントに移動する
サービス アカウントに移動する

ページ「キー」セクションに移動し「鍵を追加」と「新しい鍵を作成」をクリックします。

サービス アカウントの鍵ペアを作成する
サービス アカウントの鍵ペアを作成する

鍵の種類に「JSON」を選択し、「作成」を押します。

サービス アカウントのJSON鍵ペアを作成する
サービス アカウントのJSON鍵ペアを作成する

サービス アカウントの鍵データを含むJSONファイルのダウンロードが始まります。このJSONファイルには、秘密鍵やサービス アカウントに関連する重要な情報が含まれますので、慎重に扱ってください。安全な場所に保管し、特別な理由がない限り、誰にも公開しないようにご注意ください。

JSONファイルの名前は、以下のようになります。

kinstalife-280115-42d3c1d04a09.json

このJSONファイルの内容は、MyKinstaの外部バックアップ設定プロセスで必要になります。必ず安全な場所に保管してください。

Google Cloud Storageバケットの情報確認

ストレージバケットをKinstaの外部バックアップツールに紐付けるには、Google Cloudから3つの情報が必要になります。

  1. Google Cloudバケット名
  2. Google CloudプロジェクトID
  3. サービス アカウントの秘密鍵

Google Cloudバケット名

Google Cloudバケット名を調べるには、メニューから「Cloud Storage」の「バケット」へと移動し画面下にある表の「名前」列を確認してください。下のスクリーンショットでは、バケット名は「kinstalife」となっています。

GCPストレージブラウザのバケット名を確認する
GCPストレージブラウザのバケット名を確認する

Google CloudプロジェクトID

Google CloudのプロジェクトIDを確認するには、「IAMと管理」>「設定」に移動します。プロジェクトIDはこのページで確認することができます。以下のスクリーンショットでは、プロジェクトIDはkinstalife-280115となっています。

GCPプロジェクトIDを確認する
GCPプロジェクトIDを確認する

サービス アカウントの秘密鍵

サービス アカウントの秘密鍵は、サービス アカウントの鍵ペアを作成した際にダウンロードしたJSONファイルに記載されています。このファイルはテキストエディタで開くことができるので、ファイルの内容をMyKinstaにコピーしてください。ファイルの中身は以下のようになっているはずです。


{
  "type": "service_account",
  "project_id": "kinstalife-280115",
  "private_key_id": "01sxigr0jy9p5przs80gijgcd1ouacn6d417l3ia",
  "private_key": "-----BEGIN PRIVATE KEY-----nMIIEvgIBADANBgkqhkiG9w0B...n-----END PRIVATE KEY-----n",
  "client_email": "mykinsta-external-backups@kinstalife-280115.iam.gserviceaccount.com",
  "client_id": "043137139116347916375",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/mykinsta-external-backups%40kinstalife-280115.iam.gserviceaccount.com"
}

ここで触れた各種情報を、外部バックアップアドオンをプランに追加する際に利用することができます。

まとめ

これで、MyKinstaの外部バックアップアドオンがGoogle Cloud Storageバケットで動作するのに必要な情報が揃いました。コード、データ、ユーザー情報等を安全な環境で保管することができます。

まだKinstaをご利用でなければ、今が乗り換えの絶好のチャンスです。WordPressをご利用でもKinstaのWordPressホスティングサービスがおすすめです。また、アプリケーション開発者や所有者向けに、アプリケーションホスティングサービスの最初の1ヶ月分を無料でご提供しています。各サービスでは、本記事で紹介した外部バックアップをアドオン等で利用できるほか、24時間年中無休で、エンジニアによるサポートが受けられるので、いざという時に安心です。