このセクションでは、サポートされるオペレーティングプラットフォームとソフトウェア、必要なソフトウェア、および MySQL Cluster Auto-Installer を実行するためのその他の前提条件について説明します。
サポートされるプラットフォーム MySQL Cluster Auto-Installer は、Linux、Windows、Solaris、および MacOS X の最近のバージョンに対応する MySQL Cluster NDB 7.3 以降のほとんどの配布で使用できます。MySQL Cluster および MySQL Cluster Auto-Installer のプラットフォームサポートの詳細は、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 1.7.7.1 以降 これは、SSH を使用してリモートホストと通信するために必要です。http://www.lag.net/paramiko/ からダウンロードできます。Paramiko は、使用しているシステムのパッケージマネージャーから入手することもできます。
Pycrypto バージョン 2.6 以降 この暗号化モジュールは Paramiko が必要とします。使用しているシステムのパッケージマネージャーを使用して入手できない場合は、https://www.dlitz.net/software/pycrypto/ からダウンロードできます。
構成ツールの Windows バージョンには、前のリストに示したすべてのソフトウェアが含まれているため、別個にインストールする必要はありません。
Paramiko および Pycrypto ライブラリは、MySQL Cluster ノードをリモートホストに配備する場合にのみ必要です。インストーラを実行する同じホストにすべてのノードを配置する場合は必要ありません。
必要なソフトウェア (リモートホスト) MySQL Cluster ノードを配備するリモートホストに必要な唯一のソフトウェアは、Linux および Solaris システムでは通常デフォルトでインストールされる SSH サーバーです。Windows では、いくつかの代わりとなるものが使用可能です。概要については、http://en.wikipedia.org/wiki/Comparison_of_SSH_servers を参照してください。
複数のホストを使用するときの追加要件は、次の段落で説明するように、SSH と適切な鍵またはユーザー資格証明を使用してリモートホストで認証できるようにすることです。
認証とセキュリティー Auto-Installer では、リモートアクセスに対してここに示す 3 つの基本的なセキュリティーまたは認証メカニズムを使用できます。
-
SSH セキュアシェル接続を使用すると、バックエンドからリモートホストでのアクションを実行できるようになります。そのためには、リモートホストで SSH サーバーが実行されている必要があります。また、インストーラを実行するシステムユーザーがユーザー名とパスワードまたは公開鍵と秘密鍵を使用してリモートサーバーにアクセスできる必要があります。
重要システムの
root
アカウントは安全性がきわめて低いため、リモートアクセスには決して使用しないでください。また、mysqld はシステムのroot
によって正常に起動できません。これらの理由やその他の理由から、システムのroot
ではく、ターゲットシステム上の通常のユーザーアカウントの SSH 資格証明を提供してください。この問題の詳細は、セクション6.1.5「MySQL を通常ユーザーとして実行する方法」を参照してください。 HTTPS Web ブラウザのフロントエンドとバックエンド間のリモート通信は、デフォルトでは暗号化されません。これは、ユーザーの SSH パスワードなどの情報がすべてのユーザーに判読可能な平文で転送されることを意味します。リモートクライアントからの通信を暗号化するには、バックエンドに証明書を用意し、フロントエンドが HTTP ではなく HTTPS を使用してバックエンドと通信する必要があります。HTTPS を有効にするには、自己署名証明書を発行するのがもっとも簡単です。証明書を発行したあとは、それが使用されていることを確認する必要があります。これを行うには、コマンド行から
--use-https
および--cert-file
オプションを指定して ndb_setup.py コマンドを起動します。証明書ベースの認証 バックエンドの ndb_setup.py プロセスは、ローカルホストだけでなくリモートホストに対してもコマンドを実行できます。これは、バックエンドに接続した任意のユーザーがコマンドの実行方法を管理できることを意味します。バックエンドへの不要な接続を拒否するには、クライアントを認証するための証明書が必要です。この場合は、証明書がユーザーによって発行され、ブラウザにインストールされ、バックエンドで認証に使用できるようになっている必要があります。この要件を (パスワードまたは鍵による認証と組み合わせて、またはその代わりに) 設定するには、
--ca-certs-file
オプションを指定して ndb_setup.py を起動します。
クライアントブラウザを Auto-Installer のバックエンドと同じホストで実行する場合は、セキュアな認証の必要性または要件はありません。
MySQL のより一般的なセキュリティー情報については、セクション18.5.11「MySQL Cluster のセキュリティー上の問題」(MySQL Cluster を配備するときに考慮に入れるセキュリティーの検討事項について説明しています) および第6章「セキュリティー」も参照してください。