Amazon ElastiCache ServerlessをPythonで使う

記事タイトルとURLをコピーする

はじめに

こんにちは、荒堀です。

先日、一般利用開始したAmazon ElastiCache Serverlessを、Pythonから使ってみました。

概要

Pythonのredisライブラリを使います。以下の2点の対応が必要です。

  • クラスターモード
    • clusterモジュールを使用します
  • 転送中の暗号化
    • sslを有効に設定します

参考

docs.aws.amazon.com

やってみた

環境の作成

前回の記事と同じ環境を作ります。

blog.serverworks.co.jp

  1. Cloud9の起動
  2. ElastiCache Serverlessを作成
  3. セキュリティグループにインバウンドルールを追加

設定を確認すると、転送中の暗号化が有効になっています。接続する際に対応が必要です。

Pythonで操作

Cloud9上で操作します。まずredisをインストールし、Pythonを実行します。

pip install redis

python

redisライブラリをインポートして接続します。クラスターモードなのでredis.RedisClusterを使い、転送中の暗号化に対応するためssl=Trueを指定します。

import redis

# redisライブラリのclusterモジュールを使用。sslを有効に設定。
redis_client = redis.RedisCluster(
        host='xxx.cache.amazonaws.com'(ElastiCacheのエンドポイント)
        , ssl=True
    )
# 疎通確認
redis_client.ping()

# セット、ゲット、削除
redis_client.set('X','Hello')

redis_client.get('X')

redis_client.delete('X')

結果がこのように返ってきます。

モニタリングタブからも操作されたことがわかります。

おわりに

前回はredis-cliを使いましたが、今回はPythonでやってみました。 概要にある2点に気を付ければ簡単に使えるので、試してみてください。

この記事がどなたかのお役に立てれば幸いです。