サブネットまたはVCNの削除
このトピックでは、サブネットまたはVCNの削除に失敗する理由について説明します。
留意点:
- 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内のリソースの所有者を確認するために、テナンシ管理者に問い合せる必要がある場合もあります。