翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ElastiCache クラスターまたはレプリケーショングループへのアクセス
Amazon ElastiCache インスタンスは、Amazon EC2インスタンスを介してアクセスされるように設計されています。
Amazon Virtual Private Cloud (Amazon VPC) で ElastiCache インスタンスを起動した場合、同じ Amazon の Amazon EC2インスタンスからインスタンスにアクセスできます ElastiCacheVPC。または、VPCピアリングを使用して、別の Amazon EC2の Amazon から ElastiCache インスタンスにアクセスできますVPC。
EC2 Classic で ElastiCache インスタンスを起動した場合、EC2インスタンスに関連付けられた Amazon EC2 セキュリティグループにキャッシュセキュリティグループへのアクセスを許可することで、インスタンスがクラスターにアクセスできるようにします。デフォルトでは、クラスターへのアクセスはそのクラスターを起動したアカウントに制限されています。
クラスターまたはレプリケーショングループへのアクセスの許可
クラスターを EC2- に起動しましたVPC
Amazon Virtual Private Cloud (Amazon VPC) でクラスターを起動した場合、クラスターに接続 ElastiCacheできるのは、同じ Amazon で実行されている Amazon EC2インスタンスからのみですVPC。この場合、クラスターに対するネットワーク進入を許可する必要があります。
注記
[Local Zones] を使用している場合、それを有効にしていることを確認します。詳細については、「Local Zones の有効化」を参照してください。これにより、 VPCはそのローカルゾーンに拡張され、 VPCはサブネットを他のアベイラビリティーゾーンおよび関連するゲートウェイ、ルートテーブル、その他のセキュリティグループの考慮事項の任意のサブネットとして扱います。 は自動的に調整されます。
Amazon VPC セキュリティグループからクラスターへのネットワーク進入を許可するには
にサインイン AWS Management Console し、 で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/
。 -
ナビゲーションペインで、[ネットワーク & セキュリティ] の下にある [セキュリティグループ] を選択します。
-
セキュリティグループのリストから、Amazon のセキュリティグループを選択しますVPC。 ElastiCache 使用するためのセキュリティグループを作成しない限り、このセキュリティグループの名前はデフォルト になります。
-
Inbound タブを選択し、次の操作を行います。
-
Edit (編集) を選択します。
-
ルールの追加 を選択します。
-
タイプ 列で、カスタムTCPルール を選択します。
-
Port range ボックスに、クラスターノードのポート番号を入力します。この番号は、クラスターの起動時に指定した番号と同じ番号である必要があります。Memcached のデフォルトポートは
11211
で、Redis のデフォルトポートOSSは6379
です。 -
ソースボックスで、ポート範囲 (0.0.0.0/0) がある任意の場所を選択して、Amazon 内で起動する Amazon EC2インスタンスを ElastiCache ノードVPCに接続できるようにします。
重要
ElastiCache クラスターを 0.0.0.0/0 に開いても、クラスターにはパブリック IP アドレスがないため、 の外部からアクセスできないため、インターネットには公開されませんVPC。ただし、デフォルトのセキュリティグループは、顧客のアカウントの他の Amazon EC2インスタンスに適用でき、それらのインスタンスにはパブリック IP アドレスがある場合があります。それがデフォルトポートで何かを実行している場合、そのサービスが意図せず公開されることがあります。したがって、 によってのみ使用されるVPCセキュリティグループを作成することをお勧めします ElastiCache。詳細については、「 カスタムセキュリティグループ」を参照してください。
-
[Save] を選択します。
-
Amazon EC2インスタンスを Amazon に起動するとVPC、そのインスタンスは ElastiCache クラスターに接続できるようになります。
外部から ElastiCache リソースにアクセスする AWS
Amazon ElastiCache は、クラウドベースのメモリ内キーバリューストアを提供する AWS サービスです。このサービスは、 内からのみアクセスされるように設計されています AWS。ただし、 ElastiCache クラスターが 内でホストされている場合はVPC、ネットワークアドレス変換 (NAT) インスタンスを使用して外部アクセスを提供できます。
要件
外部から ElastiCache リソースにアクセスするには、次の要件を満たす必要があります AWS。
-
クラスターは 内にありVPC、ネットワークアドレス変換 (NAT) インスタンスを介してアクセスする必要があります。これは必須の要件であり、例外はありません。
-
NAT インスタンスは、クラスターVPCと同じ で起動する必要があります。
-
NAT インスタンスは、クラスターとは別のパブリックサブネットで起動する必要があります。
-
Elastic IP アドレス (EIP) をNATインスタンスに関連付ける必要があります。iptables のポート転送機能は、NATインスタンス上のポートを 内のキャッシュノードポートに転送するために使用されますVPC。
考慮事項
外部から ElastiCache リソースにアクセスするときは、以下の考慮事項に留意する必要があります ElastiCache。
-
クライアントはNATインスタンスの EIPおよびキャッシュポートに接続します。NAT インスタンスでのポート転送は、トラフィックを適切なキャッシュクラスターノードに転送します。
-
クラスターノードが追加または交換されたら、この変更が反映されるように iptables ルールが更新される必要があります。
制限事項
このアプローチは、テストおよび開発の目的にしか使用できません。以下の制限があるため、本稼働で使用することは推奨されません。
-
NAT インスタンスは、クライアントと複数のクラスター間のプロキシとして機能します。プロキシを追加すると、キャッシュクラスターのパフォーマンスに影響が及びます。NAT インスタンス経由でアクセスするキャッシュクラスターの数が増えると、影響が大きくなります。
-
クライアントからNATインスタンスへのトラフィックは暗号化されません。したがって、NATインスタンス経由で機密データを送信することは避ける必要があります。
-
NAT インスタンスは、別のインスタンスを維持するオーバーヘッドを追加します。
-
NAT インスタンスは単一の障害点として機能します。NAT で高可用性を設定する方法についてはVPC、「Amazon VPC NAT インスタンスの高可用性: 例
」を参照してください。
外部から ElastiCache リソースにアクセスする方法 AWS
次の手順は、NATインスタンスを使用して ElastiCache リソースに接続する方法を示しています。
これらのステップは、以下を前提としています。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6380 -j DNAT --to 10.0.1.231:6379
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6381 -j DNAT --to 10.0.1.232:6379
次に、逆NATの方向が必要です。
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.0.0.55
デフォルトで無効になっている IP 転送も有効にする必要があります。
sudo sed -i 's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl --system
-
以下を使って、Memcached クラスターにアクセスします。
-
IP アドレス – 10.0.1.230
-
デフォルトの Memcached ポート – 11211
-
セキュリティグループ – *10\.0\.0\.55*
-
-
Valkey または Redis OSSクラスターには、次の方法でアクセスします。
-
IP アドレス – 10.0.1.230
-
デフォルトポート – 6379
-
セキュリティグループ – sg-bd56b7da
-
AWS インスタンス IP アドレス – sg-bd56b7da
-
-
信頼済みクライアントの IP アドレスが 198.51.100.27 である。
-
NAT インスタンスには Elastic IP アドレス 203.0.113.73 があります。
-
NAT インスタンスにはセキュリティグループ sg-ce56b7a9 があります。
NAT インスタンスを使用して ElastiCache リソースに接続するには
-
キャッシュクラスターVPCと同じ にインスタンスを作成しますが、パブリックサブネットにNATインスタンスを作成します。
デフォルトでは、VPCウィザードは cache.m1.small ノードタイプを起動します。必要に応じてノードサイズを選択する必要があります。外部 ElastiCache から にアクセスできるようにするEC2NATAMIには、 を使用する必要があります AWS。
NAT インスタンスの作成の詳細については、「 ユーザーガイド」のNAT「インスタンス」を参照してください。 AWS VPC
-
キャッシュクラスターとNATインスタンスのセキュリティグループルールを作成します。
NAT インスタンスセキュリティグループとクラスターインスタンスには、次のルールが必要です。
-
2 つのインバウンドルール
-
Memcached では、最初のルールは、信頼できるクライアントTCPからNATインスタンス (11211 ~ 11213) から転送された各キャッシュポートへの接続を許可することです。
-
Valkey と Redis ではOSS、最初のルールは、信頼されたクライアントTCPからNATインスタンス (6379~6381) から転送された各キャッシュポートへの接続を許可することです。
-
信頼されたクライアントSSHへのアクセスを許可する 2 番目のルール。
NAT インスタンスセキュリティグループ - Memcached を使用したインバウンドルールタイプ プロトコル ポート範囲 ソース カスタムTCPルール TCP 11211-11213 198.51.100.27/32 SSH TCP 22 198.51.100.27/32 NAT インスタンスセキュリティグループ - Valkey または Redis を使用したインバウンドルール OSSタイプ プロトコル ポート範囲 ソース カスタムTCPルール TCP 6379-6380 198.51.100.27/32 SSH TCP 22 203.0.113.73/32 -
-
Memcached では、キャッシュポート (11211) TCPへの接続を許可するアウトバウンドルールです。
NAT インスタンスセキュリティグループ - アウトバウンドルールタイプ プロトコル ポート範囲 デスティネーション カスタムTCPルール TCP 11211 sg-ce56b7a9 (クラスターインスタンスのセキュリティグループ) -
Valkey または Redis ではOSS、キャッシュポート (6379) TCPへの接続を許可するアウトバウンドルールです。
NAT インスタンスセキュリティグループ - アウトバウンドルールタイプ プロトコル ポート範囲 デスティネーション カスタムTCPルール TCP 6379 sg-ce56b7a9 (クラスターインスタンスのセキュリティグループ) -
Memcached では、NATインスタンスTCPからキャッシュポート (11211) への接続を許可するクラスターのセキュリティグループのインバウンドルールです。
クラスターインスタンスのセキュリティグループ - インバウンドルールタイプ プロトコル ポート範囲 ソース カスタムTCPルール TCP 11211 sg-bd56b7da (NATセキュリティグループ) -
Valkey または Redis ではOSS、NATインスタンスTCPからキャッシュポート (6379) への接続を許可するクラスターのセキュリティグループのインバウンドルールです。
クラスターインスタンスのセキュリティグループ - インバウンドルールタイプ プロトコル ポート範囲 ソース カスタムTCPルール TCP 6379 sg-bd56b7da (クラスターセキュリティグループ)
-
-
ルールを検証します。
-
信頼されたクライアントがNATインスタンスSSHに対して にアクセスできることを確認します。
-
信頼されたクライアントがNATインスタンスからクラスターに接続できることを確認します。
-
-
Memcached
NAT インスタンスに iptables ルールを追加します。
NAT インスタンスからクラスターノードにキャッシュポートを転送するには、クラスター内の各ノードのNATテーブルに iptables ルールを追加する必要があります。以下に例を示します。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211
ポート番号は、クラスターのノードごとに一意である必要があります。たとえば、ポート 11211~11213 を使用する 3 つのノードで構成される Memcached クラスターを使用している場合、ルールは次のようになります。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11212 -j DNAT --to 10.0.1.231:11211 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11213 -j DNAT --to 10.0.1.232:11211
信頼済みクライアントがクラスターに接続できることを確認します。
信頼されたクライアントは、NATインスタンスEIPに関連付けられた に接続し、適切なクラスターノードに対応するクラスターポートに接続する必要があります。例えば、 の接続文字列は次のPHPようになります。
$memcached->connect( '203.0.113.73', 11211 ); $memcached->connect( '203.0.113.73', 11212 ); $memcached->connect( '203.0.113.73', 11213 );
telnet クライアントを使用して接続を検証することもできます。例:
telnet 203.0.113.73 11211 telnet 203.0.113.73 11212 telnet 203.0.113.73 11213
Valkey または Redis OSS
NAT インスタンスに iptables ルールを追加します。
NAT インスタンスからクラスターノードにキャッシュポートを転送するには、クラスター内の各ノードのNATテーブルに iptables ルールを追加する必要があります。以下に例を示します。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379
ポート番号は、クラスターのノードごとに一意である必要があります。例えば、ポート 6379 ~ 6381 を使用して 3 つのノード Redis OSSクラスターを操作する場合、ルールは次のようになります。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6380 -j DNAT --to 10.0.1.231:6379 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6381 -j DNAT --to 10.0.1.232:6379
信頼済みクライアントがクラスターに接続できることを確認します。
信頼されたクライアントは、NATインスタンスEIPに関連付けられた に接続し、適切なクラスターノードに対応するクラスターポートに接続する必要があります。例えば、 の接続文字列は次のPHPようになります。
redis->connect( '203.0.113.73', 6379 ); redis->connect( '203.0.113.73', 6380 ); redis->connect( '203.0.113.73', 6381 );
telnet クライアントを使用して接続を検証することもできます。例:
telnet 203.0.113.73 6379 telnet 203.0.113.73 6380 telnet 203.0.113.73 6381
-
iptables 設定を保存します。
ルールをテストし、検証してから保存します。Red Hat ベースの Linux ディストリビューション (Amazon Linux など) を使用している場合は、次のコマンドを実行します。
service iptables save
関連トピック
以下のトピックも役に立つ場合があります。