

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EC2 にプライベート静的 IP を使用して Cassandra クラスターをデプロイしてリバランスを回避する
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing"></a>

*Amazon Web Services、Dipin Jain*

## 概要
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-summary"></a>

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのプライベート IP は、そのライフサイクルを通じて保持されます。ただし、プライベート IP は、Amazon マシンイメージ (AMI) のアップグレード中など、計画的または予期しないシステムクラッシュ時に変更される可能性があります。シナリオによっては、プライベートの静的 IP を保持することで、ワークロードのパフォーマンスと復旧時間を向上させることができます。たとえば、Apache Cassandra シードノードに静的 IP を使用すると、クラスターにリバランスのオーバーヘッドが発生するのを防ぐことができます。 

Amazon EC2 インスタンスの Cassandra クラスターにセカンダリのelastic network interface をアタッチして、リホスト中に IP を静的に保つ方法。このパターンは Cassandra クラスターに焦点を当てていますが、この実装はプライベートの静的 IP の利点を活用するあらゆるアーキテクチャに使用できます。

## 前提条件と制限事項
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-prereqs"></a>

**前提条件**
+ Amazon Web Services (AWS) アカウント。

**製品バージョン**
+ DataStax バージョン 5.11.1
+ オペレーティングシステム： (Ubuntu 18.04 LTS)

## アーキテクチャ
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-architecture"></a>

**ソースアーキテクチャ**

ソースは、オンプレミスの仮想マシン (VM) 上の Cassandra クラスターでも、AWS クラウドの EC2 インスタンスでもかまいません。このシナリオを以下に図表で示します。この例には、3 つのシードノードと 1 つの管理ノードの 4 つのクラスターノードが含まれています。ソースアーキテクチャでは、各ノードに 1 つのネットワークインターフェースが接続されています。

![それぞれに単一のネットワークインターフェイスが取り付けられた 4 つの Amazon EC2 クラスターノード。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/47ca4dbc-0922-4e65-b66c-4db5122fc4ac/images/5d80cfc9-4b72-4c72-aefd-b77cc0fb58e3.png)


**ターゲット アーキテクチャ**

デスティネーションクラスターは、次の図に示すように、各ノードにセカンダリ elastic network interface がアタッチされた EC2 インスタンスでホストされます。

![それぞれにセカンダリ Elastic ネットワークインターフェイスが取り付けられた 4 つの Amazon EC2 クラスターノード。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/47ca4dbc-0922-4e65-b66c-4db5122fc4ac/images/d1e22017-f041-426b-9204-31ac158a407d.png)


**自動化とスケール**

[AWS Knowledge Center のビデオ](https://www.youtube.com/watch?v=RmwGYXchb4E) で説明されているように、2 つ目のelastic network interface を EC2 Auto Scaling グループに自動的にアタッチすることもできます。

## エピック
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-epics"></a>

### Amazon EC2上のカサンドラクラスターを設定します。
<a name="configure-a-cassandra-cluster-on-amazon-ec2"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| EC2 ノードを起動して Cassandra クラスターをホストします。 | [Amazon EC2 コンソール](https://console.aws.amazon.com/ec2/) で、AWS アカウントの Ubuntu ノード用に 4 つの EC2 インスタンスを起動します。Cassandraクラスターには3つの (シード) ノードが使用され、4番目のノードはDataStax Enterprise (DSE) OpsCenterをインストールするクラスター管理ノードとして機能します。手順については、[Amazon EC2 のドキュメント](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance)を参照してください。 | クラウドエンジニア | 
| ノード通信を確認する。 | 4 つのノードがデータベースとクラスター管理ポートを介して相互に通信できることを確認します。 | ネットワークエンジニア | 
| DSE OpsCenterを管理ノードにインストールします。 | 管理ノードのDebianパッケージからDSE OpsCenter 6.1をインストールします。手順については、[DataStax のドキュメント](https://docs.datastax.com/en/opscenter/6.1/opsc/install/opscInstallDeb_t.html)を参照してください。 | DBA | 
| セカンダリネットワークインターフェイスを設定する | Cassandra は、そのノードの EC2 インスタンスの IP アドレスに基づいて、各ノードの汎用固有識別子 (UUID) を生成します。この UUID はリング上の仮想ノード (vnode) を配布するために使用されます。Cassandra を EC2 インスタンスにデプロイすると、インスタンスが作成されると自動的に IP アドレスが割り当てられます。 計画的または予期しない停止が発生した場合、新しい EC2 インスタンスの IP アドレスとデータ配信が変更され、リング全体のバランスを調整する必要があります。これは望ましくありません。割り当てられた IP アドレスを保持するには、固定 IP アドレスの [セカンダリ elastic network interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#scenarios-enis) を使用してください。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing.html)<br />ネットワークインターフェイスの作成に関する詳細については、[Amazon EC2 ドキュメント](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#create_eni) を参照してください。 | クラウドエンジニア | 
| セカンダリネットワークインターフェースをクラスターノードにアタッチします。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing.html)ネットワークインターフェイスの作成に関する詳細については、[Amazon EC2 ドキュメント](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#attach_eni) を参照してください。 | クラウドエンジニア | 
| Amazon EC2 にルートを追加して、非対称ルーティングに対処します。 | 2 つ目のネットワークインターフェースをアタッチすると、ネットワークは非対称ルーティングを実行する可能性が非常に高くなります。これを回避するには、新しいネットワークインターフェースにルートを追加します。<br />非対称ルーティングの詳細な説明と修正方法については、[AWS ナレッジセンターのビデオ](https://www.youtube.com/watch?v=RmwGYXchb4E)、または[マルチホームサーバーでの非対称ルーティングの克服](http://www.linuxjournal.com/article/7291) (Patrick McManus による *Linux Journal* の記事、2004 年 4 月 5 日) を参照してください。 | ネットワークエンジニア | 
| セカンダリネットワークインターフェイス IP を指すように DNS エントリを更新します。 | ノードの完全修飾ドメイン名 (FQDN) をセカンダリネットワークインターフェイスの IP に設定します。 | ネットワークエンジニア | 
| DSE OpsCenterを使用してCassandraクラスターをインストールして構成します。 | クラスター・ノードにセカンダリ・ネットワーク・インターフェースが用意できたら、Cassandra クラスターをインストールして構成できます。 | DBA | 

### ノード障害からクラスターを回復する
<a name="recover-cluster-from-node-failure"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| クラスターシードノード用の AMI を作成します。 | ノードに障害が発生した場合にデータベースバイナリで復元できるように、ノードのバックアップを作成します。手順については、Amazon EC2 のドキュメントの[AMIの作成](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami.html)を参照してください。 | バックアップ管理者 | 
| ノード障害から回復します。 | 障害が発生したノードを AMI から起動した新しい EC2 インスタンスと交換し、障害が発生したノードのセカンダリネットワークインターフェイスを接続します。 | バックアップ管理者 | 
| Cassandra クラスターが正常であることを確認します。 | 交換用ノードが起動したら、DSE OpsCenterでクラスターの状態を確認します。 | DBA | 

## 関連リソース
<a name="deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing-resources"></a>
+ [DebianパッケージからのDSE OpsCenter 6.1のインストール](https://docs.datastax.com/en/opscenter/6.1/opsc/install/opscInstallDeb_t.html) (DataStaxドキュメント)
+ [Ubuntu EC2 インスタンスでセカンダリネットワークインターフェイスを機能させる方法](https://www.youtube.com/watch?v=RmwGYXchb4E) (AWS ナレッジセンターの動画)
+ [Amazon EC2 で Apache カサンドラを実行するためのベストプラクティス](https://aws.amazon.com/blogs/big-data/best-practices-for-running-apache-cassandra-on-amazon-ec2/) (AWS ブログ記事)