Windowsのトラブルシューティングステップ

以下の手順に従って、プロキシがあるかどうかを識別して確認し、さらにトラブルシューティングを行うために必要なプロキシホストとポート番号を収集します。

  1. プロキシ設定を確認します。

    1. Settings メニューを開きます。

    2. 「Proxy」を検索し、 Change proxy settings を選択します。

  2. 手動プロキシ設定を確認します。

    1. Manual proxy setupUse a proxy server オプションを選択します。

      • On の場合、現在プロキシが使用されています。

      • Off の場合、プロキシは使用されていません。

  3. 自動プロキシ設定を確認します。

    1. Automatic proxy setup の下で、 Use setup script を探します。 On の場合は、スクリプト経由でプロキシが設定されている可能性があります。

    2. 確認するには、ブラウザにスクリプト URL を入力します。ファイルがダウンロードされると、プロキシ情報が含まれます。

  4. Windows PowerShell を使って、以下のようにプロキシをチェックします。

    $proxyAddr = (Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').ProxyServer
    $proxyEnable = (Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').ProxyEnable
    
    # Output the values
    $proxyAddr
    $proxyEnable
    
    Copy

    例:

    • proxyAddrmy.pro.xy:123 で、 proxyEnable0 の場合、プロキシアドレスは my.pro.xy:123 になります。

    • proxyEnable0 の場合、プロキシは無効になり、 1 の場合、プロキシは有効になります。

  5. プロキシテストの結果に基づいて続行します。

    • プロキシが見つかりました: これらの環境変数の設定に基づいて、 追加のテスト に必要なプロキシホストとポートを収集できます。

    • プロキシが見つかりませんでした: プロキシのテストが陰性の場合、 追加のテスト を続行します。

プロキシがある場合

プロキシ設定を特定した後、またはプロキシ情報がすでにわかっている場合は、問題が発生している URL のテストに進みます。Snowflake の許可リストにあるすべての URLs を徹底的にテストする必要があります。少なくとも、コネクタ内で障害の原因となっている URL を具体的にテストするようにします。

Windows Powershell で、以下のコマンドを実行します。コマンド内の URL を、テストする Snowflake URL と一致するように更新してください。また、 PROXY_URL を必ず更新してください。

[Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

$proxy = New-Object System.Net.WebProxy("http://<PROXY:PORT>")
$url = "https://<URL>/"

$req = [Net.HttpWebRequest]::Create($url)
$req.Proxy = $proxy
$req.GetResponse() | Out-Null
$output = [PSCustomObject]@{
  Proxy = $proxy
  URL = $url
  'Issuer' = $req.ServicePoint.Certificate.Issuer
  'Subject' = $req.ServicePoint.Certificate.Subject
}

$output|ConvertTo-Json

Sample expected output:

{
    "Proxy": {
                  "Address": "<IP ADDRESS>"",
                  "BypassProxyOnLocal": false,
                  "BypassList": [
                                ],
                  "Credentials": null,
                  "UseDefaultCredentials": false,
                  "BypassArrayList": [
                                      ]
              },
    "URL": "https://<account>.snowflakecomputing.com"",
    "Issuer": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
    "Subject": "CN=*.us-east-1.snowflakecomputing.com",
    "Cert Start Date": "5/23/2022 8:00:00 PM",
    "Cert End Date": "6/22/2023 7:59:59 PM"
}
Copy

テスト結果内のプロキシへの参照を観察して、このテスト中にプロキシが使用されたことを確認します。正常に接続された場合は、出力に表示された発行者情報を調べます。

これらの手順を完了したら、 フォローアップアクション を続行します。

プロキシがない場合

Snowflake の許可リストにあるすべての URLs を徹底的にテストする必要があります。少なくとも、コネクタ内で障害の原因となっている URL を具体的にテストするようにします。

  1. Powershell を開きます。

  2. Powershell で以下のコマンドを実行し、コマンド内の URL をテストする URL と一致するように更新します。

    [Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
    $url = "https://<URL>/""
    $req = [Net.HttpWebRequest]::Create($url)
    $req.GetResponse() | Out-Null
    $output = [PSCustomObject]@{
      URL = $url
      'Issuer' = $req.ServicePoint.Certificate.Issuer
      'Subject' = $req.ServicePoint.Certificate.Subject
    }
    $output|ConvertTo-Json
    
    Copy

    正常接続の出力例:

    {
        "URL": "https://<account>.snowflakecomputing.com"",
        "Issuer": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
        "Subject": "CN=*.us-east-1.snowflakecomputing.com"
    }
    

    接続障害の出力例:

    Exception calling "GetResponse" with "0" argument(s): "Unable to connect to the remote server"
    At line:4 char:1
    
    + $req.GetResponse() | Out-Null
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo     : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : WebException
    

正常に接続された場合は、出力に表示された発行者情報を調べます。

これらの手順を完了したら、 フォローアップアクション を続行します。