AWS CloudShell を使用して Amazon Keyspaces にアクセスする - Amazon Keyspaces (Apache Cassandra 向け)

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

AWS CloudShell を使用して Amazon Keyspaces にアクセスする

AWS CloudShell はブラウザベースの事前認証済みシェルで、 から直接起動できます AWS マネジメントコンソール。任意のシェル (Bash、PowerShell、または Z シェル) を使用して、 AWS サービスに対して AWS CLI コマンドを実行できます。 AWS CloudShell はコンソール認証情報で事前認証され AWS CLI、、、Python、Node.js などの AWS サービスを操作するための一般的なツールが含まれています。

AWS CloudShell から を起動 AWS マネジメントコンソールすると、コンソールへのサインインに使用した AWS 認証情報が新しいシェルセッションで自動的に利用可能になります。 AWS CloudShell ユーザーのこの事前認証により、 cqlshまたは AWS CLI バージョン 2 (シェルのコンピューティング環境にプリインストール済み) を使用して Amazon Keyspaces などの AWS サービスとやり取りするときに、認証情報の設定をスキップできます。

AWS CloudShell 統合オプション

Amazon Keyspaces には、次の 2 つの使用方法があります AWS CloudShell。

  1. 統合 AWS CloudShell エクスペリエンス - Amazon Keyspaces コンソールから直接利用できる効率的な接続方法で、 を自動的に初期化cqlsh-expansionし、特定のキースペースに接続します。この統合エクスペリエンスの使用方法の詳細については、「」を参照してくださいコンソール AWS CloudShell から を使用して Amazon Keyspaces に接続する

  2. 手動 AWS CloudShell セットアップ - に手動でインストールして設定cqlshします AWS CloudShell。ステップについては、以下のセクションで説明し、セットアッププロセスをより詳細に制御し、カスタム設定を有効にします。

前提条件

で Amazon Keyspaces を使用する前に AWS CloudShell、以下を確認してください。

  • Amazon Keyspaces および にアクセスできる AWS アカウント AWS CloudShell

  • 両方のサービスを使用するための適切な IAM アクセス許可

  • Cassandra クエリ言語 (CQL) の基本的な知識

の開始方法 AWS CloudShell

アクセスするには AWS CloudShell:

  1. にサインインする AWS マネジメントコンソール

  2. コンソールの上部にあるナビゲーションバー AWS CloudShell のアイコン AWS CloudShell を選択するか、https://console.aws.amazon.com/cloudshell/ に移動して起動します。

  3. AWS CloudShell 環境が初期化されるまで待機する

の IAM アクセス許可の取得 AWS CloudShell

が提供するアクセス管理リソースを使用して AWS Identity and Access Management、管理者は IAM ユーザーにアクセス許可を付与し、環境の機能にアクセスして AWS CloudShell 使用できます。

管理者がユーザーにアクセス権を付与する最も簡単な方法は、 AWS マネージドポリシーを使用することです。AWS マネージドポリシーは、 AWSが作成および管理するスタンドアロンポリシーです。CloudShell の次の AWS 管理ポリシーを IAM ID にアタッチできます。

  • AWSCloudShellFullAccess: すべての機能へのフルアクセス AWS CloudShell で を使用するアクセス許可を付与します。

IAM ユーザーが実行できるアクションの範囲を制限する場合は AWS CloudShell、AWSCloudShellFullAccess管理ポリシーをテンプレートとして使用するカスタムポリシーを作成できます。CloudShell でユーザーが使用できるアクションの制限の詳細については、AWS CloudShell 「 ユーザーガイド」の「IAM ポリシーによる AWS CloudShell アクセスと使用状況の管理」を参照してください。

注記

IAM アイデンティティには、Amazon Keyspaces への呼び出しを行うアクセス許可を付与するポリシーも必要です。

AWS 管理ポリシーを使用して、IAM ID に Amazon Keyspaces へのアクセスを許可するか、管理ポリシーをテンプレートとして開始し、不要なアクセス許可を削除できます。また、特定のキースペースやテーブルにアクセスを限定して、カスタムのポリシーを作成することもできます。Amazon Keyspaces 用の次のマネージドポリシーを IAM アイデンティティにアタッチできます。

  • AmazonKeyspacesFullAccess – Amazon Keyspaces の使用を許可し、すべての機能へのフルアクセスを認めるポリシー。

マネージドポリシーで定義されているアクションの詳細については、「AWS Amazon Keyspaces の マネージドポリシー」を参照してください。

Amazon Keyspaces でアクションを制限する方法や、特定のリソースにアクセスを限定する方法については、「Amazon Keyspaces で IAM が機能する仕組み」を参照してください。

cqlsh クライアントのインストール

AWS CloudShell には、 がcqlshプリインストールされていません。Amazon Keyspaces を操作するには、インストールする必要があります。Amazon Keyspaces 固有のバージョンの をインストールできますcqlshcqlsh-expansion のインストール手順については、「cqlsh-expansion による Amazon Keyspaces までの接続」を参照してください。

TLS 証明書の設定

TLS 接続を使用して Amazon Keyspaces に接続するには、必要な Amazon デジタル証明書をダウンロードする必要があります。SSL 証明書のダウンロードと設定の詳細な手順については、「」を参照してくださいTLS の cqlsh 接続を手動で設定する方法

Amazon Keyspaces への接続

IAM 認証情報 (推奨) またはサービス固有の認証情報を使用して Amazon Keyspaces に接続できます。

IAM 認証情報を使用した接続 (推奨)

AWS CloudShell は既に IAM 認証情報で認証されています。これらの認証情報を使用して接続するには、SigV4 認証プラグインを使用できます。で IAM 認証情報を使用する詳細な手順についてはcqlsh、「」を参照してくださいcqlsh-expansion による Amazon Keyspaces までの接続

サービス固有の認証情報による接続

Amazon Keyspaces のサービス固有の認証情報を作成している場合は、それらを使用して接続できます。サービス固有の認証情報の作成と使用については、「」を参照してくださいAmazon Keyspaces にプログラムによってアクセスするためのサービス固有の認証情報を作成する

Amazon Keyspaces での CQLSH の使用

接続すると、標準の CQL コマンドを使用してキースペースとテーブルを操作できます。サポートされている CQL コマンドとオペレーションの詳細については、「」を参照してくださいcqlsh-expansion による Amazon Keyspaces までの接続

でのデータの永続化 AWS CloudShell

AWS CloudShell は、ホームディレクトリに 1 GB の永続的ストレージを提供します。つまり、作成したスクリプト、証明書、および設定ファイルは、セッション間で引き続き使用できます。の設定ファイルを作成してcqlsh、接続を簡素化できます。

設定ファイルを使用すると、追加のパラメータを指定cqlshせずに を実行できます。cqlsh 設定ファイルの作成と使用の詳細については、「」を参照してくださいcqlsh-expansion による Amazon Keyspaces までの接続

ベストプラクティス

で Amazon Keyspaces を使用する場合は AWS CloudShell、次のベストプラクティスをお勧めします。

  • 反復タスク用のスクリプトを作成し、永続的なホームディレクトリに保存します。

  • 機密情報には、ハードコーディングではなく環境変数を使用します。

  • 非アクティブ状態になると AWS CloudShell セッションがタイムアウトする場合があることに注意してください。

  • AWS CloudShell サービスクォータと制限に注意してください。

  • Amazon Keyspaces の自動オペレーション AWS CLI に を使用することを検討してください。

トラブルシューティング

から Amazon Keyspaces に接続するときに問題が発生した場合 AWS CloudShell:

  • IAM アクセス許可に必要な Amazon Keyspaces アクションが含まれていることを確認します。

  • リージョンに適したエンドポイントを使用していることを確認します。

  • SSL 証明書が正しくダウンロードされ、参照されていることを確認します。

  • サービス固有の認証情報が正しく、有効期限が切れていないことを確認します。

  • cqlshrc ファイルを使用する場合は、その形式とアクセス許可を確認してください。

例: を使用して Amazon Keyspaces を操作する方法 AWS CloudShell

AWS CloudShell から を起動すると AWS マネジメントコンソール、 cqlshまたはコマンドラインインターフェイスを使用して Amazon Keyspaces の操作をすぐに開始できます。cqlsh-expansion をまだインストールしていない場合は、「cqlsh-expansion による Amazon Keyspaces までの接続」で詳しい手順を確認してください。

注記

cqlsh-expansion で を使用する場合 AWS CloudShell、シェル内で既に認証されているため、呼び出しを行う前に認証情報を設定する必要はありません。

Amazon Keyspaces に接続して新しいキースペースを作成した後、次に、システムテーブルから読み取って、 を使用してキースペースが作成されたことを確認します。 AWS CloudShell
  1. から AWS マネジメントコンソール、ナビゲーションバーで使用できる以下のオプションを選択して CloudShell を起動できます。

    • CloudShell アイコンを選択します。

    • cloudshell 検索ボックスに入力を開始し、CloudShell オプションを選択します。

  2. 次のコマンドを使用して、Amazon Keyspaces への接続を確立できます。をリージョンに適したエンドポイントcassandra.us-east-1.amazonaws.comに置き換えてください。

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl

    正常に接続されると次の例のような出力が表示されます。

    Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142 [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh current consistency level is ONE. cqlsh>
  3. mykeyspace という名前の新しいキースペースを作成します。そのためには、次のコマンドを使用できます。

    CREATE KEYSPACE mykeyspace WITH REPLICATION = {'class': 'SingleRegionStrategy'};
  4. キースペースが作成されたことを確認するには、次のコマンドを使用してシステムテーブルから読み取ります。

    SELECT * FROM system_schema_mcs.keyspaces WHERE keyspace_name = 'mykeyspace';

    コールが成功すると、コマンドラインに次の出力に似たサービスからのレスポンスが表示されます。

    keyspace_name | durable_writes | replication ----------------+----------------+------------------------------------------------------------------------------------- mykeyspace | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'} (1 rows)