ClusterControl 1.7.3には、クラウド統合の顕著な改善が含まれています。 MySQLとPostgreSQLのレプリケーションクラスターをクラウドにデプロイしたり、クラウドインスタンスを自動的に起動したり、新しいデータベースノードを追加してデータベースクラスターをスケールアウトしたりすることができます。
このブログ投稿では、AWSでClusterControlを使用してGaleraクラスターを簡単にデプロイする方法を紹介しています。この新機能は、無料の展開および監視機能が付属するClusterControlCommunityEditionの一部です。これは、この機能を無料で利用できることを意味します!
ClusterControlデータベースクラスターアーキテクチャ
次の図は、データベースクラスターアーキテクチャ全体をまとめたものです。
ClusterControlサーバーはAWSインフラストラクチャの外部に配置されているため、公平な可視性が得られますデータベースクラスター(フランクフルトにあります:eu-central-1)。 ClusterControlサーバーには、専用のパブリックIPアドレスが必要です。これは、IPアドレスがデータベースサーバーとAWSセキュリティグループのClusterControlによって付与されるためです。デプロイするGaleraデータベースのバージョンは、ClusterControl1.7.3を使用したMariaDBCluster10.3です。
AWS環境の準備
ClusterControlは、サポートされているクラウドプラットフォーム、つまりAWS、Google Cloud Platform(GCP)、MicrosoftAzureにデータベースクラスターをデプロイできます。最初に設定する必要があるのは、AWSアクセスキーを取得して、ClusterControlがAWSサービスへのプログラムリクエストを実行できるようにすることです。 rootアカウントのアクセスキーを使用することもできますが、これは推奨される方法ではありません。この目的のためだけに、専用のIdentity and Access Management(IAM)ユーザーを作成することをお勧めします。
AWSコンソールにログインします->マイセキュリティクレデンシャル->ユーザー->ユーザーの追加 。ユーザーを指定し、アクセスタイプとして[プログラムによるアクセス]を選択します。
次のページで、[作成]をクリックして新しいユーザーグループを作成します[グループ]ボタンをクリックし、グループ名に「DatabaseAutomation」を付けます。次のアクセスタイプを割り当てます:
- AmazonEC2FullAccess
- AmazonVPCFullAccess
- AmazonS3FullAccess(データベースのバックアップをAWS S3に保存する場合のみ)
DatabaseAutomationチェックボックスにチェックを入れ、「ユーザーをグループに追加」をクリックします。
オプションで、次のページでタグを割り当てることができます。それ以外の場合は、ユーザーの作成に進んでください。アクセスキーIDとシークレットアクセスキーの2つの最も重要なものを取得する必要があります。
CSVファイルをダウンロードして、安全な場所に保存します。これで、クラウドへの導入を自動化できるようになりました。
$ whoami
root
$ wget http://severalnines.com/downloads/cmon/install-cc
$ chmod 755 install-cc
$ ./install-cc
インストール手順に従い、http://192.168.0.11/clustercontrolにアクセスして、スーパー管理者のユーザーとパスワードを作成します。
ClusterControlがクラウドに自動デプロイを実行できるようにするには、有効なAWSキーIDとシークレットを使用して選択したリージョンのクラウドクレデンシャルを作成する必要があります。 サイドバー->統合->クラウドプロバイダー->最初のクラウドクレデンシャルの追加->アマゾンウェブサービスに移動します 必要な詳細を入力し、デフォルトの地域としてフランクフルトを選択します:
このクレデンシャルは、クラスターの展開と管理を自動化するためにClusterControlによって使用されます。この時点で、最初のクラスターをデプロイする準備が整いました。
デプロイ->クラウドでのデプロイ->MySQLGalera->MariaDB10.3->クラスターの構成に移動します 次のページに進みます。
[クラスターの構成]セクションで、ノードの数が3であることを確認し、クラスター名とMySQLルートパスワードを指定します。
[クレデンシャルの選択]で、[AWSフランクフルト]というクレデンシャルを選択し、[仮想マシンの選択]をクリックして次のページに進みます。優先するオペレーティングシステムとインスタンスサイズを選択します。インフラストラクチャをプライベートクラウド内で実行することをお勧めします。これにより、クラウドインスタンス専用の内部IPアドレスを取得でき、ホストがパブリックネットワークに直接公開されなくなります。 [仮想プライベートクラウド(VPC)]フィールドの横にある[新規追加]ボタンをクリックして、このネットワークに10.10.0.0/16のサブネットを指定します。
私たちが作成したVPCはプライベートクラウドであり、インターネット接続はありません。 ClusterControlがAWSネットワークの外部からホストをデプロイおよび管理できるようにするには、このVPCへのインターネット接続を許可する必要があります。これを行うには、次のことを行う必要があります。
- インターネットゲートウェイを作成する
- ルートテーブルに外部ルーティングを追加する
- サブネットをルートテーブルに関連付けます
インターネットゲートウェイを作成するには、AWS管理コンソール->VPC->インターネットゲートウェイ->インターネットゲートウェイの作成->にログインします。 このゲートウェイに名前を割り当てます 。次に、作成したゲートウェイをリストから選択し、アクション->VPCに接続->ドロップダウンリストのVPCを選択->接続に移動します。 。これで、インターネットゲートウェイをプライベートクラウドに接続しました。ただし、このインターネットゲートウェイを介してすべての外部要求を転送するようにネットワークを構成する必要があります。したがって、ルートテーブルにデフォルトルートを追加する必要があります。 VPC->ルートテーブル->ルートテーブルの選択->ルートの編集に移動します 宛先ネットワーク0.0.0.0/0とターゲット(作成されたインターネットゲートウェイID)を次のように指定します。
次に、DBサブネットをこのネットワークに関連付けて、このネットワーク内で作成されたすべてのインスタンスを以前に作成したデフォルトルートに割り当てる必要があります。ルートテーブルを選択->サブネットの関連付けを編集->DBサブネットを割り当てます 、以下に示すように:
これで、VPCをClusterControlで展開に使用できるようになりました。
作成したら、ドロップダウンから作成したVPCを選択します。 SSHキーの場合、ClusterControlに自動生成を依頼します:
生成されたSSHキーは、ClusterControlサーバー内の/ var / lib / cmon / autogenerated_ssh_keys /s9s/ディレクトリにあります。
最後に、テキストボックスでサブネットの作成を選択し、[クラスターの展開]をクリックします。
アクティビティ->ジョブ-でジョブの進行状況を監視できます。>クラスターの作成 。 ClusterControlは、実際のインストール手順を開始する前に、クラウドインスタンスの作成、セキュリティグループ、SSHキーの生成など、必要なインストール前の手順を実行します。
クラスタの準備が整うと、ClusterControlダッシュボードに次のクラスタが表示されます。
これで、クラスターの展開が完了しました。
AWSデータベースのデプロイ後
データのクラスターへのロードを開始するか、アプリケーションで使用するための新しいデータベースを作成できます。接続するには、アプリケーションまたはクライアントに、データベースサーバーの1つのプライベートまたはパブリックIPアドレスに接続するように指示するだけです。次のスクリーンショットに示すように、[ノード]ページに移動すると、この情報を取得できます。
データベースノードに直接アクセスする場合は、ノードアクション->SSHコンソールでClusterControlweb-SSHモジュールを使用できます。 、SSHクライアント経由で接続するのと同様のエクスペリエンスを提供します。
データベースノードを追加してクラスターをスケールアップするには、クラスターアクション(サーバースタックアイコン)->ノードの追加->新しいクラウドインスタンスにDBノードを追加するだけです。 次のダイアログが表示されます:
デプロイメントウィザードに従って、それに応じて新しいインスタンスを構成するだけです。インスタンスが作成されると、ClusterControlはノードを自動的にインストール、構成、およびクラスターに参加させます。
皆さん、今のところ以上です。クラウドでのクラスタリングをお楽しみください!