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

重大なAPIの変更

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

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

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

セカンダリIPアドレス

セカンダリVNICにセカンダリIPを割り当てており、セカンダリVNICでポリシーベースのルーティングを使用している場合は、セカンダリIPアドレスに対して同じルート表を参照するようにルート・ルールを構成します。

VCNのDNS

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

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

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

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

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

ファイアウォール

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

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

インスタンスでOracle Autonomous Linux 7、Oracle Linux 8、Oracle Linux 7またはOracle Linux Cloud Developer 8を実行している場合は、iptablesルールと相互作用するにはfirewalldを使用する必要があります。参照用に、ポート(この例では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つの表が接続トラッキングに関連しています。
    • INGRESS PACKETS DROPPED BY FULL CONNECTION TRACKING TABLE

      ゼロ以外の値はすべて、トラッキング テーブルがいっぱいであることを示します。

    • EGRESS PACKETS DROPPED BY FULL CONNECTION TRACKING TABLE

      ゼロ以外の値はすべて、トラッキング テーブルがいっぱいであることを示します。

    • CONNECTION TRACKING TABLE UTILIZATION

      値が100%の場合は、トラッキング表がいっぱいであることを示します。

    • CONNECTION TRACKING TABLE FULL

      値1/Trueは、トラッキング テーブルがいっぱいであることを示します。

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

  • ステートフル・イングレス・ルールをステートレス・ルールに変更します(返信を許可するステートレス・エグレス・ルールを作成することを忘れないでください)
  • 接続制限のより大きいコンピュート・シェイプに移動します

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

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

留意点:

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

すべて削除オプション

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

「すべて削除」プロセスでは、一度に1つのリソースが削除され、1、2分かかります。現在までに削除された内容を示す進行状況レポートが表示されます。

「すべて削除」プロセスを使用する前に、どのサブネットにもインスタンス、ロード・バランサDBシステムまたは孤立したマウント・ターゲットが含まれていないことを確認してください。詳細は、サブネットまたはVCNの削除を参照してください。

サブネットにリソースがまだある場合、または特定のネットワーキング・リソースを削除する権限がない場合、「すべて削除」プロセスは停止し、エラー・メッセージが表示されます。その時点までに削除されたリソースはリストアできません。残りのリソースを削除するために、テナンシ管理者に問い合せる必要がある場合もあります。

サブネットが空でない

サブネット(および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内のリソースの所有者を確認するために、テナンシ管理者に問い合せる必要がある場合もあります。