Amazon EC2クラスターの計画
実稼働のCassandraクラスターをAmazon EC2にデプロイするための重要な情報。
Amazon EC2クラスターを計画する前に、『ユーザー・ガイド』を参照してください
DataStax AMIのデプロイ
DataStax AMIは、1つのリージョンおよびアベイラビリティー・ゾーンのみを対象としています。複数のリージョンおよびアベイラビリティー・ゾーンにまたがるEC2クラスターについては、「複数のリージョンおよびアベイラビリティー・ゾーンにまたがるEC2クラスター」を参照してください。
信頼できる入手先からのAMIを使用
信頼できる入手先からのAMIのみを使用してください。任意に入手したAMIはセキュリティ上のリスクをもたらし、EC2インストールの構成方法に起因して、予期しているよりもパフォーマンスが低い可能性があります。以下は、信頼できるAMIの例です。
複数のリージョンおよびアベイラビリティー・ゾーンにまたがるEC2クラスター
EC2上のCassandra実稼働クラスター
EC2上のCassandra実稼働クラスターの場合は、以下のガイドラインに従ってインスタンスの種類を選択します。
- Development and light production:m3.large
- Moderate production:m3.xlarge
- SSD production with light data:c3.2xlarge
- Largest heavy production:m3.2xlarge (PV)またはi2.2xlarge (HVM)
実稼働環境に推奨されるEBSボリューム
GP2 | PIOPS |
---|---|
|
|
マグネティック(標準)EBSボリュームは推奨されない
EBSボリュームは、以下の理由でCassandraデータ・ストレージ・ボリュームに推奨されません。
- EBSボリュームは標準パケットとネットワーク・スループットをめぐって直接競合します。この競合の結果、ネットワーク・リンクを飽和状態にすると、EBSスループットで障害が発生する可能性が高くなります。
- EBSボリュームのパフォーマンスは不確かです。I/Oパフォーマンスが極めて遅く、全クラスターが応答不能になるまでシステムが読み取りおよび書き込みが滞る原因となります。
- ホストあたりのEBSボリュームの数を増やすことにより容量を追加してもスケールは確保できません。効率的なバッファ・キャッシュを維持し、管理する必要があるデータのすべてに対する要求に同時に応えるためのシステムの能力を簡単に上回ってしまいます。
エフェメラルのパフォーマンスとEBSパフォーマンスの対比に関連する情報およびグラフについては、ブログ記事の「Systematic Look at EC2 I/O」を参照してください。
ディスク・パフォーマンスの最適化
マウントされているドライブの高ディスク・パフォーマンスを確保するには、実稼働環境で使用する前にすべてのドライブの場所にデータを1回書き込むことによりドライブをウォーミングアップしておくことを推奨します。EC2の状態によっては、かなりのスループット向上を期待できます。Amazon Elastic Compute Cloudドキュメントの「Optimizing Disk Performance」を参照してください。
Cassandra 1.2以降のストレージに関する推奨事項
Cassandra 1.2以降はJBOD(just a bunch of disks)をサポートしています。JBODは、ディスク・アレイの部分的障害に対する耐性に優れています。cassandra.yamlファイルの中でdisk_failure_policyを使用して構成してください。追加情報は、「Handling Disk Failures In Cassandra 1.2」ブログと「JBODを使用した単一ディスク障害からの復旧」にあります。
パッケージ・インストール | /etc/cassandra/cassandra.yaml |
tarボール・インストール | install_location/resources/cassandra/conf/cassandra.yaml |
Windowsインストール | C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra.yaml |
Cassandra 1.1以前のストレージに関する推奨事項
エフェメラル・ディスクをRAID 0構成にします。その後、データ・ディレクトリーとコミット・ログを一緒にそのボリュームに配置します。その方が、共有リソースであるルート・ボリュームにコミット・ログを置くよりも良いということが実践において証明されています。データの冗長性を高めるために、複数のアベイラビリティー・ゾーンにわたってCassandraクラスターをデプロイするか、EBSボリュームを使用してCassandraバックアップ・ファイルを格納するかを検討してください。