sql >> データベース >  >> NoSQL >> MongoDB

クラウドデータベースを管理するためにAWSにClusterControlをデプロイする方法


    ClusterControlはインフラストラクチャに依存しません。物理ホスト上の独自のデータセンターや、仮想化されたクラウド環境で使用できます。必要なのは、ClusterControlホストからデータベースノードへのsshアクセスだけです。その後、スタンドアロン/複製/クラスター化されたMySQL / MariaDB、MongoDB(レプリカセットまたはシャードクラスター)、またはPostgreSQL(ストリーミング複製)をデプロイできます。このブログ投稿では、EC2にClusterControlをデプロイする手順を説明します。

    EC2でのインスタンスの設定

    ClusterControlのハードウェア要件については、こちらで説明しています。これらは、ClusterControlサーバー用のパフォーマンスの高いプラットフォームを作成することを目的としています。そうは言っても、テスト目的で小さなインスタンス(t2.micro)を使用します。これで十分です。

    まず、AMIを選択する必要があります。 ClusterControlは以下をサポートします:

    • Redhat / CentOS / OracleLinux6以降
    • Ubuntu 12.04 / 14.04 / 16.04 LTS
    • Debian7.0以降

    Ubuntu16.04を使用します。

    次のステップ-インスタンスタイプ。今のところt2.microを選択しますが、本番環境のセットアップにはより大きなインスタンスを使用することをお勧めします。他のクラウドプロバイダーの場合は、1GB以上のメモリを搭載したインスタンスを選択してください。

    ClusterControl用に1つ、Percona XtraDBCluster用に3つ、合計4つのインスタンスを一度にデプロイします。それらのインスタンスをどこにデプロイするか(VPCかどうか、どのサブネットなど)を決定する必要があります。テストの目的で、VPCと単一のサブネットを使用します。もちろん、サブネット(アベイラビリティーゾーン)全体にノードを展開すると、AZの1つが使用できなくなった場合でも、セットアップが存続する可能性が高くなります。

    ストレージには、100 GBの汎用SSDボリューム(GP2)を使用します。これは、妥当な量のデータでいくつかのテストを実行するのに十分なはずです。

    次へ-セキュリティグループ。 SSHアクセスは必須です。それ以外に、展開する予定のデータベースに必要なポートを開く必要があります。必要なポートの詳細については、サポートポータルをご覧ください。

    最後に、既存のキーペアの1つを選択するか、新しいキーペアを作成する必要があります。このステップの後、インスタンスが起動されます。

    インスタンスが起動して実行されたら、ClusterControlをインストールします。そのためには、インスタンスの1つにログインし、ClusterControlインストールスクリプトinstall-ccをダウンロードします。

    [email protected]:~$ wget http://www.severalnines.com/downloads/cmon/install-cc
    --2017-09-06 11:13:10--  http://www.severalnines.com/downloads/cmon/install-cc
    Resolving www.severalnines.com (www.severalnines.com)... 107.154.146.155
    Connecting to www.severalnines.com (www.severalnines.com)|107.154.146.155|:80... connected.
    HTTP request sent, awaiting response... 301 Moved Permanently
    Location: https://www.severalnines.com/downloads/cmon/install-cc [following]
    --2017-09-06 11:13:10--  https://www.severalnines.com/downloads/cmon/install-cc
    Connecting to www.severalnines.com (www.severalnines.com)|107.154.146.155|:443... connected.
    HTTP request sent, awaiting response... 301 Moved Permanently
    Location: https://severalnines.com/downloads/cmon/install-cc [following]
    --2017-09-06 11:13:11--  https://severalnines.com/downloads/cmon/install-cc
    Resolving severalnines.com (severalnines.com)... 107.154.238.155, 107.154.148.155
    Connecting to severalnines.com (severalnines.com)|107.154.238.155|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 56913 (56K) [text/plain]
    Saving to: ‘install-cc’
    
    install-cc                                           100%[=====================================================================================================================>]  55.58K   289KB/s    in 0.2s
    
    2017-09-06 11:13:12 (289 KB/s) - ‘install-cc’ saved [56913/56913]

    次に、実行する前に実行できることを確認します。

    [email protected]:~$ chmod +x install-cc
    [email protected]:~$ sudo ./install-cc

    最初に、サポートされているLinuxディストリビューションの要件に関する情報を入手します。

    !!
    Only RHEL/Centos 6.x|7.x, Debian 7.x|8.x, Ubuntu 12.04.x|14.04.x|16.04.x LTS versions are supported
    Minimum system requirements: 2GB+ RAM, 2+ CPU cores
    Server Memory: 990M total, 622M free
    MySQL innodb_buffer_pool_size set to 512M
    
    Severalnines would like your help improving our installation process.
    Information such as OS, memory and install success helps us improve how we onboard our users.
    None of the collected information identifies you personally.
    !!
    => Would you like to help us by sending diagnostics data for the installation? (Y/n):
    
    This script will add Severalnines repository server for deb and rpm packages and
    install the ClusterControl Web Applicaiton and Controller.
    An Apache and MySQL server will also be installed. An existing MySQL Server on this host can be used.

    ある時点で、ホスト名、ポート、およびパスワードに関するいくつかの質問に答える必要があります。

    => The Controller hostname will be set to 172.30.4.20. Do you want to change it? (y/N):
    => Creating temporary staging dir s9s_tmp
    
    => Setting up the ClusterControl Web Application ...
    => Using web document root /var/www/html
    => No running MySQL server detected
    => Installing the default distro MySQL Server ...
    => Assuming default MySQL port is 3306. Do you want to change it? (y/N):
    
    => Enter the MySQL root password:
    => Enter the MySQL root password again:
    => Importing the Web Application DB schema and creating the cmon user.
    
    => Importing /var/www/html/clustercontrol/sql/dc-schema.sql
    mysql: [Warning] Using a password on the command line interface can be insecure.
    => Set a password for ClusterControl's MySQL user (cmon) [cmon]
    => Enter a CMON user password:
    => Enter the CMON user password again: => Creating the MySQL cmon user ...
    mysql: [Warning] Using a password on the command line interface can be insecure.
    => Creating UI configuration ...

    最後に、ClusterControlがインストールされていることを確認します。インストールスクリプトは、パブリックIPを検出し、ブラウザでClusterControlにアクセスするために使用できるリンクを出力しようとします。

    => ClusterControl installation completed!
    Open your web browser to http://172.30.4.20/clustercontrol and
    enter an email address and new password for the default Admin User.
    
    Determining network interfaces. This may take a couple of minutes. Do NOT press any key.
    Public/external IP => http://34.230.71.40/clustercontrol
    Installation successful. If you want to uninstall ClusterControl then run install-cc --uninstall.

    インストールが完了した後も、注意しなければならないことが1つあります。それは、ClusterControlから残りのホストへのSSHアクセスです。ノード間でSSHアクセスがすでにある場合(およびssh-copy-idを使用できる場合)を除き、これは手動プロセスになります。何よりもまず、新しいsshキーを生成する必要があります:

    [email protected]:~# ssh-keygen -C 'galera_cluster' -f id_rsa_galera -t rsa -b 4096
    Generating public/private rsa key pair.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in id_rsa_galera.
    Your public key has been saved in id_rsa_galera.pub.
    The key fingerprint is:
    SHA256:2tWOGXbrtc0Qh45NhNPzUSVdDzE9ANV1TJ0QBE5QrQY galera_cluster
    The key's randomart image is:
    +---[RSA 4096]----+
    |         .o=**X*&|
    |         Eo  + BO|
    |          ..+ +.o|
    |           + o +.|
    |        S = o + o|
    |       o o * * o |
    |      . . o + =  |
    |           . . = |
    |            . . o|
    +----[SHA256]-----+
    [email protected]:~#

    正しく作成されていることを確認できます。また、公開鍵の内容をコピーすることもできます。これを使用して、残りのノードにコピーを作成します。

    [email protected]:~# cat id_rsa_galera.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDYKil17MzTrNc70GIQlVoK6xLop9acfT3W6kBUGO4ybsvIA5Fss+WvT/DLsYMtukq2Eih93eO4amLRYQIeyWSjJ/bBwIF/LXL4v04GF8+wbDgCyiV/t9dSuXna9qFeawkUVcPjnmWnZqUoaP5QeovXTluxl54xEwbFm1oLT+fgWbaim5w9vVUK4+hAHaZ7wVvTPVsIt1B3nJgWJF0Sz+TJN87vSUg7xdshgzhapUotXlguFGVzmNKWLnEFDCK7RT41oh4y4rkKP7YLc+wFfRHYTnKyMIcf0/0VMyL+2AdwQp8RThbBommf2HGimF1hSyA9/fc+tLi7FVTg1bKKeXj4hwexeFAJZwoy3HyD3wQ/NwadpDVk5Pg7YYzdN2aCZfvo27qp3gdQQ2H+LF6LvDyQEkgRpFN+pHoWQvPjJJasjfIcfdaC9WmDiL4s5fXyCTQz/x0NaTXVkLBS9ibfOUw8AGdd36FvdqnNOFOlMLKLa359JhdpqXnH7ksiThcotQuFmV5Dc8M66vTDz9rvVZhNC0nME478RNBP0Bgj1BM26XdQlzozeaRmHGoZXcSQVJTXBC93+QN4+bRmWmxhhj5G5M7bFiQyal1VtugoUt8ZV4NiiG+KDd6yj5um8+CffD/BASGrv3vffH+AK7xtjchIv5su40+unecfSOtO98TiQw== galera_cluster

    ここで、残りのすべてのノードで、この公開鍵をauthorized_keysファイルに追加する必要があります。 ubuntuの場合、rootログインを使用する場合は、最初にその内容をクリーンアップすることをお勧めします。デフォルトでは、ubuntuユーザーのみがSSH経由の接続に使用できます。このような設定(通常のユーザーとsudo)はClusterControlでも使用できますが、ここではrootユーザーを使用します。

    [email protected]:~# vim ~/.ssh/authorized_keys

    すべてのノードのauthorized_keysファイルに公開鍵が含まれると、公開鍵を.sshディレクトリにコピーし、アクセス権に必要な変更を加えます。

    [email protected]:~# cp id_rsa_galera /root/.ssh/
    [email protected]:~# chmod 600 /root/.ssh/id_rsa_galera

    これで、SSHアクセスが期待どおりに機能するかどうかをテストできます。

    [email protected]:~# ssh -i /root/.ssh/id_rsa_galera 172.30.4.46
    Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-1022-aws x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
      Get cloud support with Ubuntu Advantage Cloud Guest:
        http://www.ubuntu.com/business/services/cloud
    
    0 packages can be updated.
    0 updates are security updates.
    
    
    [email protected]:~# logout
    Connection to 172.30.4.46 closed.

    すべて良いです。 ClusterControlを構成する時が来ました。

    登録の詳細を入力してください。

    ログインすると、新しいクラスターをデプロイするか、既存のクラスターをインポートするかを選択できるウィザードが表示されます。

    Percona XtraDB Clusterをデプロイしたいので、「Deploy Database Cluster」に移動し、「MySQLGalera」タブを選択します。ここでは、SSH接続に必要なアクセスの詳細を入力する必要があります。 SSHユーザーをrootに設定し、SSHキーへのパスを入力します。

    次に、データベースホストのベンダー、バージョン、パスワード、IPアドレスを定義します。 ClusterControlはターゲットデータベースホストへのSSH接続をチェックすることに注意してください。すべてが正常に機能する場合は、緑色のチェックマークが表示されます。 SSH認証が失敗した場合は、ClusterControlサーバーがデータベースホストにアクセスできないため、調査する必要があります。

    次に、[展開]をクリックして展開プロセスを開始します。

    アクティビティモニターで展開の進行状況を追跡できます。

    展開は最初のステップにすぎないことを忘れないでください。データベースを運用するには、ホスト、データベースインスタンス、クエリのパフォーマンスを監視し、バックアップを管理し、障害やその他の異常を修正し、プロキシやアップグレードなどを管理する必要があります。ClusterControlはこれらすべての側面を管理できるので、試してみてください。乗り方を教えてください。


    1. MongoDBコレクションへの変更をリッスンする方法は?

    2. MongoDB $ acos

    3. Redisで固定サイズのソートされたセット?

    4. Mongoグループとプッシュ:すべてのフィールドをプッシュ