Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Keyspaces 基礎

2t3
August 13, 2021

Amazon Keyspaces 基礎

Cassandra Meetup in Tokyo, Summer 2021で発表したAmazon Keyspacesに関する資料です。

2t3

August 13, 2021
Tweet

Other Decks in Technology

Transcript

  1. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon Keyspaces (for Apache Cassandra) Tsutsumi, Hayato Solutions Architect, AWSJ スケーラブルで可用性の高い Apache Cassandra 互換の マネージドデータベースサービス
  2. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 自己紹介 堤 勇人 (Tsutsumi, Hayato) @2t3 Amazon Web Service Japan ソリューションアーキテクト 前職はERPベンダーの開発者で Cassandraを使ってシステムを作っていた 好きなAWSのサービス:DynamoDB、Keyspaces 趣味:スキー、街歩き、ゲーム
  3. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Apache Cassandra • オープンソースのワイドカラムデータストア • 高速読み取り/書き込みのパフォーマンスを必要と する大規模なアプリケーション向けに設計 • SQLライクな、 Cassandra Query Language (CQL) API • 一般的なユースケース: – ユーザープロファイル – デバイスメタデータ – イベントロギング
  4. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. • ソフトウェアの導入、構成、管理に必要な専門知識 • クラスターをスケールダウンしてリソースを最適化する複雑さ • バージョンアップグレードの難しさ • 同時性の確保が難しいバックアップ/復元 • ビルトイン暗号化によるデータ保護 • クラスタインフラストラクチャのパッチ適用、更新、保守 Cassandraの管理に関する難しさ
  5. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 「Cassandra のワーク ロードをより簡単に」
  6. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon Keyspaces — スケーラブルで可用性が高く、フルマ ネージドな Apache Cassandra互換のデータベースサービス Apache Cassandraとの互換性 サーバーレス 大規模でも一貫したパフォーマンス 高可用性とセキュリティ
  7. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 既存の Cassandra Query Language (CQL) コードを利用可能 • キースペースとテーブルの作成、更新、削除 • データの読み取りと書き込み • ほとんどのオープンソースの Cassandra ドライバおよびツールとの互換性 • サポートされているCQL APIのリストは、キースペースのドキュメントにあります。 Amazon Keyspacesは 3.11.2 の 9-node clusterに見えます • 3.11.2 と互換性があるドライバとクライアントで接続 • 3.11.2 と同様の下位互換性を提供 • Java、Node.js、Python、Go、.NET、および Perlの各 Cassandra ドライバで 利用可能なステップバイステップのセットアップ手順とコードサンプル Apache Cassandraとの互換性
  8. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. サーバーのプロビジョニング、 パッチ適用、管理不要 サーバーレス ソフトウェアのインストール、 保守、運用不要
  9. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. • サーバーレス — 管理ノードや低レ ベルのクラスター運用が不要 • CompactionやTombstonesなし • Java 仮想マシンの設定やガベージ コレクションのチューニングなし • キースペースとテーブルの管理の み サーバー管理不要 Cluster Node JVM Storage Keyspaces Tables
  10. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 読み取り/書き込みキャパシティーオプション On-demand capacity 実際の読み取りと書き込み分のみの 支払い Provisioned capacity with auto scaling スループット容量を事前に設定して 価格を最適化
  11. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. • 大規模でパフォーマンスに敏感なワークロードをサポート • あらゆる規模での安定した一桁ミリ秒の 読み取り/書き込みのパフォーマンス • テーブルは実際のアプリケーショントラフィックに従って 自動的にスケールアップおよびスケールダウン • テーブルやパーティションのサイズに事実上制限なし 大規模なワークロードでのパフォーマンス
  12. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 高可用性とセキュリティ レプリカ数 3 で、複数の AWS アベイラビリティーゾーン にデータを自動的にレプリケート シングル AWS リージョン内での 99.99% の可用性 SLA Amazon CloudWatch を使用してパフォーマンスをモ ニタリング
  13. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Keyspaces CloudWatch metrics • プロビジョンされたキャパシティ • 消費されたキャパシティ • キャパシティ使用率 • リクエストレイテンシ • ユーザーエラー • 失敗したlightweight transactions • システムエラー パフォーマンスと可用性のモニタリング
  14. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. • AWS Key Management Service (AWS KMS)に保存されている暗 号化キーを使用して、保存時にデータを暗号化 • TLS を使用したクライアントからのセキュアな接続 • AWS Identity and Access Management (IAM)を使用して、個々の キースペースとテーブルへのアクセスを管理 • AWS PrivateLink を介して Amazon Virtual Private Cloud (Amazon VPC) のリソースに Keyspaces を接続 • 管理用データ定義言語 (DDL) アクションは AWS CloudTrail に記 録 組み込みセキュリティ
  15. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 高度なセキュリティ規格に対応
  16. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 偶発的な削除と更新からの保護に役立ちます テーブルデータは継続的にバックアップされます テーブルデータは過去 35 日間で任意の時刻(秒) に 復元可能です テーブルの可用性やパフォーマンスに 影響を与えません ポイントインタイムリカバリ (PITR)
  17. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon Keyspacesをどこから始めるべきか 既存のアプリケー ションの移行とモダ ナイズ 運用コストの削減 マイグレーション リソースを迅速にデ プロイする 自由にリソースを スケールアップ 新しいアプリケー ション 開発者は新しいアイ デアを考え実験でき る テスト/開発ワーク ロード 研究開発
  18. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Appendix: アーキテクチャ
  19. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 可用性が高く、非常にスケーラブルなアーキテクチャ Availability Zone 1 KS KS KS KS KS KS KS KS KS KS Availability Zone 3 KS KS KS KS KS KS KS KS KS KS Availability Zone 2 KS KS KS KS KS KS KS KS KS KS 接続 コンピューティング ストレージ
  20. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Appendix: 互換性
  21. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 互換性の違い • 非推奨である Apache Thrift API はサポートされていません • Control plane API は不要です (フルマネージドサービス) • いくつかの実験的な機能および、既知のスケーラビリティの問題があ る機能はサポートされていません • Materialized viewsとglobal secondary indexes • Change data capture • アグリゲータとユーザー定義関数
  22. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Appendix: キャパシティ管理
  23. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. オンデマンドキャパシティモード 実際に実行された読み取りと書き込 みに基づく料金 ワークロードトラフィックの変化に ほぼ瞬時に対応 ピーク容量は30分ごとに倍増可能 可用性を重視するモード
  24. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Maximum throughput ピーク容量は30分ごとに倍増可能 Request rate
  25. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Application Auto Scalingに基づいて構築 最小および最大のスループット設定とターゲッ ト使用率を指定します。 CloudWatch メトリクスを監視して、読み取りお よび書き込みトラフィックの変化を検出します。 Keyspaces がトラフィックの持続的な増加を検出 すると、数分以内に反応します。 可用性を確保するために徐々にスケールダウン Auto Scaling を使用したプロビジョンドキャパシティ
  26. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Auto scaling On-demand capacity • 新規または非常にスパイキーなワー クロード • 自動化された容量管理 • 容量はこれまでのピーク負荷に、ほ ぼ瞬時にスケールアップ可能 • ピーク容量は30分毎に倍増可能 • 予測可能なトラフィックを持つワー クロード • 最小および最大のスループットと目 標使用率を定義 • 目標使用率を維持するために容量を 自動的に調整 • バーストキャパシティを使用して短 いトラフィックバーストに対応