Amazon Linux 2023 に cqlsh をインストールして、Sigv4 認証で Amazon KeySpaces に接続して CQL を発行する手順。
インストール
- pyenv
- pip
- cqlsh
$ pip install cqlsh $ cqlsh --version cqlsh 6.1.0
設定
Sigv4 Authentication の設定
- EC2 インスタンスにアタッチしている IAM ロールに IAM ポリシー "AmazonKeyspacesFullAccess" をアタッチする
$ pip install --user cqlsh-expansion $ cqlsh-expansion.init $ cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl --auth-provider "SigV4AuthProvider"
$ aws configure AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: ap-northeast-1 Default output format [None]:
cqlshr の設定を行う
- cqlshrc のテンプレートをダウンロードする
$ pwd /home/ec2-user $ cd .cassandra $ curl -o cqlshrc -L https://raw.githubusercontent.com/aws-samples/amazon-keyspaces-toolkit/master/cqlsh-expansion/cqlsh_expansion/cqlshrc_template
- ${HOME}/.cassandra/cqlshrc を編集する
[connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile = ~/.cassandra/sf-class2-root.crt [copy-from] CHUNKSIZE=50
接続する
$ cqlsh cassandra.ap-northeast-1.amazonaws.com 9142 --ssl Connected to Amazon Keyspaces at cassandra.ap-northeast-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> SELECT * FROM tutorialkeyspace.tutorialtable; email | age | name ------------------+-----+---------- john@example.com | 21 | John p@muramura.com | 1 | murata yusuke@oyama.jp | 28 | Oyama bob@example.com | 22 | Bob chrai@co2.com | 1 | shiotsu shohei@otani.com | 29 | Otani e@co2.com | 1 | shiotsu chrai@co22.com | 1 | shiotsu2 (8 rows) cqlsh> exit $
環境
- AMI ID: ami-0a21e01face015dd9
$ cat /etc/system-release Amazon Linux release 2023 (Amazon Linux) $ uname -r 6.1.49-69.116.amzn2023.x86_64