VCNのトラブルシューティング

重大なAPIの変更

組織内のユーザーがリージョナル・サブネットを実装している場合、ネットワーキング・サービスのサブネットおよびプライベートIPと連携しているクライアント・コードの更新が必要になる可能性があります。重大なAPIの変更が発生する可能性があります。詳細は、リージョナル・サブネットのリリース・ノート を参照してください。

DNSリゾルバ・エンドポイント

ネットワーク・セキュリティ・グループ(NSG)は、DNSリゾルバ・エンドポイントの仮想ファイアウォールとして機能します。NSGは、関連付けられたDNSリゾルバ・エンドポイントにのみ適用されるイングレスおよびエグレス・セキュリティ・ルールのセットで構成されます。

セカンダリIPアドレス

セカンダリIPをセカンダリVNICに割り当て、セカンダリVNICにポリシーベースのルーティングを使用している場合は、ip rule add from <source address> lookup <table name>コマンドを使用して、セカンダリIPアドレスについて同じルート表を参照するようにインスタンスのルート・ルールを構成します。

VCNのDNS

関連付けられたサブネットのDNSタイプを指定するには、「ドメイン・ネーム・サーバー」DHCPオプションを使用します。オプションの値を変更する場合は、インスタンスでDHCPクライアントを再起動するか、インスタンスを再起動します。そうしないと、DHCPクライアントがリースをリフレッシュするまで(24時間以内)、変更は適用されません。

デフォルトで、Internet and VCN Resolverでは、サイト間VPNまたはFastConnectによってVCNに接続されたオンプレミス・ネットワークのホストのホスト名をインスタンスで解決することはできません。その機能を実現するには、カスタム・リゾルバを使用するか、VCNのプライベートDNSリゾルバを構成します。

DNSラベルおよびホスト名の要件

  • VCNおよびサブネット・ラベル: 最大15文字の英数字で、文字で始まる必要があります。ハイフンとアンダースコアは使用できないことに注意してください。この値は、後で変更できません。
  • ホスト名: 最大63文字で、文字および数字を使用できます。ハイフンは許可されます。ピリオドは許可されず、ホスト名の先頭または末尾にハイフンを使用することはできません。ホスト名をすべて数字にすることもできません。ホスト名はRFC 952および1123に準拠している必要があります。値は後で変更できます。

DNSのラベルまたはホスト名とオブジェクに割り当てることのできるわかりやすい名前(表示名)とを混同しないでください。表示名は一意である必要はありません。

詳細は、DNSドメインおよびホスト名についてを参照してください。

ファイアウォール

プラットフォーム・イメージを実行しているインスタンスには、そのインスタンスへのアクセスを制御するOSファイアウォール・ルールもあります。インスタンスへのアクセスのトラブルシューティングを行う場合は、次の項目がすべて正しく設定されていることを確認してください:

  • インスタンスが存在するネットワーク・セキュリティ・グループ内のルール
  • インスタンスのサブネットに関連付けられているセキュリティ・リスト内のルール
  • インスタンスのOSファイアウォール・ルール

インスタンスでOracle Autonomous Linux 8.x、Oracle Autonomous Linux 7、Oracle Linux 8、Oracle Linux 7またはOracle Linux Cloud Developer 8を実行している場合は、firewalldを使用してiptablesルールを操作する必要があります。参照用に、ポート(この例では1521)をオープンするためのコマンドを次に示します:

sudo firewall-cmd --zone=public --permanent --add-port=1521/tcp
								
sudo firewall-cmd --reload

ISCSIブート・ボリュームを持つインスタンスでは、前述の--reloadコマンドで問題が発生することがあります。詳細および回避策については、firewall-cmd --reloadの実行後にインスタンスでシステム・ハングが発生しますを参照してください。

アウトバウンドSMTPがブロックされる

2021年6月23日より後に作成されたテナンシは、デフォルトでは、アウトバウンドTCPポート25を介してインターネットに電子メールを送信できません。2021年6月23日より前に作成されたテナンシは影響を受けません。テナンシから電子メールを送信する必要がある場合は、サービス制限リクエストをオープンして適用除外を取得します。

コンピュート・インスタンスへの新しい接続が失敗する

Oracleでは、接続トラッキングを使用して、ステートフル・ルールと一致するトラフィックに対するレスポンスを許可します。各コンピュート・インスタンスには、インスタンスのシェイプに基づいてトラッキングできる同時接続の最大数があります。インスタンス接続のトラッキング制限に達すると、そのインスタンスへの新しい接続はすべて破棄されます。

コンソールを使用して、新しい接続が破棄されているかどうかを確認するには、インスタンスのVNICメトリックを確認します:

  1. 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  3. インスタンスをクリックして、その詳細を表示します。
  4. 「リソース」で、「アタッチされたVNIC」をクリックします。

    インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。

  5. 目的のVNICをクリックします。
  6. 「メトリック」では、接続トラッキングに関連する4つの表があります:
    • 満杯の接続トラッキング表によってドロップされたイングレス・パケット

      ゼロ以外の任意の値は、トラッキング表が満杯であることを示します。

    • 満杯の接続トラッキング表によってドロップされたエグレス・パケット

      ゼロ以外の任意の値は、トラッキング表が満杯であることを示します。

    • 接続トラッキング表の使用率

      100%の値は、トラッキング表が満杯であることを示します。

    • 接続トラッキング表満杯

      1/Trueの値は、トラッキング表が満杯であることを示します。

トラッキング表が満杯の場合、次の変更のいずれかを実装することによって、失敗した接続とドロップされたパケットの問題を解決できます:

  • ステートフル・イングレス・ルールをステートレス・ルールに変更します(リプライを許可するには、忘れずに対応するステートレス・エグレス・ルールを作成してください)
  • より多くの接続制限を持つ大きなコンピュート・シェイプに移行します

サブネットまたはVCNの削除

このトピックでは、サブネットまたはVCNの削除に失敗する理由について説明します。

留意点:

  • VCNを削除するためには、まずそれが空であること、またそれに関連付けられたリソースまたはゲートウェイがない(例: インターネット・ゲートウェイ動的ルーティング・ゲートウェイなどがない)ことが必要です。
  • VCNのサブネットを削除するためには、まずそれらが空である(例: サブネット内にVNICやリゾルバ・エンドポイントがない)ことが必要です。

「すべて削除」オプション

コンソールには、選択したコンパートメントをスキャンし、VCNおよび関連するネットワーキング・リソース(サブネット、ルート表、セキュリティ・リスト、DHCPオプションのセット、インターネット・ゲートウェイなど)を簡単に削除できる「すべて削除」プロセスがあります。VCNがDynamic Routing Gateway (DRG)にアタッチされている場合、アタッチメントは削除されますが、DRGは残ります。

「すべて削除」プロセスでは、一度に1つのリソースが削除されます。コンパートメントとリソースが多いVCNは、少数のVCNよりも削除に時間がかかります。リソースのスキャンの結果とそれらのリソースの削除の両方を示す進捗レポートが表示されます。

ノート

「すべて削除」プロセスを使用する前に、コンピュート・インスタンス、ロード・バランサ、OCIデータベース・システム、孤立したマウント・ターゲットなどのリソースがどのサブネットにも存在しないことを確認します。これらのいずれかが存在する場合、リソースのサブネットを削除しようとすると、削除プロセスは停止します。削除されたVCNリソースは元に戻せません。詳細は、サブネットまたはVCNの削除を参照してください。

サブネットにリソースがまだ含まれている場合、または特定のネットワーキング・リソースを削除する権限がない場合は、「すべて削除」プロセスが停止し、そのリソースの詳細ページにリンクする、ブロックしているリソースおよびサブネットのOCIDを含むエラー・メッセージが返されます。必要な権限がない場合は、残りのリソースを削除できるようテナンシ管理者に連絡する必要がある場合があります。

サブネットが空でない

サブネット(およびVCN)を削除できない最も一般的な理由は、サブネットに次のリソースが1つ以上含まれていることです:

ノート

前述のリソースの1つを作成するとき、それにVCNおよびサブネットを指定します。関連するサービスによって、サブネット内に少なくとも1つのVNICが作成され、そのVNICがリソースにアタッチされます。サービスがユーザーにかわってVNICを管理するため、コンソールではユーザーにはVNICのことは簡単にはわかりません。VNICによって、リソースはネットワーク上の他のリソースと通信できるようになります。このドキュメントでは一般に、サブネットに属するリソースそのものについて説明していますが、それは実際にはリソースにアタッチされたVNICのことです。このドキュメントでは、このタイプのリソースを表すのに、親リソースという語を使用します。

サブネットを削除しようとしたときに、それが空であると、その状態は短い間「終了中」になった後、「終了済」になります。

サブネットが空でない場合は、まず削除する必要があるリソースが残っていることを示すエラーが表示されます。このエラーには、サブネットに属するVNICのOCIDが含まれます(他にも存在する可能性がありますが、エラーで返されるのは1つのVNICのOCIDのみです)。

VNICのOCIDに関するGetVnic操作をコールするには、Oracle Cloud Infrastructureコマンドライン・インタフェース(CLI)か、別のSDKまたはクライアントを使用できます。レスポンスには、VNICの表示名が含まれます。親リソースのタイプによっては、表示名がVNICの属する親リソースを表していることもあります。その場合、その親リソースを削除したり、管理者に連絡してリソースの所有者を確認することができます。VNICの親リソースを削除すると、それにアタッチされたVNICもサブネットから削除されます。サブネット内にVNICが残っている場合は、サブネットが空になるまで、各親リソースを指定して削除するプロセスを繰り返します。その後、サブネットを削除できます。

たとえば、CLIを使用している場合は、このコマンドを使用してVNICに関する情報を取得します。

oci network vnic get --vnic-id <VNIC_OCID>

ロード・バランサの例

ここでは、ロード・バランサに属するVNICのCLIレスポンスの例を示します。表示名は、ロード・バランサのOCIDを示しています:

{
  "data": {
    "availability-domain": "fooD:PHX-AD-1", 
    "compartment-id": "ocid1.compartment.oc1..<unique_id_1>", 
    "defined-tags": {}, 
    "display-name": "VNIC for LB ocid1.loadbalancer.oc1.phx.<unique_id_2>", 
    "freeform-tags": {}, 
    "hostname-label": null, 
    "id": "ocid1.vnic.oc1.phx.<unique_id_3>", 
    "is-primary": false, 
    "lifecycle-state": "AVAILABLE", 
    "mac-address": "00:00:17:00:BB:CA", 
    "private-ip": "10.0.0.6", 
    "public-ip": null, 
    "skip-source-dest-check": false, 
    "subnet-id": "ocid1.subnet.oc1.phx.<unique_id_4>", 
    "time-created": "2019-05-11T04:28:31.950000+00:00"
  }, 
  "etag": "5d8213fa"
}

ファイル・ストレージの例

ファイル・ストレージ・マウント・ターゲットに属するVNICの例を次に示します:

"display-name": "fss-<integer>",

表示名にOCIDは含まれませんが、fssという文字はリソースがファイル・ストレージ・サービスに対応していることを示します。

データベースの例

DBシステムに属するVNICの表示名の例を次に示します:

"display-name": "ocid1.dbnode.oc1.phx.<unique_id>", 

ネットワーク・セキュリティ・グループが空でない

VCNを削除できない理由としては他に、VCNにまだ空でない1つ以上のネットワーク・セキュリティ・グループ(NSG)が含まれていることがあります。NSGを削除するには、それにVNIC (またはVNICを持つ親リソース)が含まれていない必要があります。コンソールまたはREST APIを使用して、NSGに存在する親リソースを判別できます。詳細は、NSGの削除を参照してください。

コンパートメント内に自分がアクセスできないリソースがある

サブネットまたはVCN内に、自分が表示できないリソースが含まれている可能性があります。これは、サブネットおよびVCNの複数のコンパートメント内にリソースが含まれていて、一部のコンパートメントにアクセスできない場合があるためです。たとえば、サブネットに、自分のチームが管理するインスタンスと、他のチームが管理するDBシステムが同時に含まれている場合があります。別の例: VCNで別のチームが管理するコンパートメント内にセキュリティ・リストまたはゲートウェイが含まれている場合もあります。サブネットまたはVCN内のリソースの所有者を確認するために、テナンシ管理者に問い合せる必要がある場合もあります。

LPGの再利用に失敗する

詳細
特定のローカル・ピアリング接続用に作成されたLPGは、新しい異なるローカル・ピアリング接続で使用するために再利用できません。
これを実行しようとすると、次の場合にエラー・メッセージThe Local Peering Gateway with ID <LPG_OCID> has already been connectedが表示されることがあります。
  1. VCN 1のLPG 1は、かつてVCN 2のLPG 2に正常に接続されていました。
  2. VCN 1 (LPG 1を含む)はその後削除されます。LPG 2ピアリング・ステータスが「失効済」または「破棄済」に変わります。
  3. LPG 2をLPG 3に接続しようとしています。

次の場合、わずかに異なるメッセージ(A peering with VCN <VCN_OCID> has already been established)を表示することもできます。

  1. VCN 1のLPG 1は、かつてVCN 2のLPG 2に正常に接続されていました。
  2. その後、LPG 2は削除されます。LPG 1ピアリング・ステータスが「失効済」または「破棄済」に変わります。
  3. LPG 1をLPG 3 (VCN 2またはその他のVCNの新しいLPG)に接続しようとしています。
提案された解決策
次のアクションを実行します。
  1. 再利用しようとしているLPGを削除します。

    この削除が409 - Local Peering Gateway <LPG_OCID> is associated with one or more entities that are in useでエラーが発生した場合、LPGは1つ以上のルート表のルート・ルールで記述されている可能性があります。VCNのルート表を確認し、関連するルート表からこれらのルートを削除してから、LPGの削除を再試行してください。

  2. 新しいLPGを作成し、目的のVCNに新しいLPGでピアリングします。