Ec2MultiRegionSnitch

クラスターが複数のリージョンにまたがるAmazon EC2デプロイで使用するスニッチ。

クラスターが複数のリージョンにまたがるAmazon EC2にデプロイする場合は、EC2MultiRegionSnitchを使用します。

cassandra.yamlファイルと、Ec2MultiRegionSnitchが使用するプロパティ・ファイル(cassandra-rackdc.properties)の両方で設定を構成する必要があります。

リージョン間通信ができるようにcassandra.yamlを構成する

Ec2MultiRegionSnitchでは、broadcast_addressで指定されているパブリックIPを使用して、リージョン間の接続を可能にします。各ノードを以下のように構成します。

  1. cassandra.yamlで、listen_addressをノードのプライベートIPアドレスに設定し、broadcast_addressをノードのパブリックIPアドレスに設定します。

    これにより、あるEC2リージョンのDataStax Enterpriseノードを他のリージョンのノードにバインドできるようになり、マルチ・データ・センターがサポートされます。リージョン内トラフィックのために、接続が確立した後はプライベートIPに切り替わります。

  2. cassandra.yamlファイル内シード・ノードのアドレスをパブリックIPのアドレスに設定します。プライベートIPはネットワーク間でルーティングできません。例を次に示します。
    seeds: 50.34.16.33, 60.247.70.52

    パブリックIPアドレスを探すには、EC2の各シード・ノードから以下を実行します。

    $ curl http://instance-data/latest/meta-data/public-ipv4
    注: すべてのノードをシードにしないでください。「ノード間のコミュニケーション(ゴシップ)」を参照してください。
  3. storage_portまたはssl_storage_portがパブリックIPファイアウォールで開かれていることを確認してください。

リージョン間通信ができるようにスニッチを構成する

EC2デプロイでは、リージョン名はデータ・センター名として扱われ、アベイラビリティー・ゾーンはデータ・センター内のラックとして扱われます。たとえば、ノードがus-east-1リージョンにある場合、us-eastはデータ・センター名で、1がラックの場所です。(ラックはレプリカの分散には重要ですが、データ・センターの命名には重要ではありません。)

ノードごとに、cassandra-rackdc.propertiesでそのデータ・センターを指定します。dc_suffixオプションは、スニッチで使用するデータ・センターを定義します。他の行は無視されます。

以下の例では、2つのDataStax Enterpriseデータ・センターがあり、データ・センターにはそれぞれ、ワークロードの名前が付けられています。この例のデータ・センター命名規則は、ワークロードに基づいています。DC1、DC2、または100、200など他の規則を使用することもできます。(データ・センター名は大文字と小文字が区別されます。)

リージョン:us-east リージョン:us-west
ノードとデータ・センター:
  • node0

    dc_suffix=_1_transactional

  • node1

    dc_suffix=_1_transactional

  • node2

    dc_suffix=_2_transactional

  • node3

    dc_suffix=_2_transactional

  • node4

    dc_suffix=_1_analytics

  • node5

    dc_suffix=_1_search

この結果、4つのus-eastデータ・センターがあることになります。
us-east_1_transactional
us-east_2_transactional
us-east_1_analytics
us-east_1_search
ノードとデータ・センター:
  • node0

    dc_suffix=_1_transactional

  • node1

    dc_suffix=_1_transactional

  • node2

    dc_suffix=_2_transactional

  • node3

    dc_suffix=_2_transactional

  • node4

    dc_suffix=_1_analytics

  • node5

    dc_suffix=_1_search

この結果、4つのus-westデータ・センターがあることになります。
us-west_1_transactional
us-west_2_transactional
us-west_1_analytics
us-west_1_search

キースペース・ストラテジ・オプション

キースペース・ストラテジ・オプションを定義する場合、``us-east``などのEC2リージョン名をデータ・センター名に使用してください。

cassandra-rackdc.propertiesファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra-rackdc.properties

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra-rackdc.properties
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra.yaml