2023年3月18日土曜日

cassandra(東京、大阪リージョン間のノードでレプリケーションを行う設定)

実施したいこと:
東京、大阪リージョン間の各Cassandraのノードでリプリケーションを行いたい












AWSの設定

①VPCペアリングの設定を行う

②上記で、設定を行った、東京、大阪リージョンのルートテーブルにて、vpcペアリングの値を追記する

詳細なVPCペアリングの設定方法は、割愛。



■cassandraのインストール


1)カサンドラのユーザを作成

sudo su -

useradd cassandra

passwd cassandra


2)visudo

以下、末端の行に追記

cassandra ALL=(ALL)      NOPASSWD: ALL


3)Javaのインストールを行う

wget https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz -O ~/jdk.tar.gz

mkdir ~/java && tar -xzvf ~/jdk.tar.gz -C ~/java --strip-components 1

sudo mv ~/java /usr/local/java


4)cassandraのインストール

wget http://archive.apache.org/dist/cassandra/3.11.6/apache-cassandra-3.11.6-bin.tar.gz -O ~/cassandra.tar.gz

mkdir ~/cassandra && tar -xzvf ~/cassandra.tar.gz -C ~/cassandra --strip-components 1

sudo mv ~/cassandra /usr/sbin/cassandra

sudo chown -R cassandra:cassandra /usr/sbin/cassandra



5)環境変数の追記

sudo vi /etc/profile

export JAVA_HOME=/usr/local/java

export PATH=$PATH:$JAVA_HOME/bin

export CASSANDRA_HOME=/usr/sbin/cassandra

export PATH=$PATH:$CASSANDRA_HOME/bin


6)pathの設定を再読み込みする

source /etc/profile



7)cassandra.yamlの編集を行う


①listen_address= サーバのプライベートIPアドレスにする

②rpc_address:  サーバのプライベートIPアドレスにする

  →リモートアクセスを可能させるための設定

②seedsの記載を行う

    - class_name: SEED_PROVIDER

      parameters:

          # seeds is actually a comma-delimited list of addresses.

          # Ex: "<ip1>,<ip2>,<ip3>"

          - seeds: 東京リージョンのローカルIP, 大阪リージョンのローカルIP

③スニッチの指定を行う

  →この場合、AWSのリージョン間のEC2のローカルIPのみで通信を行いたいので、以下のスニッチにした。

endpoint_snitch: Ec2Snitch

2023年3月12日日曜日

Terraform initができなくなった件(M1 Mac編)

terraformコマンドでロックがかかったタイミングで
terrafrom initが出来なくなり解決するまでの経緯を記載する








1)実施したことは、以下の削除を行う
tfenv uninstall 1.4.0
rm -r ~/.terraform.d/
brew uninstall tfenv

2)再インストールを行う
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
brew install tfenv
tfenv install 1.4.0
brew install tfenv

3)terraform initを再実施


EFS(Dockerfile)の記載について注意

  Dockerfileにefsのマウントパス宛に、ファイルコピーを行うと ECSのサービス作成時に、コンテナのデプロイ失敗に(container run time error)になるので 別経由で、EFSにファイルをコピーした方が良い!! <Dockerfile> ...