4

ケースの基本: Redis インスタンス (単一インスタンス) を Google Cloud にデプロイしました。NodeJS ベースのサーバーと redis-sentinel ライブラリを使用してノードに接続します。その理由は、Google クラウド上のノードのセンチネル ベースの管理です。

ダッシュボード/コンソールの SSH ログインを介して redis インスタンスにログインできます。redis-cli を使用して、redis のローカルで実行されているサービスに接続し、さまざまなデータセットを作成/編集できます。

問題: localhost または同じプロジェクト ドメイン内にデプロイされた他のコンピューティング インスタンスを介してアクセスしようとすると、. 接続にパブリック IP とポート 26379/6379 を使用していますが、接続が拒否されています。

考えられる理由:

  • ネットワーク アクセス ポリシー。
4

3 に答える 3

4

先週、自分でこれをセットアップするのに苦労したので、ここで学んだ教訓を共有したいと思いました. これがほぼ1年遅れているとしても、これが役立つことを願っています:)

ここにあるクリック デプロイ スキーム(Bitnami ではなく Redis by Redis) を使用していました。これにより、奇数の VM をクラスターとして機能させることができます。

デプロイが作成されたら、各 VM で次の手動の手順を実行して、センチネル クラスターとして使用できるようにする必要がありました。

  • redis-cliと実行CONFIG SET protected-mode noCONFIG REWRITEます。これにより、redis サーバーが外部接続に公開されます。

  • sudo vi /etc/redis/sentinel.confprotected-mode noセンチネル同士も接続できるように追加します

  • sudo /etc/init.d/redis-sentinel startセンチネルサービスを開始するには

  • redis-cli -p 26379を実行してセンチネルのステータスを確認しますsentinel ckquorum master。「OK X available Sentinels」が表示されることを期待してください。X は、クラスター内にある VM の数です。

残り物:

  • redis-sentinelサービスとして実行されません。/etc/rc?.d横に追加する必要がありますredis-server
  • /etc/init.d/redis-{server,sentinel}適切な Debian サービスとして書かれていないため、一度殺されると復活しません。

この製品には全体的に非常に失望しており、より完成されたセットアップを期待していました.

于 2016-10-22T12:44:31.587 に答える
1

通常、Google のクリック デプロイ サービスでは、ネットワーク/ファイアウォール ルールとポリシーが自動的に追加されることはありません。手動で行う必要があります。

もちろん、Compute Engine ネットワークからのアクセスのみを許可するようにポートを開くときは注意が必要です。

于 2015-01-14T12:30:35.290 に答える