Amazon Web Services ブログ
Amazon Managed Apache Cassandraサービス(MCS)がアナウンスされました
大規模なデータベース管理は決して簡単ではありません。キーと値や表形式を含む大量の構造化データを保存、取得、管理するオプションの1つにApache Cassandraがあります。Cassandraでは、表現力豊かなCassandra Query Language(CQL) を使用して、アプリケーションを迅速に構築できます。
ただし、大規模なCassandraクラスターの管理は困難な場合があり、多くの時間がかかります。基盤となるインフラストラクチャのセットアップ、構成、および保守には専門的な専門知識が必要であり、Apache Cassandraオープンソースソフトウェアを含むアプリケーションスタック全体を深く理解するひつようがります。ノードを手動で追加または削除し、パーティションを再調整する必要があります。必要なパフォーマンスでアプリケーションを使用可能に保ちながら、再調整を行うことも必要です。顧客と話をすると、スケールダウンが複雑であるため、ピーク負荷に合わせてクラスターをスケールアップし続けることが多いことがわかりました。Cassandraクラスターを最新の状態に保つには、ノードごとに実行する必要があります。更新中に問題が発生した場合、クラスターのバックアップと復元は難しく、パッチをスキップしたり、古いバージョンを実行したりする可能性があります。
Amazon Managed Cassandraサービスのご紹介
本日、オープンプレビューの Amazon Managed Apache Cassandra Service(MCS)を開始します。これは、スケーラブルで可用性の高い、管理されたApache Cassandra互換のデータベースサービスです。 Amazon MCSはサーバーレスであるため、使用したリソースに対してのみ料金が発生し、サービスはアプリケーショントラフィックに応じてテーブルを自動的にスケールアップおよびスケールダウンします。事実上無制限のスループットとストレージで、毎秒数千のリクエストを処理するアプリケーションを構築できます。
あなたが今日使用するのと同じカサンドラ・アプリケーション・コードと開発ツールを使用して、AWS上のカサンドラのワークロードを実行することができます。 Amazon MCSは、Apache Cassandraバージョン3.11 CQL APIを実装しており、アプリケーションにすでにあるコードとドライバーを使用できます。アプリケーションの更新は、エンドポイントをAmazon MCSサービステーブルのエンドポイントに変更するのと同じくらい簡単です。
あらゆる規模で一貫した1桁ミリ秒の読み取りおよび書き込みパフォーマンスを提供するため、低遅延でアプリケーションを構築して、スムーズなユーザーエクスペリエンスを提供できます。Amazon CloudWatchを使用して、アプリケーションのパフォーマンスを可視化できます。
テーブルのサイズやアイテムの数に制限はなく、ストレージをプロビジョニングする必要はありません。データストレージは完全に管理され、可用性が高くなっています。テーブルデータは、耐久性を確保するために複数のAWSアベイラビリティーゾーンに自動的に3回複製されます。
すべての顧客データは、デフォルトで保存時に暗号化されます。AWS Key Management Service(KMS)に保存されている暗号化キーを使用できます。 Amazon MCSはAWS Identity and Access Management(IAM)と統合されており、テーブルとデータへのアクセスを管理するのに役立ちます。
Amazon MCSの使用方法
コンソール、CQL、または既存のアパッチ2.0ライセンスのカサンドラ・ドライバーで、アマゾンMCSを使用できます。コンソールにはCQLエディターがあり、cqlshを使用して接続することもできます。アマゾンMCSは、TLSを使用した安全な接続のみ受け入れます。
cqlshを使用して接続するには、既存のIAMユーザーのサービス固有の認証情報を生成する必要があります。これは、AWSコマンド・ライン・インターフェイス(CLI)のみのコマンドです。
aws iam create-service-specific-credential --user-name USERNAME --service-name cassandra.amazonaws.com
{
"ServiceSpecificCredential": {
"CreateDate": "2019-11-27T14:36:16Z",
"ServiceName": "cassandra.amazonaws.com",
"ServiceUserName": "USERNAME-at-123412341234",
"ServicePassword": "...",
"ServiceSpecificCredentialId": "...",
"UserName": "USERNAME",
"Status": "Active"
}
}
これで、以下に接続できます。
cqlsh {endpoint} {port} -u {ServiceUserName} -p {ServicePassword} --ssl
まず初めに、キースペースを作成します。キースペースには、一個以上のテーブルが含まれ、含まれる全てのテーブルの複製戦略を定義します。アマゾンMCSでは、全てのキースペースのデフォルトの複製戦略は、単一リージョン戦略です。単一のAWS領域の複数の可用性ゾーンにわたり、データを三回複製します。
キースペースを作成するために、コンソールまたはCQLを使用できます。アマゾン管理のアパッチ・カサンドラ・サービス(MCS)コンソールで、キースペースの名前を指定します。
同様に、CQLを使用して、bookstoreのキースペースを作成できます。
CREATE KEYSPACE IF NOT EXISTS bookstore WITH REPLICATION={'class': 'SingleRegionStrategy'};
次に、テーブルを作成します。テーブルは、データを整理し、保存する場所です。ここでも、コンソールまたはCQLを使用できます。コンソールから、bookstoreのキースペースを選択し、テーブルの名前を入力します。
その下に、booksテーブルの列を追加します。テーブルの各行はプライマリー・キーによって参照され、それは、一列以上の列で構成でき、その値によって、データが格納されるパーティションが決まります。私の場合、プライマリー・キーはISBNです。オプションで、パーティション内のレコードのソート順を決定するクラスタリング列を追加できます。このテーブルにクラスタリング列を使用していません。
または、CQLを使用し、次のコマンドでテーブルを作成できます。