{MemoryDB for Redis}Getting started with MemoryDB

export AWS_DEFAULT_REGION=us-east-1

-- 1. aws cli version 2 インストール

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

新しいセッションを開始する
aws --version

-- 2. redis-cliのインストール

sudo yum -y install openssl-devel gcc
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make distclean
make redis-cli BUILD_TLS=yes
sudo install -m 755 src/redis-cli /usr/local/bin/

redis-cli --version

-- 3. セキュリティグループの作成
aws ec2 create-security-group \
--description memorydb \
--group-name memorydb \
--vpc-id vpc-xxxxxxxx

-- 4. セキュリティグループ一覧
aws ec2 describe-security-groups | jq -r '.SecurityGroups[] | [ .GroupId, .GroupName ]'


-- 5. セキュリティグループへのインバウンドルール追加
aws ec2 authorize-security-group-ingress \
--group-id sg-xxxxxxxxxxxxxxxxx \
--protocol tcp \
--port 6379 \
--cidr 0.0.0.0/0

 

-- 6. クラスターの作成
aws memorydb create-cluster \
--cluster-name memorydb01 \
--node-type db.r6g.large \
--acl-name open-access \
--num-shards 1 \
--num-replicas-per-shard 0 \
--security-group-ids sg-xxxxxxxxxxxxxxxxx \
--port 6379 \
--tls-enabled \
--snapshot-retention-limit 0 \
--engine-version 6.2 \
--no-auto-minor-version-upgrade

※デフォルトのセキュリティグループを使用してくれないため明示的に指定


-- 7. クラスター一覧
aws memorydb describe-clusters
aws memorydb describe-clusters --show-shard-details

 


-- 8. 動作確認

redis-cli -h memorydb01-0001-001.memorydb01.xxxxxx.memorydb.us-east-1.amazonaws.com --tls -p 6379

set x XXX
set y YYY
set z ZZZ
get x
get y
get z


-- 9. スナップショット作成
aws memorydb create-snapshot \
--cluster-name memorydb01 \
--snapshot-name snap01

-- 10. スナップショット一覧
aws memorydb describe-snapshots


-- 11. スナップショットから復元
aws memorydb create-cluster \
--cluster-name memorydb02 \
--node-type db.r6g.large \
--acl-name open-access \
--num-shards 1 \
--num-replicas-per-shard 0 \
--security-group-ids sg-xxxxxxxxxxxxxxxxx \
--port 6379 \
--tls-enabled \
--snapshot-retention-limit 0 \
--engine-version 6.2 \
--no-auto-minor-version-upgrade \
--snapshot-name snap01

 


-- 12. クリーンアップ

-- クラスター削除
aws memorydb delete-cluster --cluster-name memorydb01
aws memorydb delete-cluster --cluster-name memorydb02

-- スナップショット削除
aws memorydb delete-snapshot --snapshot-name snap01


-- セキュリティグループの削除
aws ec2 delete-security-group --group-id sg-xxxxxxxxxxxxxxxxx