翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MemoryDB の開始方法
この演習では、MemoryDB マネジメントコンソールを使用して MemoryDB クラスターを作成、アクセス権の付与、接続、そして最後に削除する手順を順を追って説明します。
注記
この演習では、クラスターを作成する際に [簡易作成] オプションを使用し、MemoryDB の機能をさらに詳しく確認した後に、他の 2 つのオプションを検討することをお勧めします。
トピック
ステップ 1: セットアップ
以下のトピックでは、MemoryDB の使用を開始する場合に 1 回のみ実行する必要がある操作を説明しています。
にサインアップする AWS アカウント
がない場合は AWS アカウント、次のステップを実行して作成します。
にサインアップするには AWS アカウント
https://portal.aws.amazon.com/billing/サインアップ
を開きます。 オンラインの手順に従います。
サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。
にサインアップすると AWS アカウント、 AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。
AWS サインアッププロセスが完了すると、 から確認メールが送信されます。https://aws.amazon.com/
管理アクセスを持つユーザーを作成する
にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 を保護し AWS IAM Identity Center、 を有効にして管理ユーザーを作成します。
を保護する AWS アカウントのルートユーザー
-
ルートユーザーを選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者AWS Management Console
として にサインインします。次のページでパスワードを入力します。 ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドのルートユーザーとしてサインインするを参照してください。
-
ルートユーザーの多要素認証 (MFA) を有効にします。
手順については、「 ユーザーガイド」の AWS アカウント 「ルートユーザーの仮想MFAデバイスを有効にする (コンソール)」を参照してください。 IAM
管理アクセスを持つユーザーを作成する
-
IAM Identity Center を有効にします。
手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Centerの有効化」を参照してください。
-
IAM Identity Center で、ユーザーに管理アクセス権を付与します。
を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、「 AWS IAM Identity Center ユーザーガイド」の「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ」を参照してください。
管理アクセス権を持つユーザーとしてサインインする
-
IAM Identity Center ユーザーでサインインするには、IAMIdentity Center ユーザーの作成時に E メールアドレスにURL送信されたサインインを使用します。
IAM Identity Center ユーザーを使用してサインインする方法については、「 AWS サインイン ユーザーガイド」の AWS 「 アクセスポータルへのサインイン」を参照してください。
追加のユーザーにアクセス権を割り当てる
プログラマチックアクセス権を付与する
ユーザーが の AWS 外部で を操作する場合は、プログラムによるアクセスが必要です AWS Management Console。プログラムによるアクセスを許可する方法は、 がアクセスするユーザーのタイプによって異なります AWS。
ユーザーにプログラマチックアクセス権を付与するには、以下のいずれかのオプションを選択します。
プログラマチックアクセス権を必要とするユーザー | 目的 | 方法 |
---|---|---|
ワークフォースアイデンティティ (IAMIdentity Center で管理されるユーザー) |
一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または へのプログラムによるリクエストに署名します AWS APIs。 |
使用するインターフェイスの指示に従ってください。
|
IAM | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または へのプログラムによるリクエストに署名します AWS APIs。 | 「 ユーザーガイド」の「 AWS リソースでの一時的な認証情報の使用」の手順に従います。 IAM |
IAM | (非推奨) 長期認証情報を使用して、、 AWS SDKs AWS CLI、または AWS APIs へのプログラムによるリクエストに署名します。 |
使用するインターフェイスの指示に従ってください。
|
アクセス許可を設定する (新規の MemoryDB ユーザーのみ)
アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
-
以下のユーザーとグループ AWS IAM Identity Center:
アクセス許可セットを作成します。「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」の手順に従ってください。
-
ID プロバイダーIAMを介して で管理されるユーザー:
ID フェデレーションのロールを作成します。IAM 「 ユーザーガイド」の「サードパーティー ID プロバイダー (フェデレーション) のロールを作成する」の手順に従います。
-
IAM ユーザー:
-
ユーザーが担当できるロールを作成します。「 IAMユーザーガイド」の「 IAMユーザーのロールを作成する」の手順に従います。
-
(お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加する。「 IAMユーザーガイド」の「ユーザーへのアクセス許可の追加 (コンソール)」の手順に従います。
-
MemoryDB はサービスにリンクされたロールを作成し、それを使ってリソースをプロビジョニングして、お客様の代わりに AWS の他のリソースとサービスにアクセスします。MemoryDB でサービスにリンクされたロールを作成するには、 という名前の AWS管理ポリシーを使用しますAmazonMemoryDBFullAccess
。このロールには、サービスにリンクされたロールをサービスがユーザーに代わって作成するために必要なアクセス許可が事前に設定されています。
デフォルトのポリシーを使用せず、代わりにカスタムマネージドポリシーを使用することもできます。この場合、MemoryDB iam:createServiceLinkedRole
を呼び出すアクセス許可を持っているか、自分が サービスにリンクされたロールを作成している必要があります。
詳細については、次を参照してください。
のダウンロードと設定 AWS CLI
AWS CLI は http://aws.amazon.com/cli
AWS コマンドラインインターフェイスのユーザーガイドに移動します。
AWS のインストールCLI、AWS の設定CLIの手順に従います。
ステップ 2: クラスターを作成する
実稼働用のクラスターを作成する前に、ビジネスニーズに合わせてクラスターをどのように設定するかを検討する必要があります。これらの問題については、クラスターを準備する セクションで対応します。この「使用開始」の演習では、適用するデフォルトの設定値を受け入れます。
作成するクラスターはライブとなりますが、サンドボックスで実行されるわけではありません。インスタンスを削除するまで、MemoryDB の標準使用料が発生します。ここで説明する演習を一気に完了し、終了時にクラスターを削除すれば、使用料合計はごくわずかです (通常 1 ドル未満です)。MemoryDB の使用料の詳細については、「MemoryDB
クラスターは、Amazon VPCサービスに基づいて仮想プライベートクラウド (VPC) で起動されます。
MemoryDB クラスターの作成
次の例は、 AWS Management Console、 AWS CLI および MemoryDB を使用してクラスターを作成する方法を示していますAPI。
コンソールを使用して MemoryDB クラスターを作成するには
-
にサインイン AWS Management Console し、 で MemoryDB コンソールを開きますhttps://console.aws.amazon.com/memorydb/
。 -
ナビゲーションペインで、[クラスター] を選択し、[作成] を選択します。
を使用してクラスターを作成するには AWS CLI、「」を参照してくださいcreate-cluster
。以下に例を示します。
Linux、macOS、Unix の場合:
aws memorydb create-cluster \ --cluster-name my-cluster \ --node-type db.r6g.large \ --acl-name my-acl \ --engine valkey \ --subnet-group my-sg
Windows の場合:
aws memorydb create-cluster ^ --cluster-name my-cluster ^ --node-type db.r6g.large ^ --acl-name my-acl ^ --engine valkey --subnet-group my-sg
次のJSONレスポンスが表示されます。
{ "Cluster": { "Name": "my-cluster", "Status": "creating", "NumberOfShards": 1, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "7.2", "EnginePatchVersion": "7.2.6", "ParameterGroupName": "default.memorydb-valkey7", "Engine": "valkey" "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN":
"arn:aws:memorydb:us-east-1:xxxxxxxxxxxxxx:cluster/my-cluster"
, "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }
クラスターのステータスが available
に変わったら、クラスターの使用を開始できます。
重要
クラスターが使用可能になった直後から、クラスターがアクティブである間は (実際に使用していない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、クラスターを削除する必要があります。「ステップ 5: クラスターを削除する」を参照してください。
MemoryDB を使用してクラスターを作成するにはAPI、 CreateClusterアクションを使用します。
重要
クラスターが使用可能になった直後から、そのクラスターがアクティブである間は (クラスターを使用していない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、クラスターを削除する必要があります。「ステップ 5: クラスターを削除する」を参照してください。
認証のセットアップ
クラスターの 認証の設定の詳細については、「IAM を使用した認証」と「アクセスコントロールリストを使用したユーザーの認証 (ACLs)」を参照してください。
ステップ 3: クラスターへのアクセスの許可
このセクションでは、Amazon EC2インスタンスの起動と接続に精通していることを前提としています。詳細については、「Amazon EC2 入門ガイド」を参照してください。
MemoryDB クラスターは、Amazon EC2インスタンスからアクセスするように設計されています。Amazon Elastic Container サービスまた AWS Lambdaはで実行されているコンテナ化されたアプリケーションやサーバーレスアプリケーションからもアクセスできます。最も一般的なシナリオは、同じ Amazon Virtual Private Cloud (Amazon VPC) の Amazon EC2インスタンスから MemoryDB クラスターにアクセスすることです。これは、この演習で当てはまります。
EC2 インスタンスからクラスターに接続する前に、EC2インスタンスがクラスターにアクセスすることを許可する必要があります。
最も一般的なユースケースは、EC2インスタンスにデプロイされたアプリケーションが同じ のクラスターに接続する必要がある場合ですVPC。同じ 内のEC2インスタンスとクラスター間のアクセスを管理する最も簡単な方法は、次の操作を行うことVPCです。
-
クラスターVPCのセキュリティグループを作成します。このセキュリティグループを使用して、クラスターへのアクセスを制限できます。例えば、クラスターの作成時にクラスターに割り当てたポートと、クラスターTCPへのアクセスに使用する IP アドレスを使用してアクセスを許可する、このセキュリティグループのカスタムルールを作成できます。
MemoryDB クラスターのデフォルトのポートは
6379
です。 -
EC2 インスタンス (ウェブサーバーとアプリケーションサーバー) VPCのセキュリティグループを作成します。このセキュリティグループは、必要に応じて、 VPCのルーティングテーブルを介してインターネットからEC2インスタンスへのアクセスを許可できます。例えば、このセキュリティグループのルールを設定して、ポート 22 経由でEC2インスタンスTCPへのアクセスを許可できます。
-
EC2 インスタンス用に作成したセキュリティグループからの接続を許可するクラスターのセキュリティグループにカスタムルールを作成します。これは、セキュリティグループのメンバーにクラスターへのアクセスを許可します。
別のVPCセキュリティグループからの接続を許可するルールをセキュリティグループに作成するには
-
AWS マネジメントコンソールにサインインし、https://console.aws.amazon.com/vpc
で Amazon VPCコンソールを開きます。 -
左のナビゲーションペインで セキュリティグループを選択します。
-
クラスターに使用するセキュリティグループを選択または作成します。インバウンドルール で、インバウンドルールの編集 を選択し、ルールの追加 を選択します。このセキュリティグループは、他のセキュリティグループのメンバーへのアクセスを許可します。
-
タイプ カスタムTCPルール を選択します。
-
Port Range ポートには、クラスター作成時に使用したポートを指定します。
MemoryDB クラスターのデフォルトのポートは
6379
です。 -
ソース ボックスに、セキュリティグループの ID の入力を開始します。リストから、Amazon EC2インスタンスに使用するセキュリティグループを選択します。
-
-
終了したら、保存 を選択します。
アクセスを有効にしたら、次のセクションで説明するように、クラスターに接続する準備が整いました。
別の Amazon 、別の AWS リージョンVPC、または企業ネットワークから MemoryDB クラスターにアクセスする方法については、以下を参照してください。
ステップ 4: クラスターに接続する
続行する前に、「ステップ 3: クラスターへのアクセスの許可」を完了します。
このセクションでは、Amazon EC2インスタンスを作成し、そのインスタンスに接続できることを前提としています。これを行う方法については、「Amazon EC2 入門ガイド」を参照してください。
Amazon EC2インスタンスは、クラスターへの接続を許可した場合にのみクラスターに接続できます。
クラスターエンドポイントを見つける
クラスターが使用可能な状態で、クラスターへのアクセスを許可したら、Amazon EC2インスタンスにログインしてクラスターに接続できます。そのためには、最初にエンドポイントを確認する必要があります。
エンドポイントを見つける方法の詳細については、以下を参照してください。
メモリ DB クラスターへの接続 (Linux)
必要なエンドポイントができたので、EC2インスタンスにログインしてクラスターに接続できます。次の例では、cli ユーティリティを使用して、Ubuntu 22でクラスターに接続します。 最新バージョンの cli では、SSL/TLS for connecting encryption/authentication有効なクラスターもサポートされています。
redis-cli を使用して MemoryDB ノードに接続する
MemoryDB ノードからデータにアクセスするには、Secure Socket Layer () を操作するクライアントを使用しますSSL。Amazon Linux および Amazon Linux 2 の TLS/SSL で redis-cli を使用することもできます。
redis-cli を使用して、Amazon Linux 2 または Amazon Linux の MemoryDB クラスターに接続するには
redis-cli ユーティリティをダウンロードし、コンパイルします。このユーティリティは Redis OSSソフトウェアディストリビューションに含まれています。
EC2 インスタンスのコマンドプロンプトで、使用している Linux のバージョンに適したコマンドを入力します。
Amazon Linux 2023
Amazon Linux 2023 を使用している場合は、次のように入力します。
sudo yum install redis6 -y
次のコマンドを入力します。この例に示されているクラスターのエンドポイントやポートを、使用するクラスターのエンドポイントやポートに置き換えてください。
redis-cli -h
Primary or Configuration Endpoint
--tls -p 6379エンドポイントの検索の詳細については、「ノードのエンドポイントの検索」を参照してください。
Amazon Linux 2
Amazon Linux 2 を使用している場合は、次のように入力します。
sudo yum -y install openssl-devel gcc wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make distclean make redis-cli BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/
Amazon Linux
Amazon Linux を使用している場合は、次のように入力します。
sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make redis-cli CC=clang BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/
Amazon Linux では、以下の追加ステップを実行する必要がある場合もあります。
sudo yum install clang CC=clang make sudo make install
redis-cli ユーティリティをダウンロードしてインストールしたら、オプションの
make-test
コマンドを実行することをお勧めします。-
暗号化と認証が有効になっているクラスターに接続するには、次のコマンドを入力します。
redis-cli -h
Primary or Configuration Endpoint
--tls -a'your-password'
-p 6379注記
Amazon Linux 2023 に redis6 をインストールした場合、
redis-cli
の代わりにredis6-cli
コマンドを使用できるようになりました。redis6-cli -h Primary or Configuration Endpoint --tls -p 6379
ステップ 5: クラスターを削除する
クラスターが使用可能な状態であれば、実際に使用しているかどうかに関係なく課金されます。課金を中止するには、クラスターを削除します。
警告
MemoryDB クラスターを削除しても、手動スナップショットは保持されます。クラスターを削除する前に最終スナップショットを作成することもできます。自動スナップショットは保持されません。詳細については、「スナップショットおよび復元 」を参照してください。
最終スナップショットを作成するには、
CreateSnapshot
アクセス権限が必要です。このアクセス許可がないと、API呼び出しはAccess Denied
例外で失敗します。
次の手順では、デプロイから 1 つのクラスターを削除します。複数のクラスターを削除するには、削除するクラスターごとに同じ手順を繰り返してください。別のクラスターの削除手順を開始する前に、1 つのクラスターの削除が終了するのを待つ必要はありません。
クラスターを削除するには
-
にサインイン AWS Management Console し、 で MemoryDB コンソールを開きますhttps://console.aws.amazon.com/memorydb/
。 -
削除するクラスターを選択するには、クラスターのリストでクラスター名の横にあるラジオボタンを選択します。この場合、ステップ 2: クラスターを作成する で作成したクラスターの名前です。
-
アクションとして、Delete (削除) を選択します。
-
まず、削除する前にクラスターのスナップショットを作成するかどうかを選択し、
delete
確認ボックスに [削除] と入力してクラスターを削除するか、[キャンセル] を選択してクラスターを保持します。Delete を選択した場合は、クラスターのステータスが削除中に変わります。
クラスターがクラスターのリストに表示されなくなるとすぐに、課金が停止されます。
次のコードはクラスター my-cluster
を削除します。この場合、my-cluster
を、ステップ 2: クラスターを作成する で作成したクラスターの名前に置き換えます。
aws memorydb delete-cluster --cluster-name
my-cluster
delete-cluster
CLI オペレーションは 1 つのクラスターのみを削除します。複数のクラスターを削除する場合は、削除するクラスターごとに delete-cluster
を呼び出します。1 つのクラスターの削除が終了するまで待たなくても次のクラスターを削除できます。
Linux、macOS、Unix の場合:
aws memorydb delete-cluster \ --cluster-name
my-cluster
\ --regionus-east-1
Windows の場合:
aws memorydb delete-cluster ^ --cluster-name
my-cluster
^ --regionus-east-1
詳細については、「delete-cluster
」を参照してください。
次のコードはクラスター my-cluster
を削除します。この場合、my-cluster
を、ステップ 2: クラスターを作成する で作成したクラスターの名前に置き換えます。
https://memory-db.us-east-1.amazonaws.com/ ?Action=DeleteCluster &ClusterName=my-cluster &Region=us-east-1 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210802T220302Z &X-Amz-Algorithm=Amazon4-HMAC-SHA256 &X-Amz-Date=20210802T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20210802T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
DeleteCluster
API オペレーションは 1 つのクラスターのみを削除します。複数のクラスターを削除する場合は、削除するクラスターごとに DeleteCluster
を呼び出します。1 つのクラスターの削除が終了するまで待たなくても次のクラスターを削除できます。
詳細については、「DeleteCluster」を参照してください。
次のステップ
これで入門演習は完了しました。MemoryDB と利用可能なツールについてさらに知識を深めるには、次の各セクションを参照してください。