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

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