重要: 仮想ネットワーク・インターフェース、インスタンス、ベアメタル・サーバー、およびファイル共有に対する動作の変更を軽減
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-spoofingとis.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_deleteがfalseに設定された仮想ネットワーク・インターフェースは、そのターゲットが削除された後も持続し、仮想ネットワーク・インターフェースにバインドされた予約済み 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_interfacesがnetwork_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 クライアントまたはアカウント内のユーザーが、ネットワーク接続を持つテンプレートを作成し、クライアントがその新規テンプレートを使用して、ネットワーク・インターフェースを持つインスタンスまたはテンプレートを作成しようとします。
- クライアントは、ネットワーク・インターフェースを持つテンプレートを使用して、ネットワーク接続を持つインスタンスまたはテンプレートを作成しようとします。