以下の手順に従って、GCP に redis サーバーをインストールしました。
https://cloud.google.com/community/tutorials/setting-up-redis
ファイアウォールを設定して、ポートがすべてのIP( )6379
に開かれるようにしました0.0.0.0/0
次に、同じプロジェクトに別の GCP インスタンスを作成します。セットアップしたばかりの redis サーバー (たとえば、外部 IP が 1.2.3.4 のマシン) に接続しようとしましたが、できませんでした。しかし、そのマシンの内部 IP を使用すると、うまくいきました。
また、ローカルマシン上の redis-server に接続しようとしたところ、失敗しました (タイムアウト)。
同じGCPプロジェクト内の別のインスタンスからポート6379のマシンをNMAPすると、外部のipはそれを示しています
PORT STATE SERVICE
6379/tcp filtered unknown
同じGCPプロジェクト内の別のインスタンスからポート6379のマシンをNMAPすると、内部ipはそれを示しています
PORT STATE SERVICE
6379/tcp open unknown
同じGCPプロジェクト内のローカルマシンからポート6379のマシンをnmapすると、外部のipはそれを示しています
PORT STATE SERVICE
6379/tcp filtered redis
ここで何が欠けているのでしょうか?
答え1
ようやく何が悪かったのか分かりました。
正しく設定していませんでしたtarget
。
ターゲット フィールドに何でも入力できると思っていましたが、そのフィールドに入力するものはルールが適用されるマシンになることがわかりました。
選択後はAll instances in the network
すべてtargets
うまくいきました。内部ネットワークからnmapすると、ポートは6379
まだ不明なサービスですが、開いており、redis-cliを使用してredisサーバーに接続できます。