サイト内の現在位置を表示しています。

Oracle Cloud InfrastructureでResource Managerを使用したHAクラスター環境の自動構築を試してみました(Windows/Linux)

CLUSTERPRO オフィシャルブログ ~クラブロ~

はじめに

クラウド環境における構築作業では、通常、コンソール上で多数の画面や入力フォームを操作することでリソースを作成できますが、毎回手作業が発生するため、作業時間の増加や設定ミスが発生するといった問題があります。
その問題を解決するために、近年では、IaC(Infrastructure as Code)と呼ばれる、コードを用いてインフラストラクチャの管理やプロビジョニングを行う手法が注目・活用されています。
Oracle Cloud infrastructure(以降、OCI)では、Resource Managerを使用することで、OCIリソースのプロビジョニング処理を自動化することができます。

今回はResource Managerを用いて、OCI上におけるHAクラスター構築を一部自動化してみました。

この記事の内容

1. Resource Managerとは

Resource Managerは、OCIリソースのプロビジョニング処理を自動化できるサービスです。

Resource Managerでは、Terraform構成ファイルをアップロードするだけで、OCIリソースの構築ができるようになります。
構成ファイルの作成やメンテナンスこそ必要ですが、手作業よりも素早くかつミスなく、様々な環境をプログラマブルに構築できるようになり、作業コストや作業ミスを抑えることができます。

ここでは、Resource Managerを使用する際に登場する用語について、簡単に押さえていきます。

Terraform

HashiCorp社により開発されているオープンソースのインフラ自動構築ツールです。
Resource ManagerはTerraformに基づいたサービスで、Terraform構成ファイルと呼ばれるファイルを作成し、Resource Managerから実行することでOCIリソースのプロビジョニングを自動化することができます。

スタック

Resource Managerによって管理されるTerraformコマンドの実行環境です。スタックを作成することで、アップロードしたTerraform構成ファイルの実行環境がクラウド上に構成されます。

ジョブ

スタック上でTerraformアクション(apply, plan, destroy)を実行すると作成されます。特定のスタック上で実行できるジョブは、一度に1つのみです

2. 構築するHAクラスター構成

本記事では、東京リージョンにロード・バランサを使用したHAクラスターを構築します。
HAクラスターの構成図は以下の通りです。
なお、以下の構成図に記載した全てのOCIリソースのプロビジョニングをResource Managerで自動化します。

また、構成図に記載はありませんが、本記事では以下についても自動構築しています。

ルート表

  • 各種インスタンス間で相互通信するためのルート表の作成
  • 現用系サーバー、待機系サーバーがインターネットにアクセスするために必要なNATゲートウェイの作成(*)
(*) NATゲートウェイが不必要な場合は削除してください。

セキュリティ・リスト

  • 操作用クライアント
    インターネットからリモートデスクトップでアクセスするための許可設定

  • 現用系サーバー、待機系サーバー
    現用系サーバー、待機系サーバー間でCLUSTERPROが通信するための許可設定

ロード・バランサ

  • バックエンド・セット等、ロード・バランシングに必要な設定の追加

なお、セキュリティ・リストの設定については一例となりますので、適宜使用するアプリケーションや、セキュリティ要件などにしたがって修正してください。

3. Resource Managerを使用した環境構築

Resource Managerを使用して、上述したロード・バランサを使用したHAクラスターを構築するまでの手順をご紹介します。

3.1 Terraform構成ファイルの取得

今回は予め用意しているTerraform構成ファイルを使用します。
以下のリンクより、Terraform構成ファイルをダウンロードします。

  • 指定したOSで構築したい場合は、後述するスタック作成時に指定するイメージOCIDのパラメータを適宜変更してください。

3.2 Resource Managerの実行

入手したTerraform構成ファイルを用いてHAクラスター環境構築に使用するOCIリソースを自動で作成、設定します。

  • 画面は記事執筆時点の内容であり、最新の内容とは異なる場合があります。

  • 1.OCIコンソールから、 [開発者サービス] > [リソース・マネージャ] > [スタック] を選択します。

  • 2.[スタックの作成]を押下します。

  • 3.[スタックの作成] - [スタック情報]に遷移します。
    スタック構成として [.Zipファイル] を選択し、先程ダウンロードしたTerraform構成ファイルをアップロードします。アップロード完了後、[次] を押下します。

  • 4. [スタックの作成] - [変数の構成]に遷移します。
    ここでは、Terraform構成ファイルに記述されている変数に値を設定します。各変数に必要な情報を設定の上、[次] を押下します。

本記事で使用するTerraform構成ファイルに定義された変数の⼀覧は以下の表のとおりです。
なお、既定値欄にすでに入力されている値はそのまま使用しても問題ありません。空白の箇所については、環境に応じた値を設定してください。

変数名 説明 既定値
Compartment_ocid スタックを作成するコンパートメントのocid Resouce Manager側で自動取得
Instance1_ipaddr 現用系サーバーのIPアドレス 10.0.1.10
Instance1_Image_ocid 現用系サーバーのイメージocid ocid1.image.oc1.ap-tokyo-1.aaaaaaaanvewa7zsczldkfp64w2mml3wmakanbnm2fnrdtcmpvzofcatbiia
Instance1_ssh_public_key(*) 現用系サーバーへログインするための公開鍵情報  
Instance2_ipaddr 待機系サーバーのIPアドレス 10.0.1.20
Instance2_Image_ocid 待機系サーバーのイメージocid ocid1.image.oc1.ap-tokyo-1.aaaaaaaanvewa7zsczldkfp64w2mml3wmakanbnm2fnrdtcmpvzofcatbiia
Instance2_ssh_public_key(*) 待機系サーバーへログインするための公開鍵情報  
Client_ipaddr 操作用クライアントのIPアドレス 10.0.0.2
Client_Image_ocid 操作用クライアントのマシンイメージocid ocid1.image.oc1.ap-tokyo-1.aaaaaaaac6parcinn5a7ar5gis5adomnxipaievlgy7tkqvzq5uxdib5dbna
VCN_cidr_block VCNのCIDR Block 10.0.0.0/16
Private_subnet_cidr_block PrivateサブネットのCIDR Block 10.0.1.0/24
Public_subnet_cidr_block PublicサブネットのCIDR Block 10.0.0.0/24
Sl_public_client_ipaddr 操作用クライアントに接続許可するネットワーク(例:192.168.0.1/32)  
Tenancy_ocid スタックを作成するテナンシのocid Resouce Manager側で自動取得
Region スタックを作成するリージョン名 ap-tokyo-1

(*) Linux版テンプレートファイルにのみ定義されています。
なお、公開鍵情報は キー名 ではなく、公開鍵の認証情報を入力してください。

  • 5.[スタックの作成] - [確認]に遷移します。
    設定した情報を確認の上、[作成]を押下します。

  • 6.項番5 で作成したスタックの詳細画面から [計画] を押下し、ジョブを作成します。

  • 7.項番5 で作成したスタックの詳細画面から [適用] を押下し、[適用ジョブの計画解決] から、項番6 で作成したジョブを選択し、[適用] を押下します。

  • 適用後、ジョブが正常に完了したことを確認してください。ジョブが失敗に終わった場合は、エラー内容を確認の上、再度実行してください。

3.3 HAクラスターの構築

操作用クライアントにログインし、HAクラスターの構築と動作確認を行います。
以降の手順につきましては、以下のガイドを参照してください。

【参考】
  • Windows > クラウド > Oracle Cloud Infrastructure > CLUSTERPRO X 4.3 向け HAクラスタ構築ガイド
    → 第 4 章 ミラーディスク型クラスター構築手順
  • Linux > クラウド > Oracle Cloud Infrastructure > CLUSTERPRO X 4.3 向け HAクラスタ構築ガイド
    → 第 4 章 ミラーディスク型クラスター構築手順

また、HAクラスター構築時に使用するIPアドレス、ロード・バランサの設定情報などはOCIコンソールの各サービスの詳細画面より、確認してください。

4. スタック作成後の操作について

環境作成後の操作に関する注意点について説明します。

Resource Managerを使用して作成したOCIリソースに対して何らかの変更(追加・更新・削除)を加えたい場合、OCIコンソールから直接リソースを操作するのではなく、「Terraform構成ファイルの修正」と「スタックの再編集」にて行うことを推奨します。
これは、Resource Managerが、「そのスタックで定義したOCIリソース」を制御するようになっているためです。仮にOCIコンソールから変更を加えると、スタックとの整合が取れなくなり、問題が生じることがあります。
スタックを編集する場合は、[リソース・マネージャ] > [スタック] から、作成したスタックを選択し、[編集] を押下し、Terraform構成ファイルの再アップロードを行って下さい。

さいごに

今回は、Resource ManagerでHAクラスター環境の構築を一部自動化してみました。
今回自動化したのは、OCIリソースの作成部分のみでしたが、従来の手作業による作成と比べて、短時間で自動構築できました。
テンプレートの作成やメンテナンスこそ必要ですが、手作業で生じる手間やミスを軽減できる点は魅力的だと思います。ぜひご活用ください。

本記事の構成をご検討の際は、CLUSTERPROのpopup試用版を用いて検証した後、ご提案・構築ください。

お問い合わせ

当ブログに関するお問い合わせは、popupお問い合わせ窓口までお問い合わせください。