このセクションでは、NDB Cluster Auto-Installer を実行するためにサポートされているオペレーティングシステムとソフトウェア、必要なソフトウェア、およびその他の前提条件について説明します。
サポートされるプラットフォーム. NDB Cluster Auto-Installer は、最新バージョンの Linux、Windows、Solaris、および macOS 用の NDB 8.0 ディストリビューションで使用できます。 NDB Cluster および NDB Cluster 自動インストーラのプラットフォームサポートの詳細は、https://www.mysql.com/support/supportedplatforms/cluster.html を参照してください。
サポートされる web ブラウザ. web ベースのインストーラは、最新バージョンの Firefox および Microsoft Internet Explorer でサポートされます。 また、Opera、Safari、および Chrome の最近のバージョンでも動作しますが、これらのブラウザとの互換性に関する詳細なテストは行われていません。
必要なソフトウェア (セットアップホスト). Auto-Installer が実行されているホストに次のソフトウェアをインストールする必要があります:
Python 2.6 以上. Auto-Installer には、Python インタプリタと標準ライブラリが必要です。 これらがシステムにまだインストールされていない場合は、システムのパッケージマネージャーを使用して追加できる可能性があります。 それ以外の場合は、http://python.org/download/ からダウンロードできます。
Paramiko 2 以上. これがシステムパッケージマネージャから入手できない場合は、http://www.lag.net/paramiko/ からダウンロードできます。
Pycrypto バージョン 1.9 以上. この暗号化モジュールは Paramiko に必要であり、
pip install cryptography
を使用してインストール解除できます。pip
がインストールされておらず、システムパッケージ管理を使用してモジュールを使用できない場合は、https://www.dlitz.net/software/pycrypto/ からダウンロードできます。
構成ツールの Windows バージョンには、前のリストに示したすべてのソフトウェアが含まれているため、別個にインストールする必要はありません。
必要なソフトウェア (リモートホスト). NDB Cluster ノードを配備するリモートホストに必要なソフトウェアは SSH サーバーだけです。SSH サーバーは通常、Linux および Solaris システムにデフォルトでインストールされます。 Windows では、いくつかの代わりとなるものが使用可能です。概要については、http://en.wikipedia.org/wiki/Comparison_of_SSH_servers を参照してください。
複数のホストを使用する場合の追加要件は、次のいくつかの段落で説明するように、SSH および適切なキーまたはユーザー資格証明を使用して任意のリモートホストに対して認証できることです:
認証とセキュリティー. リモートアクセスのための 3 つの基本的なセキュリティーまたは認証メカニズムを Auto-Installer で使用できます。ここでは、これらについて説明します:
-
SSH. セキュアシェル接続を使用すると、バックエンドからリモートホストでのアクションを実行できるようになります。 そのためには、リモートホストで SSH サーバーが実行されている必要があります。 また、インストーラを実行しているオペレーティングシステムユーザーは、ユーザー名とパスワード、または公開キーと秘密キーを使用してリモートサーバーにアクセスできる必要があります。
重要システムの
root
アカウントは安全性がきわめて低いため、リモートアクセスには決して使用しないでください。 また、mysqld はシステムのroot
によって正常に起動できません。 これらの理由やその他の理由から、システムのroot
ではく、ターゲットシステム上の通常のユーザーアカウントの SSH 資格証明を提供してください。 この問題の詳細は、セクション6.1.5「MySQL を通常ユーザーとして実行する方法」を参照してください。 -
HTTPS. デフォルトでは、Web ブラウザのフロントエンドとバックエンドの間のリモート通信は暗号化されません。つまり、ユーザー SSH パスワードなどの情報はクリアテキストとして送信され、すべてのユーザーが読み取ることができます。 リモートクライアントからの通信を暗号化するには、バックエンドに証明書を用意し、フロントエンドが HTTP ではなく HTTPS を使用してバックエンドと通信する必要があります。 HTTPS を有効にするには、自己署名証明書を発行するのがもっとも簡単です。 証明書を発行したあとは、それが使用されていることを確認する必要があります。 これを行うには、
--use-https
(-S
) および--cert-file
(-c
) オプションを指定してコマンドラインから ndb_setup.py を起動します。サンプルの証明書ファイル
cfg.pem
が含まれており、デフォルトで使用されます。 このファイルは、インストール共有ディレクトリの下のmcc
ディレクトリにあります。Linux では、ファイルへのフルパスは通常/usr/share/mysql/mcc/cfg.pem
です。 Windows システムでは、これは通常C:\Program Files\MySQL\MySQL Server 8.0\share\mcc\cfg.pem
です。 デフォルトを使用できるということは、テスト目的で、-S
オプションを使用してインストーラを起動し、ブラウザとバックエンド間の HTTPS 接続を使用できることを意味します。Auto-Installer は、ndb_setup.py 実行可能ファイルを呼び出すユーザーのホームディレクトリに、特定のクラスタ
mycluster01
の構成ファイルをmycluster01.mcc
として保存します。 このファイルは、(Fernet を使用して) ユーザーが指定したパスフレーズで暗号化されます。HTTP はパスフレーズをクリアなリモートホスト上の Auto-Installer にアクセスするには、常に HTTPS 接続を使用することを強くお勧めしますで転送するためです。 証明書ベースの認証. バックエンドの ndb_setup.py プロセスは、ローカルホストだけでなくリモートホストに対してもコマンドを実行できます。 これは、バックエンドに接続した任意のユーザーがコマンドの実行方法を管理できることを意味します。 バックエンドへの不要な接続を拒否するには、クライアントを認証するための証明書が必要です。 この場合は、証明書がユーザーによって発行され、ブラウザにインストールされ、バックエンドで認証に使用できるようになっている必要があります。
--ca-certs-file
(-a
) オプションを指定して ndb_setup.py を起動することで、この要件を (パスワードまたはキー認証とともに、またはそのかわりに) 実施できます。
クライアントブラウザが Auto-Installer バックエンドと同じホスト上で実行されている場合、セキュアな認証は必要ありません。
さらに一般的な MySQL セキュリティー情報については、NDB Cluster を配備するときに考慮すべきセキュリティー上の考慮事項を考慮した セクション23.5.17「NDB Cluster のセキュリティーの問題」 および 第6章「セキュリティー」 も参照してください。