【Cassandra】DSEクラスター構築 GCPでのVM構成編

はじめに

どうも、shouです!
私は普段DataStax Cassandraに関する業務に携わっており、そこで得られた知見を共有しようかと思います.

Cassandraって何?どんなものなの?扱うにはどのような勉強をしたらいいの?と思ったそこのあなた.これらについて書いたブログがあるのでぜひ読んでみてください↓↓
Cassandra Developer Associate Certification の資格取った!

紹介内容

今回は、直近で検証用のDSEクラスターを作成する機会があったので、ついでに手順化して私自身の備忘としても残しておこうと思い、ブログにしようと思います。

目指す環境は以下です。

  • GCP compute engine VM計5台
  • DataStax Cassandra Analytics 3ノードクラスター
  • DataStax OpsCenter 2台の冗長構成

以上を目指して、シリーズで書いていこうかと思います。

1発目の記事は、GCPでのVM構成編です。

対象
Cassandraに必要なマシンスペックについて知りたい方

やること
GCPでVM作成
ファイアウォール設定
VM接続

 

VM作成

まず必須ではないですがgcloud CLIを自分のマシンにインストールします.
今回の記事ではたびたびgcloudコマンドを使用します.普通に便利です.
gcloud CLI をインストールする  |  Google Cloud CLI のドキュメント

VMのマシン構成を決めるにあたって考慮したソースは以下です。

DSEノードの必要最小要件

Capacity planning and hardware selection for DataStax Enterprise implementations :: DataStax Enterprise Capacity Planning Guide

OpsCenterの必要最小要件

Installing DSE OpsCenter 6.8 from the RPM package :: DataStax Enterprise 6.8 Documentation

今回作成予定なのは、検証用環境なので低めのスペックで作成したいと思います.
よって以下となります.

  • DSEノード:n2-standard-4
    • 論理コア数2、メモリ16GB
      e2シリーズやn2-standard-2を使用して構築してみましたが、稼働はするものの、通常稼働やsparkの検証をするには厳しいパフォーマンスだったので、n2-standard-4を使用することにしました.
  • OpsCenterノード:e2-standard-2
    • 論理コア数2、メモリ8GB

作成手順

  • まずは、GCP Compute Engineのconsoleにアクセス
  • 画面上部のインスタンスを作成を押下
  • 新しいVMを押下
  • DSEノードの作成.設定は以下の通り
    • リージョン:asia-northeast1 (東京)
    • マシン構成:n2-standard-4
    • ブートディスク:Red Hat Enterprise Linux 8
    • 詳細オプション > ネットワーク タグ:任意のタグ名
  • 画面下部の同等のコードを押下し、画面右側のgcloud compute instances create <instance name>のコマンドが表示されたら、Cloud Shellで実行を押下しコマンドを実行.

  • gcloud compute instances create <instance name><instance name>をノード番号などが分かる名前にしてDSEノード必要台数分gcloudコマンドを実行してください.
  • DSEノード作成コマンドの--machine-typeをe2-standard-2で指定してOpsCenterノードを2台作成してください.
  • gcloudコマンドの例は以下です.
    プロジェクト名、サービスアカウント名などを補完することで使用できます.
gcloud compute instances create dsenode1 \
--project=[project] \
--zone=asia-northeast1-b \
--machine-type=n2-standard-4 \
--network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default \
--maintenance-policy=MIGRATE \
--provisioning-model=STANDARD \
--service-account=[service account] \
--scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append \
--tags=network,http-server,https-server \
--create-disk=auto-delete=yes,boot=yes,device-name=dsenode1,image=projects/rhel-cloud/global/images/rhel-8-v20231010,mode=rw,size=20,type=projects/[project]/zones/asia-northeast1-b/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--labels=goog-ec-src=vm_add-gcloud \
--reservation-affinity=any

GCP Compute Engineのconsoleに作成したVMが表示されていればVM作成完了

ファイアウォール設定

  • ファイアウォール ポリシーのコンソールにアクセス
  • 画面上部ファイアウォールルールの作成を押下
  • 一致したときのアクションで”許可”を選択
  • ターゲットタグ欄にVMに設定したネットワークタグを指定
    • VM作成コマンドの--tags=networkの部分で確認できます
  • プロトコルとポートで指定したプロトコルとポートを選択
    • DSEのVM:TCP 22で設定
    • OpsCenterのVM:TCP 22,8888で設定
  • gcloudコマンドとしては以下
gcloud compute --project=[project] firewall-rules create network --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22,tcp:8888 --target-tags=network

接続

あとはお好みのコンソールにて以下コマンドでconfigファイル書いてもらってSSH繋いで作業しましょう。

gcloud auth login
gcloud projects list
gcloud config set project [PROJECT_ID]

# 以降このコマンドで~/.ssh/configに接続先の設定を書いてくれます.
gcloud compute config-ssh

# ssh
ssh dse-instance-num

おわりに

いかがだったでしょうか?

今回はDSEクラスターを構築する上で必要なマシンのスペックについてと、GCPでのVMの準備手順を紹介してみました.執筆時にも意識したのですが、gcloudコマンドを取っておくともし環境が壊れて使えなくなったときにもう一度作りたい!ってなった場合に取っておくと便利です.

次回はOpsCenter構築編となります.それでは.

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です