重要: 仮想ネットワーク・インターフェース、インスタンス、ベアメタル・サーバー、およびファイル共有に対する動作の変更を軽減

2024 年 3 月 12 日に、 仮想ネットワーク・インターフェース のサポートを拡張する機能が Virtual Private Cloud (VPC) サービスで一般出荷可能になりました。 ご使用のアカウントでこの機能を使用すると、インスタンス、ベアメタル・サーバー、およびファイル共有の動作が変更されます。 これらの変更は、これらのリソースを管理する自動化またはワークフローに影響を与える可能性があります。

この機能へのアクセスは 、 IBM サポート を通じて延期することを選択できます。 据え置きアクセス権限を持つアカウント内のユーザーは、仮想ネットワーク・インターフェースを使用してインスタンスやベア・メタル・サーバーを作成することはできません。 仮想ネットワーク・インターフェースの変更を評価、修復、およびテストするためにさらに時間が必要な場合は、テスト・アカウントを使用して緩和を完了しながら、実動アカウントの延期を要求します。

この機能へのアクセスを据え置いていない場合は、仮想ネットワーク・インターフェースを使用する予定がなくても、提供されているガイダンスをお読みください。

何が変わったの?

仮想ネットワーク・インターフェースでは、以下の機能を使用できます。

  • ネットワーク接続と呼ばれる新しい子リソースに接続された仮想ネットワーク・インターフェースを使用して、 インスタンス および ベアメタル・サーバー を作成できます。 ( primary_network_interface の代わりに) primary_network_attachment を指定して、既に作成されている仮想ネットワーク・インターフェースの ID を指定するか、サブネットを指定してインスタンスまたはベア・メタル・サーバー用の新しい仮想ネットワーク・インターフェースを作成することができます。
  • 仮想ネットワーク・インターフェースには、接続先のリソースに依存しないライフサイクルがあります。 auto_delete プロパティーを false更新 して、仮想ネットワーク・インターフェースが元のベア・メタル・サーバーまたはインスタンスのライフサイクルを超えて持続し、別のベア・メタル・サーバーまたはインスタンスに再接続できるようにすることができます。
  • 仮想ネットワーク・インターフェースは、 2 次 IP アドレス をサポートします。 仮想ネットワーク・インターフェースとの間で予約済み IP を 追加 および 削除 することができます。
  • 既存のクライアントとの互換性のために、仮想ネットワーク・インターフェースを持つインスタンスおよびベア・メタル・サーバーには、古いスタイルのネットワーク・インターフェースの子リソースとして、ネットワーク接続および仮想ネットワーク・インターフェースの読み取り専用表現が含まれています。 古い API クライアントのサポート について説明します。
  • 仮想ネットワーク・インターフェースを持つインスタンスおよびベア・メタル・サーバーの場合、IP スプーフィングまたは無効化インフラストラクチャー NAT を許可するオプションの IAM 許可は、接続されている仮想ネットワーク・インターフェース上で管理されます。 仮想ネットワーク・インターフェースを 作成 または 更新 する際に、 allow_ip_spoofing プロパティーと enable_infrastructure_nat プロパティーのデフォルト以外の値を設定できるのは、それぞれ is.virtual-network-interface.virtual-network-interface.manage-ip-spoofingis.virtual-network-interface.virtual-network-interface.manage-infrastructure-nat の IAM の権限を持っている場合のみです。
  • フロー・ログ・コレクター を使用して、インスタンス・ネットワーク接続および仮想ネットワーク・インターフェースをターゲットにすることができます。 ベア・メタル・サーバーおよび共有マウント・ターゲットのフロー・ログはサポートされていません。

この変更を行った理由は何ですか?

仮想ネットワーク・インターフェースは、ネットワーク・ポリシーを 1 つのリソースに統合するためのメカニズムを提供します。このメカニズムは、接続先のリソースに依存しないライフサイクルとともに保持および再利用することができます。 ネットワーク固有の IAM 権限は、コンピュート IAM 権限とは別に管理されます。 新しいネットワーク機能がリリースされると、それらは仮想ネットワーク・インターフェースを介して使用可能になり、仮想ネットワーク・インターフェースが接続できるすべてのリソースを新しいネットワーク機能がサポートできるようになります。

この変更の影響は何ですか?

この機能へのアクセスを延期していない限り、インスタンス、ベアメタル・サーバー、ネットワーク・インターフェース、またはファイル共有と対話する API クライアント (カスタム自動化、監査スクリプト、ダッシュボードなど) がある場合、ご使用のアカウントはこの変更の影響を受けます。

これらの操作により、API クライアントおよびワークフローが失敗する可能性があります。

障害を回避するために、どのようなアクションを実行できますか?

このセクションで説明する動作の変更は、アカウントがこの機能へのアクセスを延期していない場合に、コードに影響を与える可能性がある危険のタイプを表します。 アカウント内の誰かが、自動化を中断する可能性のある操作の実行を開始する可能性があります。

これらの変更を、作成したクライアント自動化と比較します。 このガイダンスを使用して、自動化の設計を更新およびテストすることで、API クライアントおよびワークフローの障害につながる可能性がある動作の変更を軽減します。

仮想ネットワーク・インターフェースの修復

ネットワーク接続と呼ばれる新しい子リソースに接続された仮想ネットワーク・インターフェースを使用して、インスタンスおよびベア・メタル・サーバーを作成できます。 仮想ネットワーク・インターフェースには、接続先のリソースに依存しないライフサイクルがあり、ネットワーク固有の IAM アクションは仮想ネットワーク・インターフェースで管理されます。

振る舞いの変更 1

ネットワーク接続を使用して作成されたインスタンスまたはベア・メタル・サーバーの場合、インスタンスまたはベア・メタル・サーバーのネットワーク・インターフェースの子リソースは、そのネットワーク接続 (およびその関連仮想ネットワーク・インターフェース) の 読み取り専用表記 です。

考えられる失敗: これらの読み取り専用リソースを更新しようとするクライアントは失敗します。

緩和: インスタンスおよびベア・メタル・サーバーの network_interfaces 子リソースを取得して更新するクライアント・コードを確認します。 必要に応じてコードを更新し、インスタンスまたはベア・メタル・サーバーに primary_network_attachment プロパティーが存在するかどうかを確認します。 代わりに network_attachments 子リソースとその関連仮想ネットワーク・インターフェースを更新するように、クライアント・ロジックを変更してください。

振る舞いの変更 2

仮想ネットワーク・インターフェースには、接続先のリソースに依存しないライフサイクルがあります。 auto_deletefalse に設定された仮想ネットワーク・インターフェースは、そのターゲットが削除された後も持続し、仮想ネットワーク・インターフェースにバインドされた予約済み IP はバインドされたままになります。 その後、仮想ネットワーク・インターフェースを別のリソースに接続することができます。

考えられる失敗: インスタンスを削除してから、削除されたインスタンスからの予約済み IP を再利用する新規インスタンスを作成するワークフローが失敗する可能性があります。 削除されたインスタンスを存続させていた仮想ネットワーク・インターフェースにまだバインドされているため、解放されなかった予約済み IP を再使用しようとすると、障害が発生します。

緩和: インスタンスおよびベア・メタル・サーバーによって使用される予約済み IP が network_interfaces 子リソースにバインドされ、インスタンスまたはベア・メタル・サーバーの削除直後に常にアンバインドされるという前提がないか、クライアント・コードを確認します。 以下のいずれかを実行するようにクライアントを変更します。

  • 削除する前に、インスタンスまたはベア・メタル・サーバーの network_attachments に関連付けられている仮想ネットワーク・インターフェースで、 auto_delete プロパティーを true に設定します。
  • 予約済み IP が再使用される前に、すべての仮想ネットワーク・インターフェースを個別に削除します。
  • 仮想ネットワーク・インターフェースを再利用します。これにより、 primary_ip、任意の 2 次 ips、任意の security_groups など、仮想ネットワーク・インターフェースのすべての属性が再利用されます。
振る舞いの変更 3

仮想ネットワーク・インターフェースを持つインスタンスおよびベア・メタル・サーバーの場合、IP スプーフィングを許可するオプション、またはインフラストラクチャー NAT を無効にするオプションの IAM 許可は、関連する仮想ネットワーク・インターフェース上で管理されます。

考えられる失敗: IP スプーフィングを許可するため、またはインフラストラクチャー NAT を無効にするために子ネットワーク・インターフェースのプロパティーを更新するクライアントおよびワークフローは、ネットワーク接続を使用してインスタンスまたはベア・メタル・サーバーが作成されたときに失敗します。

緩和: network_interfaces 子リソースの allow_ip_spoofing プロパティーまたは enable_infrastructure_nat プロパティーを更新するクライアント・コードを確認します。 コードを更新して、 network_interfaces 子リソースが読み取り専用であることを示す primary_network_attachment プロパティーが存在するかどうかを確認します。 クライアント・ロジックを更新して、インスタンスまたはベアメタル・サーバーの network_attachments に関連付けられている仮想ネットワーク・インターフェース上の allow_ip_spoofing または enable_infrastructure_nat プロパティーを必要に応じて更新します。

IP アドレスの修復

行動変化

仮想ネットワーク・インターフェースは、2 次 IP アドレスをサポートします。

考えられる失敗: network_interfaces 子リソース上の primary_ip.address を取得してインスタンスの IP アドレスを列挙しようとするクライアントは、 network_interfacesnetwork_attachments および関連する仮想ネットワーク・インターフェースの後方互換表現である場合、2 次 IP アドレスを見逃します。

緩和: インスタンスおよびベア・メタル・サーバーの IP アドレスを列挙または監査するクライアント・コードを確認します。 クライアント・コードを更新して、 primary_network_attachment プロパティーが存在するかどうかを確認します。このプロパティーは、インスタンスまたはベア・メタル・サーバーに、関連付けられた仮想ネットワーク・インターフェースを持つ network_attachments があることを示します。 クライアント・ロジックを更新して、代わりに、各関連仮想ネットワーク・インターフェース上の ips 配列のすべての address プロパティーを取得します。

フロー・ログ・コレクターの修復

行動変化

フロー・ログ・コレクターは、インスタンス・ネットワーク接続および仮想ネットワーク・インターフェースをターゲットにすることができます。 インターフェースがインスタンス・ネットワーク接続にバインドされており、収集されたフロー・ログの Cloud Object Storage(COS)命名規則vnic-id フィールドにインスタンス・ネットワーク接続 ID が指定されている場合、仮想ネットワーク・インターフェースのフロー・ログが収集されます。 仮想ネットワーク・インターフェースは、その存続期間中に複数のインスタンスに接続することができます。

可能性のある障害 IBM Cloud® Object Storage バケットから収集されたフローログを分析するツール、監査、またはトラブルシューティング手順は、仮想ネットワークインターフェースとログの関連付けに失敗する可能性があります。

緩和: フロー・ログ・コレクターを作成し、フロー・ログを分析するツール、監査、またはトラブルシューティングの手順を確認して更新します。 フロー・ログ・コレクターを使用する仮想ネットワーク・インターフェースをターゲットにする場合は、フロー・ログを分析する手順で、仮想ネットワーク・インターフェースの存続期間中にコレクターが複数のインスタンスのフロー・ログを収集する可能性があることを考慮してください。 インスタンスの ID は、 フロー・ログの Object Storage バケット の名前の instance-id セクションにあります。 そのため、仮想ネットワーク・インターフェースを新規インスタンスに関連付けることによって仮想ネットワーク・インターフェースの target が更新されると、新しいフロー・ログ Object Storage バケットが作成されます。

アクティビティ追跡イベントの修復

行動変化

仮想ネットワーク・インターフェイスのサポートが拡張され、多くの新しい アクティビティ・トラッキング・イベントが 追加されました:

_想定される不具合_新しいアクティビティ追跡イベント用に更新されていないクライアントツールや監査プロセスは、不完全なイベントシーケンスを報告します。

_緩和策_アクティビティ追跡イベントを消費するツーリングを見直し、新しいイベントを含めるように必要に応じてツーリングを更新する。 ネットワーク添付ファイルの 読み取り専用表現では、アクティビティ追跡イベントは生成されないことを考慮してください。

インスタンス・テンプレートの修復

振る舞いの変更 1

インスタンス・テンプレートは、古いスタイルの network_interfaces 子リソースを持つインスタンス、または network_attachments 子リソースと関連仮想ネットワーク・インターフェースを持つインスタンスのいずれかになります。 インスタンス・テンプレートからインスタンスを作成する場合、ネットワーク・インターフェースまたは接続タイプは、ソース・テンプレートのものと一致する必要があります。

考えられる失敗: インスタンス・テンプレートからインスタンスを作成し、 primary_network_interface プロパティーまたは network_interfaces プロパティーをオーバーライドするクライアントおよびワークフローは、そのテンプレートが primary_network_attachment または network_attachments のインスタンス用であった場合、失敗します。

緩和: テンプレートからインスタンスを作成する前に、インスタンス・テンプレートを取得し、そのテンプレートに primary_network_interface プロパティーと network_interfaces プロパティー、または primary_network_attachment プロパティーと network_attachments プロパティーがあるかどうかを判別します。 テンプレートからインスタンスを作成する場合、必要に応じて、インスタンス・プロパティーをテンプレートのプロパティーと突き合わせます。

振る舞いの変更 2

インスタンス・テンプレートは、古いスタイルの network_interfaces 子リソースを持つインスタンス、または network_attachments 子リソースと関連仮想ネットワーク・インターフェースを持つインスタンスのいずれかになります。 インスタンス・テンプレートからインスタンス・テンプレートを作成する場合は、ネットワーク・インターフェースまたは接続タイプがソース・テンプレートのものと一致している必要があります。

考えられる失敗: 別のインスタンス・テンプレートからインスタンス・テンプレートを作成し、 primary_network_interface プロパティーまたは network_interfaces プロパティーをオーバーライドするクライアントおよびワークフローは、ソース・テンプレートが primary_network_attachment および network_attachments のインスタンス用であった場合、失敗します。

緩和: ソース・テンプレートからインスタンス・テンプレートを作成する前に、ソース・テンプレートを取得して、ソース・テンプレートに primary_network_interface プロパティーと network_interfaces プロパティー、または primary_network_attachment プロパティーと network_attachments プロパティーがあるかどうかを判別します。 ソース・テンプレートから新規テンプレートを作成する場合、必要に応じて、新規テンプレート・プロパティーをソース・テンプレートのプロパティーと一致させます。

注: 以下のいずれかが当てはまる場合、これらのテンプレートの動作の変更によって影響を受けます。

  • API クライアントまたはアカウント内のユーザーが、ネットワーク接続を持つテンプレートを作成し、クライアントがその新規テンプレートを使用して、ネットワーク・インターフェースを持つインスタンスまたはテンプレートを作成しようとします。
  • クライアントは、ネットワーク・インターフェースを持つテンプレートを使用して、ネットワーク接続を持つインスタンスまたはテンプレートを作成しようとします。

ファイル共有の修復

行動変化

ファイル共有マウント・ターゲットに接続された仮想ネットワーク・インターフェースの auto_delete プロパティーが false に設定されている可能性があります。 このような仮想ネットワーク・インターフェースに関連付けられているファイル共有マウント・ターゲットが削除されても、仮想ネットワーク・インターフェースは自動的には削除されません。 その後、仮想ネットワーク・インターフェースを別のリソース (別のファイル共有マウント・ターゲットなど) に再利用することができます。

考えられる失敗: ファイル共有マウント・ターゲットを削除してからサブネットを削除するワークフローが失敗する可能性があります。 障害が発生するのは、自動的に削除されなかった仮想ネットワーク・インターフェースがサブネットに含まれている場合です。

緩和: クライアント・コードを調べて、 auto_delete が常に true であると仮定しているかどうかを確認し、必要に応じてクライアントの削除ロジックを更新して、共有マウント・ターゲットに関連付けられている virtual_network_interface を検索します。 次に、以下の操作のいずれかを選択してください:

  • 共有マウント・ターゲットを削除する前に、仮想ネットワーク・インターフェースの auto_delete プロパティーを true に設定してください。
  • フォローアップ・ステップでの仮想ネットワーク・インターフェースの削除
  • 後で新しい共有マウント・ターゲットで再利用できるように仮想ネットワーク・インターフェースを保持する