Google Compute Engine で MySQL をセットアップする方法

Google Cloud Platform プロジェクトの一部として MySQL をデプロイするためのオプションはいくつかあります。Google Cloud SQL や Google Cloud Platform Marketplace を使用するか、または Google Compute Engine に手動で MySQL をインストールします。

Google Cloud SQL は、MySQL をウェブサービスとして提供します。Google Cloud SQL を使用して、Google のクラウドで MySQL データベースをホストし、管理作業(レプリケーション、パッチ管理、データベース管理など)を Google Cloud Platform に処理させることが可能です。

GCP Marketplace は、シンプルなクリック デプロイ インターフェースを提供します。これにより、MySQL を Compute Engine インスタンスに簡単にインストールできます。GCP Marketplace には、スタンドアロンの MySQL インストールだけでなく、MySQL を使用するいくつかのウェブ開発スタック(LAMP スタック、LEMP スタック、Percona MySQL クラスタなど)も含まれています。

MySQL を手動でインストールしてカスタマイズする場合は、Compute Engine を使用して、数分で MySQL データベースを作成できます。このドキュメントでは、選択するオプションに関するガイダンスを示し、Compute Engine での MySQL データベースの手動インストールについて説明します。

適切な MySQL デプロイ オプションの選択方法

Google Cloud Platform にバックエンド データベースとサーバーの管理作業を行わせることによる利便性を求める場合、Google Cloud SQL は優れたオプションです。たとえば、Cloud SQL は自動バックアップと point-in-time リカバリを備えています。さらに、可用性と復元力が向上するように、データが複数のゾーンに複製されます。

Cloud SQL でサポートされない MySQL 機能が必要な場合、Compute Engine に MySQL をインストールできます。たとえば、Cloud SQL では、ユーザー定義関数や SUPER 特権はサポートされません。詳細については、Cloud SQL のよくある質問をご覧ください。

Compute Engine に MySQL をインストールする場合は、Google GCP Marketplace で MySQL インストールをデプロイするか、Compute Engine インスタンスに手動で MySQL をインストールします。GCP Marketplace を使用すると、大規模開発スタックの一部として MySQL を簡単にデプロイできます。GCP Marketplace には、複数の MySQL インストールのオプション(スタンドアロンの MySQL インストール、LAMP スタック、LEMP スタック、Nginx スタック、Percona MySQL クラスタ インストールやその他のいくつかのオプション)が用意されています。

必要なものが GCP Marketplace で提供されていない場合は、Compute Engine インスタンスに手動で MySQL をインストールできます。たとえば、作成したカスタム イメージに MySQL をデプロイしたり、インストール プロセスを詳細に制御したりすることができます。

Compute Engine インスタンスに MySQL を手動でインストールする場合、Compute Engine インスタンスを作成し、そのインスタンスに MySQL を直接インストールするだけです。このドキュメントの残りでは、Compute Engine インスタンスへの MySQL の手動インストールについて説明します。

目標

  • Compute Engine インスタンスの作成
  • MySQL のインストール
  • MySQL への接続

事前準備

  1. Google Cloud Platform Console で、新しいプロジェクトを作成します。既存のプロジェクトを使用することもできますが、新しいプロジェクトを作成することによって、クリーンアップが容易になります。

このドキュメントのすべてのステップは、Google Cloud Platform Console を使用して完了できますが、gcloud コマンドライン ツールを使用する場合は、次のステップに沿って Compute Engine API を有効にし、Google Cloud SDK をインストールします。

  1. Google Cloud Platform Console を使用して、Compute Engine API を有効にします

  2. Google Cloud SDK をインストールします。

  3. コマンドが冗長にならないようにワークスペースを構成します。次のコマンドの [PROJECT_ID][ZONE] は、プロジェクトの値で置き換えます。ゾーンの完全なリストについては、利用可能なリージョンとゾーンを参照してください。

    gcloud config set project [PROJECT_ID]
    gcloud config set compute/zone [ZONE]
    

Compute Engine インスタンスの作成

MySQL 用の Compute Engine インスタンスを作成し、新しく作成したインスタンスへの SSH 接続を確立します。デフォルトのオペレーティング システムは Debian バージョン 9 です。このチュートリアルで別のオペレーティング システムを使用する場合は、Compute Engine ドキュメントのイメージのページに記載されているオプションから選択できます。

Console


Google Cloud Platform Console で Compute Engine インスタンスを作成するには:

  1. Google Cloud Platform Console を開きます。

  2. 新しく作成したプロジェクトを選択し、[続行] をクリックします。

  3. [インスタンスを作成](既存のインスタンスがある場合は、[新しいインスタンス])をクリックします。インスタンスに mysql-test という名前を付けます。

  4. デフォルト値以外のオペレーティング システムを指定する場合は、[ブートディスク] セクションで [変更] をクリックしてオペレーティング システムを選択してから [選択] をクリックします。

  5. [作成] をクリックします。

SSH 接続を確立するには:

  1. [VM インスタンス] ページで、リスト内の新しい VM インスタンスを見つけます。

  2. [接続] 列で、[SSH] をクリックします。SSH 端末がブラウザ ウィンドウに表示されます。

gcloud


  1. Compute Engine インスタンスを作成するには、gcloud compute instances create コマンドを使用します。別のオペレーティング システムを使用するには、--image の後にイメージ名を追加します。たとえば、Debian 9 を使用するには、--image debian-9 を追加します。

    gcloud compute instances create mysql-test
    
  2. ssh を使用してインスタンスに接続します。

    gcloud compute ssh mysql-test
    

MySQL のインストール

次の手順では、Compute Engine インスタンス上で MySQL をインストールする方法について説明します。

Debian と Ubuntu


  1. apt-get パッケージ マネージャを更新します。

    sudo apt-get update
    
  2. MySQL をインストールします。インストール プロセスが専用の MySQL サービスを開始します。

    sudo apt-get -y install mysql-server
    

CentOS 6 と RHEL 6


  1. MySQL をインストールします。

    sudo yum -y install mysql-server
    
  2. MySQL サーバーを開始します。

    sudo service mysqld start
    

CentOS 7 と RHEL 7


CentOS と RHEL のバージョン 7 には、現在、パッケージ管理システムの一部として MySQL の代わりに MariaDB が含まれています。CentOS 7 上で MySQL をインストールするには、まず、パッケージ マネージャを更新する必要があります。

  1. MySQL を含むようにパッケージ マネージャを更新します。

    sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    
  2. MySQL をインストールします。

    sudo yum -y install mysql-community-server
    
  3. MySQL サーバーを開始します。

    sudo /usr/bin/systemctl start mysqld
    

MySQL インストールのセキュリティの強化

MySQL インストールのセキュリティを強化するには、mysql_secure_installation コマンドを実行します。インストール プロセス中にパスワードを設定しなかった場合は、この手順でパスワードを作成します。このコマンドの詳細については、mysql_secure_installation の MySQL ドキュメントをご覧ください。

sudo mysql_secure_installation

MySQL への接続

次の手順では、mysql-test インスタンスから MySQL に接続する方法について説明します。

  1. MySQL クライアントを使用して MySQL に接続します。

    sudo mysql -u root -p
    

    MySQL に接続すると、プロンプトが次のように変化します。

    mysql>

    そうするると、MySQL コマンドを実行することができるようになります。たとえば、次のコマンドは、現在の接続を含む、実行中のスレッドを表示します。

    mysql> SHOW processlist;

    +----+------+-----------+------+---------+------+-------+------------------+
    | Id | User | Host      | db   | Command | Time | State | Info             |
    +----+------+-----------+------+---------+------+-------+------------------+
    | 51 | root | localhost | NULL | Query   |    0 | NULL  | show processlist |
    +----+------+-----------+------+---------+------+-------+------------------+
    1 row in set (0.00 sec)

    次のコマンドを使用して、ユーザーのリストを生成できます。

    mysql> SELECT User, Host, Password FROM mysql.user;

    +------------------+------------+-------------------------------------------+
    | User             | Host       | Password                                  |
    +------------------+------------+-------------------------------------------+
    | root             | localhost  | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | mysql-test | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | 127.0.0.1  | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | ::1        | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | debian-sys-maint | localhost  | *AD7B08AF7691A552A57900F1A9D8AE26ED499117 |
    +------------------+------------+-------------------------------------------+
    5 rows in set (0.00 sec)

  2. コマンドの実行が完了したら、exit コマンドを使用して MySQL クライアントを終了し、exit を再び使用して Compute Engine インスタンスからログアウトします。

    mysql> exit

    exit

クリーンアップ

MySQL チュートリアルが終了したら、Google Cloud Platform で作成したリソースについて今後課金が発生しないようにクリーンアップすることができます。以下のセクションで、このようなリソースを削除または無効にする方法を説明します。

プロジェクトの削除

課金を停止する最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。

プロジェクトを削除するには:

  1. GCP Console で [プロジェクト] ページに移動します。

    プロジェクト ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

インスタンスの削除

Compute Engine インスタンスを削除するには:

  1. GCP Console の [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 削除したいインスタンスの隣のチェックボックスを選択します。
  3. ページの上部にある、[削除] ボタンをクリックし、インスタンスを削除します。

次のステップ

ここまで、Compute Engine に MySQL サーバーをインストールする方法を学びました。MySQL を使用する複雑なアプリケーションを参照するには、MySQL を使用する GCP Marketplace でさまざまな開発スタックを参照してください。

要件に高可用性とスケーラビリティが含まれている場合は、Compute Engine 上での MySQL Cluster のインストールを検討します。MySQL Cluster は、シェアードナッシング クラスタリングとオートシェーディングを通して高可用性とスケーラビリティを提供します。GCP Marketplace は、MySQL クラスタリング用のオープンソース ソリューションである Percona 用のクリック デプロイ オプションを提供します。

MySQL のスケーラビリティに関するもう 1 つのオープンソース ソリューションは、2011 年からすべての YouTube データベース トラフィックを供給している Vitess です。Vitess は、コンテナ内で動作するアプリケーションに最適です。コンテナ環境での Vitess の使用方法については、Kubernetes 上での Vitess の実行を参照してください。

MySQL の詳細については、公式の MySQL ドキュメントを参照してください。

Google Cloud Platform のその他の機能を試すには、チュートリアルをご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...