Azure Cache for Redisにローカル環境から接続できない

鈴木 伽奈 20 評価のポイント
2026-01-21T01:34:42.7466667+00:00

タイトルの件について、情報提供いただけますと幸いです。

【背景】

・Azure Cache for Redisのリソースを作成し、ローカル環境から接続できるようにしたい

・Azure Cache for RedisのシークレットキーはKeyVaultに格納しており、それを参照して接続できる形が理想

【前提】

・Azure Cache for Redisのリソース設定は下記のようにしている

 非SSLポートを有効化(ローカルからの接続テスト時だけ一時的に有効化)

 プライベートエンドポイント作成済み

 Azure Portal上の設定>プライベートエンドポイントから設定できる「公衆ネットワークアクセス」を有効化している

 Azure Portal上の設定>ファイアウォールで、許可するアクセス元グローバルIPを設定

【事象】

・簡易的な接続テスト用スクリプトを作成し実行したところ、接続できないことを確認

・切り分けを実施している最中で、そもそもAzure Cache for RedisのSSLポート(6380)に接続できないことを確認

 下記Powershellコマンドをローカル環境から実行↓

 Test-NetConnection <リソース名>.redis.cache.windows.net -Port 6380

 出力結果↓

 警告: TCP connect to (xxx.xxx.xxx.xxx : 6380) failed

警告: Ping to xxx.xxx.xxx.xxx failed with status: TimedOut

ComputerName : <リソース名>.redis.cache.windows.net

RemoteAddress : xxx.xxx.xxx.xxx

RemotePort : 6380

InterfaceAlias : イーサネット 53

SourceAddress : xxx.xxx.xxx.xxx

PingSucceeded : False

PingReplyDetails (RTT) : 0 ms

TcpTestSucceeded : False

【確認したいこと】

・SSLポート(6380)に接続できるようにするには

・足りない設定箇所の有無

・その他切り分け方法…etc

Azure Cache for Redis
Azure Cache for Redis

Microsoft が管理するセキュリティで保護された専用 Redis キャッシュへのアクセスを提供する Azure サービス。

0 件のコメント コメントはありません

質問作成者が受け入れた回答
Pilladi Padma Sai Manisha 11,715 評価のポイント Microsoft 外部スタッフ モデレーター
2026-01-21T02:45:50.9466667+00:00

こんにちは Kana Suzuki ,

Microsoft Q&Aをご利用いただきありがとうございます!

翻訳にはGoogle翻訳を使用しています。文法的な誤りがありましたらご容赦ください。
Azure Cache for Redis インスタンスのポート 6380 への Test-NetConnection が失敗する場合、ネットワークレベルのブロックが原因である可能性が高く、ファイアウォール規則、プライベートエンドポイントと競合するパブリックネットワークアクセス設定、またはローカルのグローバルIPアドレスがIP制限に含まれていないことが考えられます。プライベートエンドポイント設定で「パブリックネットワークアクセス」を有効にしている場合でも、ファイアウォールでSSLポート6380へのパブリックエンドポイントアクセスに対して、ローカルマシンの正確なIPアドレスを明示的に許可する必要があります。

確認すべき主要設定

AzureポータルでRedisキャッシュリソースを開き、まず「設定」>「ファイアウォール」で、ローカルマシンのパブリックIPv4アドレス(curl ifconfig.meまたはwhatismyip.comで取得できます)が許可範囲としてリストされていることを確認してください。規則が有効になるまでには約1分かかる場合があります。次に、「プライベートエンドポイント」>「設定」に移動し、「パブリックネットワークアクセス」が完全に有効になっていることを確認してください。プライベートエンドポイントはデフォルトでパブリックアクセスが無効になっています。非SSLポート6379はテスト用に既に有効になっていますが、SSLポート6380を優先してください。また、NSGはプライベートエンドポイントのトラフィックには影響しないことに注意してください。

これらの接続テストを実行する

変更後、Test-NetConnection <resource>.redis.cache.windows.net -Port 6380 をホスト名を使用して再試行してください(IPアドレスは使用しないでください)。代替手段として、Microsoft SysinternalsからPSpingを取得し、psping -q <resource>.redis.cache.windows.net:6380 を実行してパケット損失を確認するか、redis-cli -h <resource>.redis.cache.windows.net -p 6379 ping を使用して非SSL接続をテストしてください(PONGが返されるはずです)。nslookup <resource>.redis.cache.windows.net も実行してください。ローカルマシンからパブリックIPアドレスに解決される必要があり、プライベートIPアドレスに解決されてはいけません。

ローカル接続コード

PowerShellまたはPythonでStackExchange.Redisを使用して接続するには、次のようにします。まず、az keyvault secret showまたはSDKを使用してKey Vaultからプライマリキーを取得します(Key Vaultファイアウォールは別途確認が必要です)。Add-Type -Path "path\to\StackExchange.Redis.dll"; $conn = [StackExchange.Redis.ConnectionMultiplexer]::Connect("<resource>.redis.cache.windows.net:6380,password={KeyVaultSecret},ssl=True,allowAdmin=True"); $cache = $conn.GetDatabase(); $cache.StringSet("test","value"); $cache.StringGet("test").

それでも失敗する場合は、

キャッシュのメトリックで「接続済みクライアント」または「エラー(フェールオーバー)」の急増を確認し、パブリック接続のみのテストのためにプライベートエンドポイントを一時的に削除/再作成してみてください。Azureアクティビティログでブロックされている項目を確認し、必要に応じて診断情報とともにサポートチケットを起票してください。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。

モデレーターによって推奨された回答
鈴木 伽奈 20 評価のポイント
2026-02-12T00:44:45.94+00:00

本件解決しました。接続試行していた環境のファイアウォール設定の問題であったため、リソースの問題ではありませんでした。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. YuKogasaka 0 評価のポイント
    2026-01-21T05:49:15.5433333+00:00

    質問時に記載された【前提】と同じ設定内容でこちらでも確認してみましたが、問題なく応答が返ってきています。
    Test-Connection の実行結果 考えられる要因としては、Pilladi Padma Sai Manisha さんもコメントしているとおり、ネットワークレベルのブロックが原因である可能性が高く、ファイアウォール規則、プライベート エンドポイントと競合するパブリック ネットワークのアクセス設定、ローカルのグローバル IP アドレスが IP 制限に含まれていないことが考えられます。

    上記項目の再度見直しと切り分けとして、Test-NetConnection コマンドレットの -TraceRoute オプションでネットワーク経路の確認と Resolve-DnsName コマンドレットで名前解決ができるかどうかを確認することでしょうか。

    • Test-NetConnection コマンドレット
    Test-NetConnection <リソース名>.redis.cache.windows.net -TraceRoute
    
    • Resolve-DnsName コマンドレット
    Resolve-DnsName <リソース名>.redis.cache.windows.net
    

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "推奨" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。