トラブルシューティング AWS Client VPN: VPC へのトンネル接続の問題 - AWS Client VPN

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

トラブルシューティング AWS Client VPN: VPC へのトンネル接続の問題

AWS Client VPN 接続で接続の問題が発生した場合は、この体系的なトラブルシューティングアプローチに従って問題を特定して解決します。このセクションでは、リモートクライアントと Amazon VPC リソース間の一般的なクライアント VPN 接続問題を診断するstep-by-stepの手順について説明します。

ネットワーク接続の前提条件

クライアント VPN 接続をトラブルシューティングする前に、次のネットワークの前提条件を確認してください。

  • クライアント VPN エンドポイントサブネットにインターネット接続があることを確認します (インターネットゲートウェイまたは NAT ゲートウェイ経由)。

  • 高可用性のために、クライアント VPN エンドポイントが異なるアベイラビリティーゾーンのサブネットに関連付けられていることを確認します。

  • VPC に十分な IP アドレススペースがあり、クライアント CIDR ブロックと競合していないことを確認します。

  • ターゲットサブネットに適切なルートテーブルの関連付けがあることを確認します。

クライアント VPN エンドポイントのステータスを確認する

まず、クライアント VPN エンドポイントが正しい状態であることを確認します。

  1. を使用して AWS CLI 、クライアント VPN エンドポイントのステータスを確認します。

    aws ec2 describe-client-vpn-endpoints --region your-region
  2. 出力でエンドポイントの状態を探します。状態は である必要がありますavailable

  3. エンドポイントにターゲットネットワーク (サブネット) が関連付けられていることを確認します。

  4. 状態が でない場合はavailable、エラーメッセージや、設定の問題を示す保留中の状態がないか確認します。

クライアント接続の検証

クライアント VPN エンドポイントへのクライアント接続のステータスを確認します。

  1. アクティブなクライアント接続を確認します。

    aws ec2 describe-client-vpn-connections --client-vpn-endpoint-id cvpn-endpoint-id --region your-region
  2. 出力の接続ステータスとエラーメッセージを確認します。

  3. クライアント認証ログで、失敗した認証試行を確認します。

  4. クライアントが設定されたクライアント CIDR ブロックから IP アドレスを受信していることを確認します。

注記

クライアントが接続できない場合は、認証設定、認可ルール、またはネットワーク接続に問題がある可能性があります。

クライアント認証の検証

認証の問題は、クライアント VPN 接続の問題の一般的な原因です。

  • 相互認証の場合は、クライアント証明書が有効であり、有効期限が切れていないことを確認します。

  • Active Directory 認証の場合は、ユーザー認証情報とドメイン接続を確認します。

  • SAML ベースのフェデレーション認証の場合は、IdP 設定とユーザーアクセス許可を確認してください。

  • 詳細なエラー情報については、CloudWatch の認証ログを確認してください。

  • エンドポイントで設定された認証方法がクライアント設定と一致していることを確認します。

認可ルールを確認する

認可ルールは、クライアントがアクセスできるネットワークリソースを制御します。

  1. 現在の認可ルールを一覧表示します。

    aws ec2 describe-client-vpn-authorization-rules --client-vpn-endpoint-id cvpn-endpoint-id --region your-region
  2. クライアントがアクセスする必要があるターゲットネットワークにルールが存在することを確認します。

  3. ルールで正しい Active Directory グループが指定されていることを確認します (AD 認証を使用している場合)。

  4. 認可ルールが active状態であることを確認します。

クライアント VPN ルートを検証する

クライアント VPN 接続には、適切なルーティング設定が不可欠です。

  1. クライアント VPN エンドポイントルートを確認します。

    aws ec2 describe-client-vpn-routes --client-vpn-endpoint-id cvpn-endpoint-id --region your-region
  2. クライアントがアクセスする必要があるターゲットネットワークにルートが存在することを確認します。

  3. Amazon VPC ルートテーブルをチェックして、リターントラフィックがクライアント VPN エンドポイントに到達できることを確認します。

    aws ec2 describe-route-tables --filters "Name=vpc-id,Values=vpc-id" --region your-region
  4. ターゲットネットワークの関連付けが正しく設定されていることを確認します。

セキュリティグループとネットワーク ACLs を検証する

セキュリティグループとネットワーク ACLs、クライアント VPN トラフィックをブロックできます。

  1. ターゲット EC2 インスタンスのセキュリティグループを確認します。

    aws ec2 describe-security-groups --group-ids sg-xxxxxxxxx --region your-region
  2. インバウンドルールがクライアント VPN CIDR ブロックからのトラフィックを許可していることを確認します。

    • クライアント VPN CIDR からの SSH (ポート 22): 10.0.0.0/16

    • クライアント VPN CIDR からの HTTP (ポート 80): 10.0.0.0/16

    • クライアント VPN CIDR からの HTTPS (ポート 443): 10.0.0.0/16

    • 必要に応じてカスタムアプリケーションポート

  3. クライアント VPN エンドポイントセキュリティグループ (該当する場合) では、以下が許可されていることを確認します。

    • 0.0.0.0/0 からの UDP ポート 443 (OpenVPN)

    • VPC CIDR ブロックへのすべてのアウトバウンドトラフィック

  4. ネットワーク ACLsトラフィックをブロックしていないことを確認します。ネットワーク ACLs はステートレスであるため、インバウンドルールとアウトバウンドルールの両方を設定する必要があります。

  5. 送信しようとしている特定のトラフィックのインバウンドルールとアウトバウンドルールの両方を検証します。

クライアント接続をテストする

クライアント VPN クライアントから Amazon VPC リソースへの接続をテストします。

  1. 接続されたクライアント VPN クライアントから、Amazon VPC リソースへの接続をテストします。

    ping vpc-resource-ip traceroute vpc-resource-ip
  2. 特定のアプリケーション接続をテストします。

    telnet vpc-resource-ip port
  3. プライベート DNS 名を使用する場合は、DNS 解決を確認します。

    nslookup private-dns-name
  4. 分割トンネリングが有効になっている場合は、インターネットリソースへの接続をテストします。

クライアントデバイスを診断する

クライアントデバイスで次のチェックを実行します。

  1. クライアント設定ファイル (.ovpn) に正しい設定が含まれていることを確認します。

    • 正しいサーバーエンドポイント URL

    • 有効なクライアント証明書とプライベートキー

    • 適切な認証方法の設定

  2. クライアントログで接続エラーを確認します。

    • Windows: イベントビューワー → アプリケーションとサービスログ → OpenVPN

    • macOS: コンソールアプリ、「Tunnelblick」またはOpenVPN」を検索する

    • Linux: /var/log/openvpn/または systemd ジャーナル

  3. クライアントから基本的なネットワーク接続をテストします。

    ping 8.8.8.8 nslookup cvpn-endpoint-id.cvpn.region.amazonaws.com

DNS 解決のトラブルシューティング

DNS の問題により、プライベート DNS 名を使用したリソースへのアクセスが妨げられる可能性があります。

  1. DNS サーバーがクライアント VPN エンドポイントで設定されているかどうかを確認します。

    aws ec2 describe-client-vpn-endpoints --client-vpn-endpoint-ids cvpn-endpoint-id --query 'ClientVpnEndpoints[0].DnsServers'
  2. クライアントから DNS 解決をテストします。

    nslookup private-resource.internal dig private-resource.internal
  3. カスタム DNS 解決を使用する場合は、Route 53 Resolver ルールを検証します。

  4. セキュリティグループがクライアント VPN CIDR から DNS サーバーへの DNS トラフィック (UDP/TCP ポート 53) を許可していることを確認します。

パフォーマンスのトラブルシューティング

クライアント VPN 接続のパフォーマンス問題に対処します。

  • 入出力バイトの CloudWatch メトリクスを使用して帯域幅使用率をモニタリングします。

  • クライアントからの継続的な ping テストを使用して、パケット損失をチェックします。

  • クライアント VPN エンドポイントが接続制限に達していないことを確認します。

  • 負荷分散に複数のクライアント VPN エンドポイントを使用することを検討してください。

  • さまざまなクライアントロケーションでテストして、リージョンのパフォーマンスの問題を特定します。

クライアント VPN メトリクスのモニタリング

CloudWatch を使用してクライアント VPN エンドポイントメトリクスをモニタリングします。

  1. アクティブな接続メトリクスを確認します。

    aws cloudwatch get-metric-statistics \ --namespace AWS/ClientVPN \ --metric-name ActiveConnectionsCount \ --dimensions Name=Endpoint,Value=cvpn-endpoint-id \ --start-time start-time \ --end-time end-time \ --period 300 \ --statistics Average
  2. 認証失敗メトリクスを確認します。

    aws cloudwatch get-metric-statistics \ --namespace AWS/ClientVPN \ --metric-name AuthenticationFailures \ --dimensions Name=Endpoint,Value=cvpn-endpoint-id \ --start-time start-time \ --end-time end-time \ --period 300 \ --statistics Sum
  3. イングレスバイトやエグレスバイト、パケットなど、他の利用可能なメトリクスを確認します。

クライアント VPN ログを確認する

クライアント VPN 接続ログは、接続の試行とエラーに関する詳細情報を提供します。

  • まだ設定されていない場合は、クライアント VPN 接続のログ記録を有効にします。

  • CloudWatch ログで、接続の試行、認証の失敗、認可エラーを確認します。

  • 接続問題の根本原因を示す特定のエラーコードとメッセージを探します。

  • 設定の問題を示す可能性のある接続の失敗パターンを確認します。

一般的な の問題と解決策

クライアント VPN 接続に影響する可能性がある一般的な問題:

認証の失敗

クライアント証明書の有効期限が切れているか無効であるか、Active Directory 認証情報が正しくありません。認証設定と認証情報の有効性を検証します。

承認ルールがない

認可ルールがないか、正しくないため、クライアントはターゲットネットワークにアクセスできません。必要なネットワークに適切な認可ルールを追加します。

分割トンネリングの問題

分割トンネリング設定によるトラフィックルーティングの誤り。必要に応じて、分割トンネリング設定を確認して調整します。

クライアント IP プールの枯渇

クライアント CIDR ブロックに使用可能な IP アドレスがありません。クライアント CIDR 範囲を拡張するか、未使用のクライアントを切断します。

MTU の問題

MTU のサイズ制限により、大きなパケットがドロップされています。MTU を 1436 バイトに設定するか、クライアントデバイスでパス MTU 検出を有効にしてみてください。

DNS 解決の問題

クライアントはプライベート DNS 名を解決できません。DNS サーバー設定を検証し、DNS トラフィックがセキュリティグループを介して許可されていることを確認します。

重複する IP 範囲

クライアント CIDR ブロックがローカルネットワーク範囲と競合しています。クライアント CIDR とローカルネットワーク間の重複する IP アドレス範囲を確認して解決します。

TLS ハンドシェイクの失敗

TLS ネゴシエーション中に接続が失敗します。証明書の有効性を確認し、正しい暗号スイートを確認し、クライアント証明書とサーバー証明書が正しく設定されていることを確認します。

ルート伝播の遅延

新しいルートはクライアントですぐには利用できません。クライアント VPN ルートを変更した後、ルートの伝播に 1~2 分かかります。

接続の切断/不安定

頻繁な切断または不安定な接続。クライアントデバイスのネットワーク輻輳、ファイアウォールの干渉、または電源管理の設定を確認します。