2.2. データベースサーバーのインストール

各 OpenStack コンポーネントには、実行中の MariaDB データベースサービスが必要です。全 Red Hat OpenStack Platform サービスをデプロイしたり、単一の OpenStack コンポーネントをインストールしたりする前に、データベースサービスをデプロイしてください。

2.2.1. MariaDB データベースパッケージのインストール

MariaDB データベースサーバーには以下のパッケージが必要です。
mariadb-galera-server
MariaDB データベースサービスを提供します。
mariadb-galera-common
MariaDB サーバーの共有ファイルを提供します。このパッケージは、mariadb-galera-server パッケージの依存関係としてインストールされます。
galera
Galera wsrep (Write Set REPlication) provider をインストールします。このパッケージは、mariadb-galera-server パッケージの依存関係としてインストールされます。
パッケージをインストールします。
# yum install mariadb-galera-server

2.2.2. データベースのトラフィックを許可するためのファイアウォール設定

OpenStack 環境のすべてのコンポーネントは、データベースサーバーを使用し、そのデータベースにアクセスできる必要があります。データベースサービスをホストするサーバーのファイアウォールは、必要なポートでのネットワークトラフィックを許可するように設定する必要があります。以下の手順に記載するステップはすべて、データベースサービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。

手順2.3 データベースのトラフィックを許可するためのファイアウォール設定

  1. テキストエディターで /etc/sysconfig/iptables ファイルを開きます。
  2. このファイルに、ポート 3306 で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。
    -A INPUT -p tcp -m multiport --dports 3306 -j ACCEPT
  3. /etc/sysconfig/iptables ファイルへの変更を保存します。
  4. iptables サービスを再起動して、変更を有効にします。
    # systemctl restart iptables.service

2.2.3. データベースサービスの起動

以下の手順に記載するステップはすべて、データベースサービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。

手順2.4 データベースサービスの起動

  1. mariadb サービスを起動します。
    # systemctl start mariadb.service
  2. mariadb サービスがブート時に起動するように設定します。
    # systemctl enable mariadb.service

2.2.4. データベース管理者アカウントの設定

デフォルトでは、MariaDB は root というデータベースユーザーを作成します。これにより、MariaDB サーバーがインストールされているマシンから MariaDB サーバーへのアクセスが提供されます。MariaDB サービスをホストするサーバーにセキュアにアクセスするには、このアカウントにパスワードを設定する必要があります。また、MariaDB サーバーがインストールされているマシン以外のマシンから MariaDB サーバーにアクセスする必要がある場合には、MariaDB サーバーへのアクセスを有効化する必要があります。インストール時に作成された匿名ユーザーおよびテストデータベースは削除することを推奨します。

手順2.5 データベース管理者アカウントの設定

  1. MariaDB サービスがインストールされているマシンにログインします。
  2. mysql_secure_installation を使用して root パスワードの設定、リモートの root ログインの許可、匿名ユーザーアカウントおよびテストデータベースの削除を行います。
    # mysql_secure_installation

注記

必要に応じて、データベースユーザーのパスワードを変更します。以下の例で、OLDPASS はユーザーの既存のパスワードに、NEWPASS は新規パスワードに置き換えてください。ただし、-p と古いパスワードの間にはスペースをあけないようにしてください。
# mysqladmin -u root -pOLDPASS password NEWPASS

2.2.5. 接続性のテスト

データベースユーザーアカウントが正しく設定されていることを確認するには、MariaDB データベースがインストールされているマシン (ローカルの接続性)、および MariaDB サーバーがインストールされているのとは別のマシン (リモートの接続性) から、そのユーザーアカウントの MariaDB サーバーとの接続性をテストします。

2.2.5.1. ローカルの接続性のテスト

MariaDB サービスがインストールされているマシンからデータベースサービスをホストするサーバーに接続できるかどうかをテストします。

手順2.6 ローカルの接続性のテスト

  1. データベースサービスに接続します。USER は接続先のユーザー名に置き換えます。
    # mysql -u USER -p
  2. プロンプトが表示されたら、データベースユーザー名を入力します。
    Enter password:
データベースユーザーのパーミッションが正しく設定されている場合には、接続が成功して MariaDB の Welcome 画面とプロンプトが表示されます。データベースユーザーのパーミッションが正しく設定されていない場合には、そのデータベースユーザーにはデータベースサーバーへの接続が許可されていないことを示すエラーメッセージが表示されます。

2.2.5.2. リモートの接続性のテスト

データベースサーバーがインストールされているのとは別のマシンから MariaDB サーバーへの接続が可能かどうかをテストします。

手順2.7 リモートの接続性のテスト

  1. MySQL クライアントツールをインストールします。
    # yum install mysql
  2. データベースサービスに接続します。USER はデータベースのユーザー名、HOST はデータベースサービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。
    # mysql -u USER -h HOST -p
  3. プロンプトが表示されたら、データベースユーザー名を入力します。
    Enter password:
データベースユーザーのパーミッションが正しく設定されている場合には、接続が成功して MariaDB の Welcome 画面とプロンプトが表示されます。データベースユーザーのパーミッションが正しく設定されていない場合には、そのデータベースユーザーにはデータベースサーバーへの接続が許可されていないことを示すエラーメッセージが表示されます。