IBM Cloud Docs
仮想サーバー・インスタンスの作成

仮想サーバー・インスタンスの作成

IBM Cloud コンソール、CLI、API、または Terraform を使用して、 IBM Cloud VPC に 1 つ以上の仮想サーバーインスタンスを作成できます。

仮想サーバーの作成時に、仮想サーバーの場所や名前などの情報を指定します。 オペレーティング・システム・イメージ、 vCPU と RAM の組み合わせを定義するプロファイル、および仮想サーバーに安全に接続するための SSH キーを指定します。 ブートボリュームに加えてデータボリュームを追加することができます。 仮想サーバー用に作成されるネットワークインターフェイスのタイプも指定できます。 最後に、仮想サーバー設定の詳細オプションを選択できます。

コンソールでの仮想サーバーインスタンスの作成

以下の手順を使用して、仮想サーバー・インスタンスを作成します。

  1. IBM Cloud コンソールでNavigation menu icon menu icon > Infrastructure VPC icon > Compute > Virtual server instances をクリックします。

  2. 表1の情報を入力して 「作成 」をクリックします。

    インスタンスのプロビジョニングを開始するための選択
    フィールド
    ロケーション ロケーションは、リージョン (特定の地理的エリア) とゾーン (リージョン内のフォールト・トレラント・データ・センター) で構成されます。 仮想サーバー・インスタンスを作成する場所を選択します。
    名前 仮想サーバー・インスタンスには、名前が必要です。
    リソース・グループ インスタンスのリソース・グループを選択します。
    タグ リソース・リストでインスタンス・リソースを簡単にフィルタリングできるように、インスタンスにユーザー・タグを割り当てることができます。 詳しくは、『タグの処理』を参照してください。
    アクセス管理タグ アクセス管理タグを使用すると、特定のリソースに柔軟なアクセス・ポリシーを適用できます。 詳細については、 「タグ UI を使用してリソースへのアクセスを制御する」 チュートリアルを参照してください。
  3. インスタンスのイメージとプロファイルを選択する。 利用可能なすべての画像から選択するには、 画像の変更をクリックします。 イメージ、ブート・ボリュームのスナップショット、または既存のブート・ボリュームを選択できます。 プロビジョニングするインスタンスの地理的位置が対応している場合、アーキテクチャとして s390x または x86 のいずれかを選択できます。 表2に、イメージ、スナップショット、および既存ボリュームのオプションについて説明します。 次に、プロファイルを選択します。 利用可能な vCPU すべてのプロファイルとRAMの組み合わせから選択するには、 「プロファイルの変更」 をクリックしてください。 表3はプロファイル選択について説明する。

    使用許可式:選択したイメージによって、仮想サーバーインスタンスの作成に使用できるプロファイルが決まります。 allowed-use式を使用するイメージで仮想サーバーインスタンスを作成する際、allowed-useプロパティで提供される情報は、仮想サーバーインスタンスの候補に対して評価され、そのイメージを使用して仮想サーバーインスタンスを作成できるかどうかが判断されます。 ストックイメージは、使用可能な表現が定義されています。 カスタム画像に使用許可表現を定義する必要があります。 詳しくは、 カスタム画像への使用許可表現の追加を 参照してください。

    インスタンス・プロビジョニング・イメージ、スナップショット、ボリュームの選択
    フィールド
    ストック・イメージ

    利用可能なストックイメージから選択し、 保存をクリックします。

    • 利用可能なストックイメージの詳細については、 x86 仮想サーバーイメージ および s390x 仮想サーバー イメージを参照してください。 すべてのオペレーティング・システム・イメージはcloud-initを使用しており、これを使用して、ポスト・プロビジョニング・スクリプト用にインスタンスに関連付けられたユーザー・メタデータを入力できます。 メタデータは IBM Cloud® Hyper Protect Virtual Server IBM Cloud® Virtual Private Cloud インスタンスおよび z/OS 仮想サーバーインスタンスではサポートされません。
    • Windows オペレーティングシステムを SQL Server で使用する予定の場合は、「 VPC 上の Microsoft SQL について 」を参照してください。
    カスタム・イメージ

    利用可能なカスタム画像から選択し、[ 保存] をクリックします。 カスタム画像がない場合は、「 作成 」をクリックします。

    • カスタム画像は、自分でカスタマイズして IBM Cloud Object Storage にアップロードした画像を IBM Cloud VPC にインポートすることができます。 カスタムイメージの詳細については、 カスタムイメージを使い始めるを 参照してください。
    • ブートボリュームから作成したカスタムイメージを使用することもできます。 ボリュームからのイメージ作成についての詳細は、 ボリュームからのイメージ作成についてを 参照してください。
    • また、RHEL または Windows のカスタム・イメージを選択し、自分のライセンスを持ち込む(BYOL)こともできます。 BYOLカスタムイメージの作成についての詳細は、 Bring your own licenseを ご覧ください。
    カタログ・イメージ

    利用可能なカタログ・イメージを選択したら、「 バージョンと料金プランの選択 」をクリックし、バージョンと料金プランを選択して、「 保存 」をクリックします。

    スナップショット

    既存のスナップショットをインポートする ]または[ CRNでスナップショットをインポートする]のいずれかを選択します。 次に、ブートボリュームのスナップショットを選択し、 [保存]をクリックします。 利用可能なスナップショットがない場合は、[ 作成 ]をクリックします。

    • 高速リストア 用のスナップショットのリストをフィルタリングします。 このオプションを使用すると、リージョンの異なるゾーンにキャッシュされたスナップショットを使用して、ブートボリュームをすばやく作成できます。 スナップショットからのボリュームの復元の詳細については、「 スナップショットからのボリュームの復元 」を参照してください。
    • 別のアカウントスナップショットのCRNを使用する場合は、適切な IAM権限が 付与されていることを確認してください。
    既存のボリューム インスタンスにアタッチされていない既存のブートボリュームを選択し、[ Save] をクリックします。
    プロフィール選択
    フィールド
    プロフィール プロファイル・ファミリーは、バランス、コンピュート、メモリー、ベリー・ハイ・メモリー、ウルトラ・ハイ・メモリー、GPU、ストレージ最適化、コンフィデンシャル・コンピューティング、フレックスである。 詳細については、 x86-64 インスタンス・プロファイルを 参照してください。 IBM Cloud® Virtual Private Cloud インスタンスの IBM Cloud Hyper Protect Virtual Servers を作成する際、安全な実行が可能なプロファイルを選択していることを確認してください。そうでない場合、プロビジョニングに失敗します。 詳細については、 s390x インスタンス・プロファイルを 参照してください。

    仮想サーバーのネットワークインターフェースの数がプロファイルの制限を超えるため、一部のプロファイルが使用できない場合があります。 より多くのプロファイルから選択するために、ネットワーク・インターフェイスを削除することができます。 詳細については、 仮想サーバーのサイズ変更を 参照してください。

    選択した画像に、そのプロファイルと互換性のない使用許可表現が含まれているため、一部のプロファイルが使用できない場合があります。 このような場合は、希望するプロファイルに適合する使用許可表現を持つ画像を選択してください。 詳しくは、 カスタム画像への使用許可表現の追加を 参照してください。

    スポット・インスタンス可用性を選択 スポット・インスタンスは、スタンダード・インスタンスを大幅に割引したものです。 中断可能な、あるいはステートレスなワークロードのために、利用可能なコンピュートリソースを使用するように設計されている。
    インスタンスをスポットインスタンスに変換するには、サポートされているプロファイルを選択し、 Deployment configururationsの Convert to spot instance toggleをクリックします。
    高度なセキュリティ選択
    セキュア・ブート トグルをクリックしてセキュアブートを有効にする。 セキュアブートは、互換性のあるインスタンスプロファイルでのみ利用可能です。 sdp ボリュームプロファイルを持つ第2世代のブートボリュームは、まだセキュアブートをサポートしていません。 セキュアブートの詳細については、 Virtual Servers for VPC のセキュアブートを 参照してください。
    機密[コンピュー] ティング選択可能な可用性 インテル® ソフトウェア・ガード・エクステンション(SGX)による機密コンピューティングとインテル® トラステッド・ドメイン・エクステンション(TDX)による機密コンピューティングは、ハードウェアベースのサーバー・セキュリティによってデータを保護します。 データは、暗号化されたエンクレーブとして知られる隔離されたメモリ領域を使用することで保護されます。 SGXとTDXの両方が、互換性のあるプロファイルでのみ利用できる。 コンフィデンシャル・コンピューティングの詳細については、 コンフィデンシャル・コンピューティング for x86 Virtual Servers for VPC を参照してください。

    セキュアブートと機密コンピューティングは、一部のバランスド・プロファイルとコンピュート・プロファイルで利用可能です。 詳細については、「 SGX 互換プロファイル 」を参照してください。

  4. 表4の情報を指定して、SSHキー、ストレージ、ネットワークの詳細を完成させる。

    インスタンスのプロビジョニングを完了するための選択
    フィールド
    SSH 鍵 既存の公開 SSH キーを選択するか、 「SSH キーの作成」をクリックして SSH キー を作成する必要があります。 SSHキーの作成についての詳細は、 UIを使用してSSHキーを作成するを 参照してください。 SSH 鍵は、実行中になったインスタンスにセキュアに接続するために使用されます。
    注: 英数字の組み合わせは 100 文字に制限されています。 SSH 鍵は RSA か Ed25519 のどちらかである。 作成できるのはRSA SSH鍵だけです。 ED25519 SSH鍵の場合、鍵情報をアップロードする必要があります。 Ed25519 は、オペレーティング・システムがこの鍵タイプをサポートしている場合にのみ使用できます。 ED25519 Windowsや VMware の画像では使用できません。
    詳細については、「 SSHキーの開始方法」 トピックを参照してください。
    ブート・ボリューム ほとんどのプロファイルのデフォルトのブート・ボリューム・サイズは100GBです。 仮想 z/OS サーバーインスタンスのデフォルトのブートボリュームサイズは245 GBです。 カスタムイメージをインポートする場合、ブートボリュームの容量はイメージの要求に応じて10~250GBになります。 10 GB より小さいイメージは、10 GB に切り上げられます。 サイドパネルでブートボリュームの属性を変更するには、 編集アイコン Edit icon をクリックします。

    ユニークで意味のある名前を指定して、ブート・ボリュームの名前を変更することができます。 例えば、コンピュートまたはワークロード機能を説明する名前とすることができる。 ボリューム名は小文字で始まる必要があります。 名前は最大63文字の小文字の英数字で、ハイフン(-)を含めることができます。ボリューム名はVPCインフラストラクチャ全体で一意でなければなりません。 必要であれば、後で名前を編集することもできる。

    ブートボリュームの自動削除オプションをオフに切り替えることができます。 有効にすると、インスタンスの削除時にボリュームが削除される。 無効にすると、インスタンスが削除された後もボリュームは存続する。

    このボリュームに関連付けるオプションのユーザータグとアクセス管理タグを指定できます。 ユーザータグを使ったリソースの整理の詳細については、 タグを使った作業を 参照してください。

    暗号化タイプを選択できます。 プロバイダー管理による暗号化は、すべてのボリュームでデフォルトで有効になっている。 また、独自のルート鍵で暗号化を作成することもできます。 暗号化キーは、キー管理サービス( Key Protect または Hyper Protect Crypto Services )で作成および管理されます。

    容量、IOPS、帯域幅のニーズに最適な ストレージプロファイルを 選択できます。
    注: sdp ボリュームプロファイルを持つ第二世代ブートボリュームは、まだセキュアブートをサポートしていません。 セキュアブートが必要な場合は、プロファイル tiered のいずれかまたはプロファイル custom を選択してください。

    データ・ボリューム インスタンスのプロビジョニング時にアタッチする1つまたは複数のセカンダリ・データ・ボリュームを作成できます。 データボリュームセクションの[ 作成]をクリックすると、ボリュームを定義するサイドパネルが開きます。

    ユニークで意味のある名前を指定する。 ブートボリュームと同じ仕様が適用される。

    データボリュームの自動削除オプションをオンに切り替えることができます。 有効にすると、インスタンスの削除時にボリュームが削除される。 無効にすると、インスタンスが削除された後もボリュームは存続する。

    このボリュームに関連付けるオプションのユーザータグとアクセス管理タグを指定できます。 ユーザータグを使ったリソースの整理の詳細については、 タグを使った作業を 参照してください。

    暗号化タイプを選択できます。 プロバイダー管理による暗号化は、すべてのボリュームでデフォルトで有効になっている。 また、鍵管理サービス(Key Management Services)で作成・管理される独自のルート鍵でエンベロープ暗号化を作成することもできる。

    容量とIOPSのニーズに最適な ストレージプロファイルを 選択できます。 詳細については、 インスタンスの作成時に Block Storage ボリュームを作成してアタッチするを 参照してください。

    Virtual Private Cloud インスタンスを作成する IBM Cloud VPC を指定します。 デフォルトのVPC、既存のVPC、またはVPCを作成することができます。 VPCを作成するには、「 New VPC 」をクリックします。
    クラスタネットワークに追加 H100 GPUプロファイル、 gx3d-160x1792x8h100 を選択すると、 クラスタ・ネットワークに追加するオプションが表示されます。 クラスタネットワークへの追加] をオンに設定すると、仮想サーバーがリモートダイレクトメモリアクセス (RDMA) をサポートする高性能ネットワークにアクセスできるようになります。 クラスタネットワークへの追加 ] がオンに設定され、クラスタネットワークが利用可能な場合、 IBM Cloud コンソールには、クラスタネットワーク用の仮想サーバーを設定するためのデフォルトの選択項目が含まれます。 クラスタ・ネットワークがない場合は、 クラスタ・ネットワークの作成をクリックします。 クラスタネットワークを選択すると、クラスタネットワークがプロビジョニングされているVPCのみが仮想プライベートクラウドのドロップダウンメニューに表示されます。 詳細については、 クラスタ・ネットワークについてを 参照してください。
    ネットワーク・インターフェース デフォルトでは、仮想サーバー・インスタンスは、単一の 1 次ネットワーク・インターフェースを使用して作成されます。 編集] アイコン をクリックすると、インターフェイスに関連付けられているサブネットやセキュリティーグループなど、ネットワークインターフェイスの詳細を編集できます。 追加のセカンダリ・ネットワーク・インターフェースを含めるには、 Createをクリックします。 イ ン ス タ ン ス ・ プ ロ フ ァ イ ルに含まれてい る vCPU の数に応じて、 仮想サーバ ・ インスタンスに最大15 のネットワーク ・ イ ン タ ーフ ェ イ ス を作成 し て割 り 当て る こ と がで き ます。 詳しくは、 ネットワークインターフェースについてを 参照。

    仮想ネットワークインターフェイス機能では、使用するネットワークインターフェイスのタイプを選択できます。 仮想ネットワークインターフェイスを持つネットワークアタッチメントという新しいオプションか、従来のインスタンスネットワークインターフェイスというオプションを選択できます。 仮想サーバーのプロビジョニング時に選択したネットワークインターフェイスオプションのタイプは、仮想サーバーのライフサイクルを通じて保持されます。 Attach をクリックすると、既存の仮想ネットワーク・インターフェースにネットワーク・アタッチメントを作成できます。 詳しくは、 仮想ネットワークインターフェースについてを 参照。

  5. 詳細オプションでは、より多くのインスタンス設定を完了することを選択できます。

    インスタンス・プロビジョニングの詳細オプションの選択
    フィールド
    ユーザー・データ 一般的な構成タスクを自動的に実行するユーザー・データや、スクリプトを実行するユーザー・データを追加することができます。 詳しくは、ユーザー・データを参照してください。 IBM Cloud® Hyper Protect Virtual Server for IBM Cloud® Virtual Private Cloud インスタンスを作成する際にコントラクトを使用してユーザーデータを指定する方法の詳細については、 コントラクトについてを 参照してください。 ユーザーデータは、 z/OS 仮想サーバーインスタンスではサポートされません。
    メタデータ デフォルトでは無効です。 トグルをクリックして有効にします。 この設定は、インスタンス構成情報およびユーザー・データを収集するようにインスタンスに通知します。 詳細については、 VPCのメタデータについてを 参照してください。 IBM Cloud® Hyper Protect Virtual Server IBM Cloud® Virtual Private Cloud インスタンスおよび z/OS 仮想サーバーインスタンスでは、メタデータはサポートされません。
    信頼できるプロファイル(オプション) メタデータ・サービスを有効にすると、信頼できるプロファイルを選択してこのインスタンスにリンクできます。 **「トラステッド・プロファイルの選択」をクリックします。 サイド・パネルでトラステッド・プロファイルを選択し、「トラステッド・プロファイルの選択」**をクリックして、それをインスタンスにリンクします。 存在しない場合、またはリンクするためのアクセス権限がない場合は、メッセージが表示されます。 詳細については、 信頼済みプロファイルの作成を 参照してください。 アクセス権の取得の詳細については、 信頼されたプロファイルをリンクするための IAM 権限を 参照してください。
    専用ホストに追加 この選択はデフォルトでは無効になっている。 仮想サーバーインスタンスをシングルテナント領域に作成するには、トグルをクリックして専用ホストを有効にします。 専用インスタンスをプロビジョンするには、専用ホストを使用可能にしておくか、作成する必要があります。
    配置グループに追加 プレースメント・グループはデフォルトでは無効になっている。 配置グループを有効にするには、トグルをクリックします。 次に、インスタンスの配置グループを選択または作成します。 配置グループを追加すると、インスタンスは配置グループのポリシーに従って配置されます。 詳しくは、配置グループについてを参照してください。
    動的ボリューム帯域幅割り当て 新規 トグルをクリックして、接続されたデータボリュームに対する プールされたボ リューム帯域幅割り当てを 有効にします。 この機能は、一部の コンピュートプロファイルで サポートされています。
    予約に追加する アクティブな予約がある場合は、トグルをクリックして仮想サーバーインスタンスをその予約に追加します。 詳しくは、 VPCの予約についてを ご覧ください。
    ホスト障害時の自動再始動 この設定は、デフォルトで有効になっています。 ホスト障害の自動再起動を無効にするには、トグルをクリックします。 詳細については、 ホスト障害回復 ポリシーを参照してください
    クラウド・セキュリティー体制管理 このオプションを選択すると、すべてのリソースに CSPM を提供する構成でワークロード保護インスタンスが作成されます。 ワークロード保護インスタンスが存在する場合、このオプションは使用できません。 詳しくは、 IBM Cloud Security Posture Management (CSPM)についてを 参照。
  6. プロビジョニングの準備ができたら、 仮想サーバーインスタンスの作成をクリックします。

コンソールでインスタンスが作成された後の次のステップ

インスタンスが作成されたら、浮動 IP アドレスをインスタンスに関連付けるを行う必要があります。 その後、インスタンスに接続できます。 詳細については、 Linux インスタンスへの接続Windows インスタンスへの接続、または z/OS インスタンスへの接続を 参照してください。

浮動 IP アドレスを持つ既存のインスタンスがある場合は、別のインスタンスに 2 つ目の浮動 IP を割り当てる必要はありません。 最初のインスタンスにフローティングIP接続し、2番目のインスタンスに自動的に割り当てられるプライベート・サブネットIPアドレスを使用してSSH接続することができます。

CLIからの仮想サーバーインスタンスの作成

コマンド・ライン・インターフェース (CLI) を使用してインスタンスを作成できます。 ユーザータグやアクセス管理タグを使ってリソースを管理したい場合は、 タグを使った作業を 参照してください。

IBM Cloud CLI は、LinuxONE (s390x プロセッサー・アーキテクチャー) ではサポートされていません。 ただし、サポートされている他のプラットフォームに CLI をインストールし、それを LinuxONE (s390x プロセッサー・アーキテクチャー) 仮想サーバー・インスタンスで使用することはできます。

開始前に

CLIからインスタンスを作成するための情報収集

インスタンスを作成する準備ができましたか? ibmcloud is instance-create コマンドを実行する前に、使用したいプロファイルやイメージなど、インスタンスの詳細を知っておく必要があります。

関連するコマンドを使用して、以下の情報を収集する。

必要なインスタンスの詳細
インスタンスの詳細 リスト・オプション VPC CLIリファレンス・ドキュメント
画像 ibmcloud is image すべてのイメージをリスト表示する
ブート・ボリューム ibmcloud is volumes すべてのボリュームをリストします
プロフィール ibmcloud is instances すべての仮想サーバー・インスタンスをリストします
プロフィール ibmcloud is image-instance-profiles 画像と互換性のあるインスタンスプロファイルのリスト
プロフィール ibmcloud is volume-instance-profiles ボリュームと互換性のあるインスタンスのプロファイルをリストします。
プロフィール ibmcloud is snapshot-instance-profiles スナップショットと互換性のあるインスタンスプロファイルを一覧表示します。
ibmcloud is keys List all keys

利用可能なSSH鍵がない場合は、 Create a keyを使って 鍵を作成してください。

注: RSAと ED25519、2種類のSSH鍵が使える。 ただし、 ED25519 SSHキー・タイプはWindowsや VMware イメージでは使えない。 これらのイメージには、RSA SSH 鍵のみを使用できます。
詳細については、 SSH鍵を使い始めるを 参照してください。

VPC ibmcloud is vpcs すべての VPC をリストします
サブネット ibmcloud is subnets すべてのサブネットをリストします
ゾーン ibmcloud is zones すべてのリージョンをリストします
配置グループ ibmcloud is placement-groups すべての配置グループをリストします

以下のコマンドを使用して、新しいインスタンスを作成するのに必要な情報を判別します。

1. アカウント関連する地域をリストアップする

ご使用のアカウントに関連付けられているリージョンをリストします。

ibmcloud is regions

以下の例を参照してください。

$ ibmcloud is regions
Listing regions under account Test Account as user test.user@ibm.com...
Name       Endpoint                              Status
au-syd     https://au-syd.iaas.cloud.ibm.com     available
br-sao     https://br-sao.iaas.cloud.ibm.com     available
ca-tor     https://ca-tor.iaas.cloud.ibm.com     available
eu-de      https://eu-de.iaas.cloud.ibm.com      available
eu-es      https://eu-es.iaas.cloud.ibm.com      available
eu-gb      https://eu-gb.iaas.cloud.ibm.com      available
jp-osa     https://jp-osa.iaas.cloud.ibm.com     available
jp-tok     https://jp-tok.iaas.cloud.ibm.com     available
us-east    https://us-east.iaas.cloud.ibm.com    available
us-south   https://us-south.iaas.cloud.ibm.com   available

2.目標地域に切り替える

目標地域に切り替える。

ibmcloud target -r <region-name>

3.対象地域に関連するゾーンをリストアップ

対象地域に関連するゾーンをリストアップする。

ibmcloud is zones

以下の例では、このコマンドは us-south リージョンで実行され、出力はリージョン内の利用可能なゾーンを示している。

$ ibmcloud is zones
Listing zones in target region us-south under account Test Account as user test.user@ibm.com...
Name         Region     Status
us-south-1   us-south   available
us-south-2   us-south   available
us-south-3   us-south   available

4. アカウント関連する IBM Cloud VPC のリスト

ご使用のアカウントに関連付けられている IBM Cloud VPC をリストします。

ibmcloud is vpcs

この例では、以下の出力のような応答が表示されます。

ID                                        Name       Status     Classic access   Default network ACL              Default security group        Resource group
r006-35b9cf35-616e-462e-a145-cf8db4062fcf my-vpc     available  false            immortality-casing-extoll-exit   enhance-corsage-managing-jinx Default

利用可能なVPCがない場合は、次のコマンドを使用してVPCを作成できます。 ibmcloud is vpc-create コマンドを使用して作成できます。 VPCの作成に関する詳細については、 ibmcloud のvpc-createを参照してください。

5.に関連するサブネットをリストアップする。 IBM Cloud VPC

IBM Cloud VPC に関連付けられているサブネットをリストします。

ibmcloud is subnets

この例では、以下の出力のような応答が表示されます。

ID                                          Name            Status      Subnet CIDR      Addresses   ACL                              Public Gateway   VPC
Zone         Resource group
0717-198db988-3b9b-4cfa-9dec-0206420d37d0   my-subnet       available   10.240.64.0/28   7/16        immortality-casing-extoll-exit   -               my-vpc
us-south-2   Default

利用可能なサブネットがない場合、サブネットを作成するには ibmcloud is subnet-create コマンドを使って作成できます。 サブネットの作成の詳細については、ibmcloud is subnet-createを 参照してください。

6.利用可能な画像のリスト

IBM Cloud VPC、ストックイメージ、カスタムイメージ、プライベートカタログからアカウント共有されているイメージ、ブートボリューム、スナップショットなど、さまざまなイメージオプションを使用できます。 以下のリンクのいずれかを使用して、インスタンスの作成に利用可能なリソースを一覧表示する方法を確認します。

イメージソースリソースで使用許可式を使用すると、ストックイメージ、カスタムイメージ、プライベートカタログからアカウント共有されているイメージ、ブートボリューム、スナップショットの機能と制限を定義し、サーバー作成時に互換性のあるイメージとプロファイルの組み合わせを見つけるのに役立ちます。 allowed-use式を持つイメージで仮想サーバーインスタンスを作成する際、allowed-useプロパティで提供された情報は、仮想サーバーインスタンスの候補に対して評価されます。 この情報は、仮想サーバー・インスタンスの作成にイメージを使用できるかどうかを判断するために使用されます。 ストック画像には、使用可能な表現がすでに設定されています。 カスタム画像には、それらを定義する必要があります。 詳しくは、 カスタム画像への使用許可表現の追加を 参照してください。

使用しているイメージに応じて、以下のコマンドのいずれかを使用して、プロファイルがイメージ、ボリューム、またはスナップショットと互換性があるかどうかを確認できます。

  • ibmcloud is image-instance-profiles IMAGE
  • ibmcloud is volume-instance-profiles VOLUME
  • ibmcloud is snapshot-instance-profiles SNAPSHOT

コマンド・オプションの完全なリストについては、ibmcloud is imagesを 参照のこと。

非推奨のイメージには、最新のサポートは含まれていません。 詳しくは、 オペレーティング・システムに関するサポート終了を ご覧ください。

利用可能なストック画像またはカスタム画像をすべてリストアップ

利用可能なストック画像、カスタム画像、またはインスタンス作成用のプライベートカタログからアカウント共有されている画像を一覧表示します。 既存のブート・ボリュームからインスタンスを作成する場合は、この手順をスキップします。

利用可能なストック画像またはカスタム画像をすべて一覧表示するには、次のコマンドを実行します。

ibmcloud is images

この例では、以下の出力のような応答が表示されます。

ID                                          Name                               Status       Arch    OS name                   OS version       File size(GB)
Visibility   Encryption   Resource group   Catalog Offering User Data Format   Remote Account ID
r006-24d856e2-6aec-41c2-8f36-5a8a3766f0d6   my-test-image                      available    amd64   centos-7-amd64            7.x - Minimal Install  1             private      none         Default          -                cloud_init
r006-9768bb7f-c75d-4408-ba34-61015632f907   ibm-debian-10-13-minimal-amd64-2   available    amd64   debian-10-amd64           10.x Buster/Stable     1             public       none         Default          -                cloud_init       811f8abfbd32425597dc7ba40da98fa6
r006-f83ce520-00b5-40c5-9938-a5c82a273f91   ibm-debian-11-3-minimal-amd64-4    available    amd64   debian-11-amd64           11.x Bullseye/Stable   1             public       none         Default          -                cloud_init       811f8abfbd32425597dc7ba40da98fa6
プライベート・カタログから共有可能なすべての画像をリストアップします

プライベート・カタログから共有されている利用可能な画像をすべて一覧表示するには、以下のコマンドを実行します:

別のアカウント属するカタログ画像を選択する場合は、さらに考慮すべき点や制限事項があります。 参照 CLIでプライベート・カタログ内のアカウントアカウント画像参照を使用する

  • 利用可能なすべてのプライベート・カタログ・イメージを一覧表示するには、以下のコマンドを実行します。

    ibmcloud is catalog-image-offerings
    

    このコマンドは、提供する各画像の識別子と、その画像があるプライベートカタログの識別子を返します。 offering_idcatalog_id を変数に保存し、後でインスタンスのプロビジョニングに使用する。

    offering_id=6bf79f7b-de48-4ce8-8cae-866b376f2889
    catalog_id=71306253-8444-4cae-a45d-64d35e5393ec
    
  • オファーの offering_crn 、オファーの各バージョンの offering_version_crn を取得するには、以下のコマンドを実行する。

    ibmcloud is catalog-image-offering $catalog_id $offering_id
    

インスタンスをプロビジョニングする際には、カタログ製品提供内の最新バージョンにあるプライベートカタログ管理イメージからプロビジョニングするか( offering_crn valueを使用)、カタログ製品提供内の特定のバージョンからプロビジョニングするか( offering_version_crn valueを使用)のいずれかを選択できます。

  Save the `offering_crn` and `offering_version_crn`in variables, which are used later to provision an instance.

  ```sh {: pre}
   offering_crn="crn:v1:bluemix:public:globalcatalog-collection:global:a/a1234567:0b322820-dafd-4b5e-b694-6465da6f008a:offering:136559f6-4588-4af2-8585-f3c625eee09d"
   offering_version_crn="crn:v1:bluemix:public:globalcatalog-collection:global:a/a1234567:0b322820-dafd-4b5e-b694-6465da6f008a:version:136559f6-4588-4af2-8585-f3c625eee09d/8ae92879-e253-4a7c-b09f-8d30af12e518"
   ```
利用可能なブートボリュームをすべてリストアップする

インスタンスを作成するために利用可能なブートボリュームを一覧表示します。 イメージからインスタンスを作成する場合は、この手順をスキップしてください。既存のボリュームからインスタンスを作成するには、以前に選択したインスタンス・オプションと互換性のあるボリュームを使用する必要があります。 互換ボリュームは、プロビジョニングされるインスタンスと同じゾーンにあり、アタッチされておらず、ステップ5で選択されたプロファイルと互換性のあるOSを持つ。 互換ボリュームを確認するには、 volumes サブコマンドを使用する。 例えば、 x64 オペレーティング・システム・アーキテクチャの未接続ボリュームを us-south-1 で確認する:

ibmcloud is volumes --attachment-state unattached --operating-system-architecture amd64 --zone us-south-1

sdp ボリュームプロファイルを持つ第2世代のブートボリュームは、まだセキュアブートをサポートしていません。 セキュアブートが必要な場合は、 general-purpose プロファイルで利用可能なブートボリュームを選択します。

利用可能なスナップショットを一覧表示

オプションで、 ブータブルスナップショットからブートボリュームを作成 し、それをイメージに使用することもできます。 ボリュームのすべてのスナップショットを一覧表示するには、 Block Storage for VPC ボリュームから作成されたすべてのスナップショットを表示するを 参照してください。

別のアカウントスナップショットを使用する予定がある場合は、最初に適切な IAM権限が 付与されていることを確認してください。 次に、スナップショットの所有者にスナップショットのCRNを問い合わせてください。

7.インスタンス作成時に利用可能なプロファイルをリストアップする

インスタンスを作成するために使用できるプロファイルをリストします。

ibmcloud is instance-profiles

この例では、以下の出力のような応答が表示されます。

Name                         vCPU Manufacturer   Architecture   Family              vCPUs   Memory(GiB)   Bandwidth(Mbps)   Volume bandwidth(Mbps)   GPUs          Storage(GB)   Min NIC Count   Max NIC Count
bx2-2x8                      intel               amd64          balanced            2       8             4000              1000                     -      -                    1               5
bx2a-2x8                     amd                 amd64          balanced            2       8             2000              500                      -      -                    1               5
bx2d-2x8                     intel               amd64          balanced            2       8             4000              1000                     -            1x75          1               5
bx2-4x16                     intel               amd64          balanced            4       16            8000              2000                     -      -                    1               5
bx2a-4x16                    amd                 amd64          balanced            4       16            4000              1000                     -      -                    1               5
bx2d-4x16                    intel               amd64          balanced            4       16            8000              2000                     -            1x150         1               5

利用可能なプロファイルの詳細については、 x86 インスタンス・プロファイル および s390x インスタンス・プロファイルを 参照してください。

セキュアな実行が可能なプロファイルが利用できるようになり、プロファイル名の4番目の文字が "e "であることで識別される。 bz2e. 詳しくは、LinuxONE による機密コンピューティングを参照してください。

バランス・ファミリー、コンピュート・ファミリー、およびメモリー・ファミリーでは、セキュア実行対応プロファイルを使用できます。 IBM Hyper Protect Container ランタイム・イメージを使用する場合は、必ずセキュア対応プロファイルを使用してください。 プロファイル検証中にプロファイルが不一致になると、次の例のようなエラーメッセージが表示されます。

FAILED
Response HTTP Status Code: 400
Error code: bad_field
Error message: Image OS IBM Hyper Protect is not supported by the instance profile <profile_name>
Error target name: profile, type: field

8.インスタンスに関連付けることができる利用可能なSSHキーを一覧表示します

インスタンスに関連付けることができる使用可能な SSH 鍵をリストします。

ibmcloud is keys

この例では、以下の出力のような応答が表示されます。

ID                                          Name     Type   Length   FingerPrint          Resource group
r006-89ec781c-9630-4f76-b9c4-a7d204828d61   my-key   rsa    4096     gtnf+pdX2PYI9Ofq..   Default

利用可能なSSHキーがない場合は、ibmcloud is key-create コマンドを使用してSSHキーを作成できます。 詳しくは、SSH 鍵を参照してください。

9.インスタンスに関連付けることができるすべての利用可能な配置グループをリストします。

インスタンスに関連付けることができる使用可能な配置グループをすべてリストします。

ibmcloud is placement-groups

この例では、以下の出力のような応答が表示されます。

ID                                            Name                             State    Strategy       Resource Group
c5f1f366-b92a-4080-991a-aa5c2e33d96b          placement-group-region-us-south   stable   power_spread  Default

CLIからインスタンスを作成する

CLIでインスタンスを作成するには、以下の情報を使用します。

ストック画像またはカスタム画像からの提供

必要な値がわかったら、それを使って ibmcloud is instance-create コマンドを実行する。 また、インスタンスに固有の名前を指定する必要があります。

以下の手順に従い、CLIからストックイメージを使用して基本的な仮想サーバーインスタンスを作成します。 デフォルトでは、インスタンスの作成時にブート・ボリュームがインスタンスにアタッチされる。 ほとんどの仮想サーバーインスタンスでは、デフォルトのブートボリュームサイズは100GBです。 z/OS 仮想サーバーインスタンスのデフォルトのブートボリュームサイズは 250 GB です。

  1. 以下のコマンドを使用して、インスタンスを作成します。

    ibmcloud is instance-create \
        INSTANCE_NAME \
        VPC \
        ZONE_NAME \
        PROFILE_NAME \
        SUBNET \
        --image IMAGE \
        --keys KEYS \
    

    例えば、以下の instance-create コマンドは、 情報収集 セクションにあるサンプル値を使用する。

    ibmcloud is instance-create \
        my-instance \
        r006-35b9cf35-616e-462e-a145-cf8db4062fcf \
        us-south-2 \
        bx2-2x8 \
        0717-198db988-3b9b-4cfa-9dec-0206420d37d0 \
        --image r006-f83ce520-00b5-40c5-9938-a5c82a273f91 \
        --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61 \
    

    以下の引数およびオプション値が使用される

    • INSTANCE_NAME: my-instance
    • VPC: r006-35b9cf35-616e-462e-a145-cf8db4062fcf
    • ZONE_NAME: us-south-2
    • PROFILE_NAME: bx2-2x8
    • サブネット: 0717-198db988-3b9b-4cfa-9dec-0206420d37d0
    • 画像 Debian 11枚 r006-f83ce520-00b5-40c5-9938-a5c82a273f91
    • キー: r006-89ec781c-9630-4f76-b9c4-a7d204828d61

    レスポンスは、使用するオプション値によって異なる。

    ID                                    0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    Name                                  my-instance
    CRN                                   crn:v1:public:is:us-south-2:a/a1234567::instance:0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    Status                                pending
    Availability policy on host failure   restart
    Startable                             true
    Profile                               bx2-2x8
    Architecture                          amd64
    vCPU Manufacturer                     intel
    vCPUs                                 2
    Memory(GiB)                           8
    Bandwidth(Mbps)                       4000
    Volume bandwidth(Mbps)                1000
    Network bandwidth(Mbps)               3000
    Lifecycle Reasons                     Code   Message
                                           -      -
    
    Lifecycle State                       pending
    
    Metadata service                      Enabled   Protocol   Response hop limit
                                          false     http       1
    
    Image                                 ID                                          Name
                                          r006-f83ce520-00b5-40c5-9938-a5c82a273f91   ibm-debian-11-3-minimal-amd64-4
    
    VPC                                   ID                                          Name
                                          r006-35b9cf35-616e-462e-a145-cf8db4062fcf   my-vpc
    
    Zone                                  us-south-2
    Resource group                        ID                                 Name
                                          cdc21b72d4e647b195de988b175e3d82   Default
    
    Created                               2023-03-23T21:50:24+00:00
    Boot volume                           ID   Name   Attachment ID                               Attachment name
                                          -    -      0717-7ccd4284-e59d-45d8-932a-9e52f62f187a   landing-faucet-prankish-sprout
    

    新しいインスタンス用に作成されるネットワーク・インターフェースに関する情報は、インスタンスの作成後には返されません。 次のステップで説明するように、 ibmcloud is instance INSTANCE コマンドを使用して情報を表示できます。 インスタンスが作成されるまで、ステータスは保留中と表示されます。

    instance-create 、コマンドオプションとして追加できる機能の詳細については、以下のトピックを参照してください: ボリュームアタッチメントJSONの作成メタデータサービスの有効化または無効化配置グループの作成

    コマンド・オプションの完全なリストについては、ibmcloud is instance-create を参照してください。

  2. 次に、次の instance details コマンドを実行して、新しいインスタンスが表示され、新しいインスタンス用に作成されたネットワーク・インターフェイスが表示されることを確認します。 0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0 は、前の手順でインスタンスを作成したときに割り当てられた仮想サーバー・インスタンス ID です。

    ibmcloud is instance 0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    

    この例では、以下の応答が表示されます。 ステータスは実行中と表示された。 Network Interfacesセクションをチェックし、ネットワークインターフェースのIDを確認する。

    ID                                    0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    Name                                  my-instance
    CRN                                   crn:v1:public:is:us-south-2:a/a1234567::instance:0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0
    Status                                running
    Availability policy on host failure   restart
    Startable                             true
    Profile                               bx2-2x8
    Architecture                          amd64
    vCPU Manufacturer                     intel
    vCPUs                                 2
    Memory(GiB)                           8
    Bandwidth(Mbps)                       4000
    Volume bandwidth(Mbps)                1000
    Network bandwidth(Mbps)               3000
    Lifecycle Reasons                     Code   Message
                                           -      -
    
    Lifecycle State                       stable
    
    Metadata service                      Enabled   Protocol   Response hop limit
                                          false     http       1
    
    Image                                 ID                                          Name
                                          r006-f83ce520-00b5-40c5-9938-a5c82a273f91   ibm-debian-11-3-minimal-amd64-4
    
    VPC                                   ID                                          Name
                                          r006-35b9cf35-616e-462e-a145-cf8db4062fcf   my-vpc
    
    Zone                                  us-south-2
    Resource group                        ID                                 Name
                                          cdc21b72d4e647b195de988b175e3d82   Default
    
    Created                               2023-03-23T21:50:24+00:00
    Network Interfaces                    Interface   Name      ID                                          Subnet            Subnet ID                                   Floating IP   Security Groups                 Allow source IP spoofing   Reserved IP
                                          Primary     primary   0717-4db768bb-65c3-4045-8712-523e62eeabd2   my-subnet   0717-198db988-3b9b-4cfa-9dec-0206420d37d0         -             enhance-corsage-managing-jinx   false                      10.240.64.10
    
    Boot volume                           ID                                          Name                           Attachment ID                                    Attachment name
                                          r006-7a1d72d1-56ac-438e-bf85-6c0173e3f9a6   expend-anger-whiff-jackknife   0717-7ccd4284-e59d-45d8-932a-9e52f62f187a        landing-faucet-prankish-sprout
    
  3. 以下のコマンドを使用して、インスタンスに関連付ける浮動 IP アドレスを要求します。 フローティングIP に指定される名前は my-floatingip0717-4db768bb-65c3-4045-8712-523e62eeabd2 前の手順で表示された仮想サーバー インスタンスのネットワーク インターフェイスの ID です。

    ibmcloud is floating-ip-reserve \
        my-floatingip \
        --nic 0717-4db768bb-65c3-4045-8712-523e62eeabd2
    

    この例では、以下の出力のような応答が表示されます。

    ID               r006-9b79b9bc-a2dc-4337-865a-57d9b9198b76
    Address          169.59.214.164
    Name             my-floatingip
    CRN              crn:v1:public:is:us-south-2:a/a1234567::floating-ip:r006-9b79b9bc-a2dc-4337-865a-57d9b9198b76
    Status           available
    Zone             us-south-2
    Created          2023-03-23T22:13:07+00:00
    Target           ID                                          Target type         Instance ID                                 Target interface name   Target interface private IP
                     0717-4db768bb-65c3-4045-8712-523e62eeabd2   network_interface   0726_67b1179a-8b25-4ac9-8bc0-7f3027466ed0   primary                 -
    
    
    Resource group   ID                                 Name
                     cdc21b72d4e647b195de988b175e3d82   Default
    

    後で使用するフローティングIP Address を記録する。

    コマンド・オプションの完全なリストについては、ibmcloud is floating-ip-reserveを 参照のこと。

さらに詳しい情報が必要な場合は、 いつでも ibmcloud is instance-create --help を実行して、インスタンスの作成に関するヘルプを表示できます。

プライベートカタログイメージからの提供

必要な値がわかったら、それを使って ibmcloud is instance-create コマンドを実行する。 また、インスタンスに固有の名前を指定する必要があります。

CLI からプライベートカタログ提供またはカタログ提供バージョンから仮想サーバーインスタンスを作成するには、次の手順を実行します。

  1. 以下のコマンドを使用して、インスタンスを作成します。

    ibmcloud is instance-create \
        INSTANCE_NAME \
        VPC \
        ZONE_NAME \
        PROFILE_NAME \
        SUBNET \
        --catalog-offering <CRN for the IBM Cloud catalog offering> or --catalog-offering-version <The CRN for the version of an IBM Cloud catalog offering> \
        --keys KEYS \
        --placement-group PLACEMENT_GROUP_NAME \
    

    例えば、 my-instanceという名前のインスタンスを us-south-2bx2-2x8 プロファイルとカタログ・オファリングを使用すると、 instance-create コマンドは次の例のようになります。

    ibmcloud is instance-create\
        my-instance\
        r006-35b9cf35-616e-462e-a145-cf8db4062fcf\
        us-south-2\
        bx2-2x8\
        0717-198db988-3b9b-4cfa-9dec-0206420d37d0\
        --catalog-offering crn:v1:public:globalcatalog-collection:global:a/efe5afc483594adaa8325e2b4d1290df:0b322820-dafd-4b5e-b694-6465da6f008a:offering:136559f6-4588-4af2-8585-f3c625eee09d
        --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61\
        --placement-group c5f1f366-b92a-4080-991a-aa5c2e33d96b\
    

    以下の引数とオプション値が使用される。

    • INSTANCE_NAME: my-instance
    • VPC: r006-35b9cf35-616e-462e-a145-cf8db4062fcf
    • ZONE_NAME: us-south-2
    • PROFILE_NAME: bx2-2x8
    • サブネット: 0717-198db988-3b9b-4cfa-9dec-0206420d37d0
    • CATALOG-OFFERING: です。 crn:v1:public:globalcatalog-collection:global:a/efe5afc483594adaa8325e2b4d1290df:0b322820-dafd-4b5e-b694-6465da6f008a:offering:136559f6-4588-4af2-8585-f3c625eee09d
    • キー: r006-89ec781c-9630-4f76-b9c4-a7d204828d61
    • placement_group: c5f1f366-b92a-4080-991a-aa5c2e33d96b

    新しいインスタンス用に作成されるネットワーク・インターフェースに関する情報は、インスタンスの作成後には返されません。 次のステップで説明するように、 ibmcloud is instance INSTANCE コマンドを使用して情報を表示できます。

    仮想サーバーインスタンスのステータスは、インスタンスが作成されるまで保留中と表示されます。

    コマンド・オプションの完全なリストについては、ibmcloud is instance-create を参照してください。

  2. 次に、以下の instance detailsコマンドを実行して、新しいインスタンスが表示されることを確認し、新しいインスタンス用に作成されたネットワーク・インターフェイスを表示します。 INSTANCE には、 前の手順で新し い仮想サーバー・インスタンスに割り当てた ID を指定します。

    ibmcloud is instance INSTANCE
    

    ステータスは実行中と表示された。 Network Interfacesセクションをチェックし、ネットワークインターフェースのIDを確認する。

  3. 以下のコマンドを使用して、インスタンスに関連付ける浮動 IP アドレスを要求します。 FLOATING_IP_NAME 、 フローティングIP名前を指定し、 TARGET_INTERFACE 、前のステップで特定したネットワーク・インターフェースのIDを指定する。

    ibmcloud is floating-ip-reserve \
        FLOATING_IP_NAME \
        --nic TARGET_INTERFACE
    

    後で使用するフローティングIP Address を記録する。

    コマンド・オプションの完全なリストについては、ibmcloud is floating-ip-reserveを 参照のこと。

さらに詳しい情報が必要な場合は、 いつでも ibmcloud is instance-create --help を実行して、インスタンスの作成に関するヘルプを表示できます。

既存ボリュームからの提供

必要な値を確認したら、それらの値を使用して instance-create コマンドを実行します。 また、インスタンスに固有の名前を指定する必要があります。

以下の手順を使用して、ブート可能なボリュームから仮想サーバーインスタンスを作成します。

  1. 以下のコマンドを使用して、インスタンスを作成します。

    ibmcloud is instance-create \
        INSTANCE_NAME \
        VPC \
        ZONE_NAME \
        PROFILE_NAME \
        SUBNET \
        --boot-volume BOOT_VOLUME_JSON | @BOOT_VOLUME_JSON_FILE \
        --keys KEYS \
        --volume-attach VOLUME_ATTACH_JSON \
    

    例えば、 my-instanceという名前のインスタンスを us-south-1bx2-2x8 プロファイルと既存のブート・ボリュームを使用する場合、 instance-create コマンドは次の例のようになります。

    ibmcloud is instance-create\
        my-instance\
        r006-35b9cf35-616e-462e-a145-cf8db4062fcf\
        us-south-1\
        bx2-2x8\
        0717-198db988-3b9b-4cfa-9dec-0206420d37d0\
        --boot-volume '{"name": "boot-vol-attachment-name", "volume": {"id": "r006-feec3e99-995e-4e8f-896b-48b42c7d05a7"}}'\
        --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61\
        --volume-attach @/Users/myname/myvolume-attachment_create.json\
    

    ボリューム接続 JSON ファイルの例については、ボリューム接続 JSON の作成を参照してください。 ボリューム添付ファイルに ボリュームのユーザー タグ を含めることもできます。

    新しいインスタンス用に作成されるネットワーク・インターフェースに関する情報は、インスタンスの作成後には返されません。 次のステップで説明するように、 ibmcloud is instance INSTANCE コマンドを使って情報を見ることができる。

    インスタンスが作成されるまで、ステータスは保留中と表示されます。

    コマンド・オプションの完全なリストについては、ibmcloud is instance-create を参照してください。

  2. 次に、以下の instance detailsコマンドを実行して、新しいインスタンスが表示されることを確認し、新しいインスタンス用に作成されたネットワーク・インターフェイスを表示します。 INSTANCE には、 前の手順で新し い仮想サーバー・インスタンスに割り当てた ID を指定します。

    ibmcloud is instance INSTANCE
    

    ステータスは実行中と表示された。 Network Interfacesセクションをチェックし、ネットワークインターフェースのIDを確認する。

  3. 以下のコマンドを使用して、インスタンスに関連付ける浮動 IP アドレスを要求します。 FLOATING_IP_NAME 、 フローティングIP名前を指定し、 TARGET_INTERFACE 、前のステップで特定したネットワーク・インターフェースのIDを指定する。

    ibmcloud is floating-ip-reserve \
        FLOATING_IP_NAME \
        --nic TARGET_INTERFACE
    

    後で使用するフローティングIP Address を記録する。

    コマンド・オプションの完全なリストについては、ibmcloud is floating-ip-reserveを 参照のこと。

    さらに詳しい情報が必要な場合は、 いつでも ibmcloud is instance-create --help を実行して、インスタンスの作成に関するヘルプを表示できます。

スナップショットからブートボリュームを作成し、それを使用してCLIから新しいインスタンスをプロビジョニングする

ブータブルスナップショットから ブートボリュームを作成し、それをイメージに使用することができます。 ibmcloud is instance-create コマンドを実行する場合は、ブート・ボリュームJSONの source_snapshot サブプロパティと、ブート可能なスナップショットのID、名前、またはCRNを指定します。 例については、 CLIから新しいインスタンスのスナップショットからブートボリュームを作成するを 参照してください。

CLIから複数のデータボリュームと動的なボリューム帯域幅割り当てを持つインスタンスを作成する

データボリュームのプール帯域幅割り当てをサポートする コンピュートプロファイルを 選択します。 ほとんどのコンピュート・プロファイルでは、 --volume-bandwidth-qos-mode プロパティのデフォルトは weighted です。 weighted を使用する場合、ボリューム帯域幅はデータボリューム間で比例配分される。 pooled の値を指定すると、動的な帯域幅割り当てが有効になります。

次の例では、 ibmcloud is instance-create コマンドを使用して仮想サーバーインスタンスを作成し、オプション --volume-bandwidth-qos-mode に値 pooled を指定します。

ibmcloud is instance-create my-virtual-server my-vpc us-south-2 cx3d-8x20 my-subnet --image r006-534ef2ac-6158-45b3-9657-57629fa85305 --keys r006-68f8333a-1169-42da-ba01-75268bac8362 --volume-attach @/Users/myname/myvolume-attachment.json --volume-bandwidth-qos-mode pooled

myvolume-attachments.json ファイルには、仮想サーバーにアタッチするデータボリュームを12個まで含めることができます。 以下の例を参照してください。

[
  {"volume": {
        "name": "my-data-volume-1",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
   "delete_volume_on_instance_delete": false},
  {"volume": {
        "name": "my-data-volume-2",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
   "delete_volume_on_instance_delete": false},
  {"volume": {
        "name": "my-data-volume-3",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
   "delete_volume_on_instance_delete": false}
]

コンフィデンシャル・コンピュートでインスタンスを作成する

在庫状況を選択

Intel SGX for VPC による機密コンピューティングと Intel TDX for VPC による機密コンピューティングは、ダラス (us-south)、ワシントン DC (us-east)、フランクフルト (eu-de) リージョンで利用可能です。

sdp ボリュームプロファイルを持つ第2世代のブートボリュームは、まだセキュアブートをサポートしていません。 セキュアブートが必要な場合は、第1世代のボリュームプロファイルを持つブートボリュームを使用する。

必要な値を確認したら、それらの値を使用して ibmcloud is instance-create コマンドを実行します。 また、インスタンスに固有の名前を指定する必要があります。

confidential-compute-mode の場合、オプションに sgx または tdx のどちらかを指定する必要がある。

以下の手順を使用して、機密コンピートを有効にする基本的な仮想サーバーインスタンスを作成します。

以下のコマンドを使用して、インスタンスを作成します。

   ibmcloud is instance-create \
       INSTANCE_NAME \
       VPC \
       ZONE_NAME \
       PROFILE_NAME \
       SUBNET \
       --image IMAGE \
       --confidential-compute-mode sgx \
       --keys KEYS \

例えば、以下の instance-create コマンドは、 情報収集 セクションにあるサンプル値を使用する。

   ibmcloud is instance-create \
       my-instance \
       r006-35b9cf35-616e-462e-a145-cf8db4062fcf \
       us-south-2 \
       bx2-2x8 \
       0717-198db988-3b9b-4cfa-9dec-0206420d37d0 \
       --image r006-f83ce520-00b5-40c5-9938-a5c82a273f91 \
       --confidential-compute-mode sgx \
       --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61 \

以下の引数およびオプション値が使用される

  * INSTANCE_NAME: `my-instance`
  * VPC: `r006-35b9cf35-616e-462e-a145-cf8db4062fcf`
  * ZONE_NAME: `us-south-2`
  * PROFILE_NAME: `bx2-2x8`
  * SUBNET: `0717-198db988-3b9b-4cfa-9dec-0206420d37d0`
  * IMAGE: Debian 11 image `r006-f83ce520-00b5-40c5-9938-a5c82a273f91`
  * KEYS: `r006-89ec781c-9630-4f76-b9c4-a7d204828d61`

セキュアブートでインスタンスを作成する

在庫状況を選択

インテル SGX for VPCによるコンフィデンシャル・コンピューティングは、ダラス(米国南部)およびフランクフルト(欧州北部)でのみご利用いただけます。 sdp ボリュームプロファイルを持つ第2世代のブートボリュームは、まだセキュアブートをサポートしていません。 セキュアブートが必要な場合は、第1世代のボリュームプロファイルを持つブートボリュームを使用する。

必要な値を確認したら、それらの値を使用して ibmcloud is instance-create コマンドを実行します。 また、インスタンスに固有の名前を指定する必要があります。

enable-secure-boot には、 truefalse のどちらかを指定する必要がある。 デフォルト値は falseです。

以下の手順を使用して、セキュアブートを有効にする基本的な仮想サーバーインスタンスを作成します。

以下のコマンドを使用して、インスタンスを作成します。

   ibmcloud is instance-create \
       INSTANCE_NAME \
       VPC \
       ZONE_NAME \
       PROFILE_NAME \
       SUBNET \
       --image IMAGE \
       --enable-secure-boot true \
       --keys KEYS \

例えば、以下の instance-create コマンドは、 情報収集 セクションにあるサンプル値を使用する。

   ibmcloud is instance-create \
       my-instance \
       r006-35b9cf35-616e-462e-a145-cf8db4062fcf \
       us-south-2 \
       bx2-2x8 \
       0717-198db988-3b9b-4cfa-9dec-0206420d37d0 \
       --image r006-f83ce520-00b5-40c5-9938-a5c82a273f91 \
       --enable-secure-boot true \
       --keys r006-89ec781c-9630-4f76-b9c4-a7d204828d61 \

以下の引数およびオプション値が使用される

  * INSTANCE_NAME: `my-instance`
  * VPC: `r006-35b9cf35-616e-462e-a145-cf8db4062fcf`
  * ZONE_NAME: `us-south-2`
  * PROFILE_NAME: `bx2-2x8`
  * SUBNET: `0717-198db988-3b9b-4cfa-9dec-0206420d37d0`
  * IMAGE: Debian 11 image `r006-f83ce520-00b5-40c5-9938-a5c82a273f91`
  * KEYS: `r006-89ec781c-9630-4f76-b9c4-a7d204828d61`

CLIからインスタンスが作成された後の次のステップ

一連の E メール (仮想サーバー・インスタンスの注文確認書、注文の承認と処理、インスタンスが作成されたことを示すメッセージ) が管理者に送信されます。

GPU プロファイルを選択する場合は、GPU の管理を参照してください。

インスタンスが作成されたら、浮動 IP アドレスをそのインスタンスに関連付けます。 その後、インスタンスに接続できます。 詳しくは、Linux インスタンスへの接続または Windows インスタンスへの接続を参照してください。

APIによる仮想サーバーインスタンスの作成

APIを使用してインスタンスを作成できます。

開始前に

必要なアクセス権があることを確認してください。 これらのメソッドを呼び出すには、リストされた条件に応じて、以下のアクションを含む1つ以上のIAMアクセス・ロールが割り当てられている必要があります。 Cloud Identity and Access Management ダッシュボードの 「ユーザー」 ページでアクセス状況を確認できます。

APIを使用してインスタンスを作成するための情報を収集する

インスタンスを作成する前に、インスタンスプロファイルや使用するイメージなど、インスタンスの詳細を知っておく必要があります。 以下のAPIコールを行って情報を収集する:

必要なインスタンスの詳細 api
インスタンスの詳細 リスト・オプション API仕様書
画像 GET /images すべてのイメージをリスト表示する
プロフィール GET /instance/profiles

GET /images/<id>/instance_profiles

List all instance profiles

特定のイメージと互換性のあるインスタンス・プロファイルをすべてリストアップする。

キー GET /keys すべての鍵をリストします
VPC GET /vpcs すべての VPC をリストします
サブネット GET /subnets すべてのサブネットをリストします
ゾーン GET /regions/<region>/zones 地域内のすべてのゾーンをリストします
配置グループ GET /placement_groups すべての配置グループをリストします

別のアカウントスナップショットを使用する予定がある場合は、最初に適切な IAM権限が 付与されていることを確認してください。 次に、スナップショットの所有者にスナップショットのCRNを問い合わせてください。

一部のプロフィールは、以下のいずれかの理由で利用できない場合があります:

  • 仮想サーバーのネットワークインターフェースの数がプロファイルの制限を超えています。 より多くのプロファイルから選択するために、ネットワーク・インターフェイスを削除することができます。 詳細については、 仮想サーバーのサイズ変更を 参照してください。
  • 選択された画像には、プロファイルと互換性のない許可された使用表現が含まれています。 このような場合は、希望するプロファイルに適合する使用許可表現を持つ画像を選択してください。 詳しくは、 カスタム画像への使用許可表現の追加を 参照してください。

APIでインスタンスを作成する

必要な情報を取得したら、インスタンスを作成するために POST /instances メソッドを実行してインスタンスを作成します。

APIを使用して、ストックイメージまたはカスタムイメージからインスタンスをプロビジョニングする

image プロパティの値として画像の id サブプロパティを指定することで、ストック画像またはカスタム画像でインスタンスをプロビジョニングできます。

   curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
     -H "Authorization:$iam_token" \
     -d '{
           "name": "my-instance",
           "zone": {
             "name": "us-south-3"
           },
           "vpc": {
             "id": "'$vpc'"
           },
           "primary_network_interface": {
             "subnet": {
               "id": "'$subnet'"
             }
           },
           "keys":[{"id": "'$key'"}],
           "profile": {
             "name": "'$profile_name'"
            },
           "image": {
             "id": "'$image_id'"
            }
           }'

APIを使用してプライベートカタログイメージからインスタンスをプロビジョニングする

イメージの offering_crn または version_crn サブプロパティを catalog_offering プロパティの値として指定することで、プライベート・カタログ・イメージでインスタンスをプロビジョニングできます。

  • カタログ製品の提供内容の最新バージョンから、プライベートカタログイメージを使用してインスタンスを作成します。

    curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
      -H "Authorization:$iam_token" \
      -d '{
            "name": "my-instance",
            "zone": {
              "name": "us-south-3"
            },
            "vpc": {
              "id": "'$vpc'"
            },
            "primary_network_interface": {
              "subnet": {
                "id": "'$subnet'"
              }
            },
            "keys":[{"id": "'$key'"}],
            "profile": {
              "name": "'$profile_name'"
             },
            "catalog_offering": {
              "offering": {
                "crn": "'$offering_crn'"
             }
            }'
    
  • カタログ製品の特定バージョンのプライベート・カタログ・イメージを使用してインスタンスを作成する。

    curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
      -H "Authorization:$iam_token" \
      -d '{
            "name": "my-instance",
            "zone": {
              "name": "us-south-3"
            },
            "vpc": {
              "id": "'$vpc'"
            },
            "primary_network_interface": {
              "subnet": {
                "id": "'$subnet'"
              }
            },
            "keys":[{"id": "'$key'"}],
            "profile": {
              "name": "'$profile_name'"
             },
            "catalog_offering": {
              "version": {
                "crn": "'$version_crn'"
             }
            }'
    

既存ボリュームからの提供

既存のブート可能なボリュームを再利用する方が、スナップショットやイメージから新しいボリュームを作成するよりも高速です。

既存のボリュームの id または crn サブプロパティを boot_volume_attachment プロパティの値として指定することで、既存のボリュームでインスタンスをプロビジョニングできます。

既存のブータブル・ボリュームは、インスタンス・プロファイルと同じアーキテクチャを持つ、アタッチされていないブータブル・ボリュームでなければなりません。 リストボリューム フィルタを使用して、 attachment_state 財産と operating_system ボリュームの適格性を表示するプロパティ。

例えば、 x86 オペレーティング・システムで、 us-south-1 の未接続ボリュームを確認する。

curl -X GET "$vpc_api_endpoint/v1/volumes?version=2023-02-08&generation=2?attachment_state=unattached&zone.name=us-south-1&operating_system.architecture=amd64"
-H "Authorization: Bearer $iam_token"

デフォルトでは、仮想サーバーインスタンスのプロビジョニングの一部として作成されたブートボリュームは、インスタンスの削除時に削除されます。 この動作は、インスタンスの作成時またはブート・ボリュームのアタッチメントの更新時に、 delete_volume_on_instance_delete プロパティを false に設定することで変更できます。

メソッドを使用する。 POST /instances メソッドを使用して、収集した情報でインスタンスを作成します。 以下の呼び出しは、既存のブートボリュームを使用してインスタンスをプロビジョニングする例です。

curl -X POST "$vpc_api_endpoint/v1/instances?version=2023-02-08&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
  "boot_volume_attachment": {
    "volume": {
      "id": "r006-feec3e99-995e-4e8f-896b-48b42c7d05a7"
    }
  },
  "keys": [
    {
      "id": "363f6d70-0000-0001-0000-00000013b96c"
    }
  ],
  "name": "my-instance",
  "placement_target": {
    "id": "0787-8c2a09be-ee18-4af2-8ef4-6a6060732221"
  },
  "primary_network_interface": {
    "name": "my-network-interface",
    "subnet": {
      "id": "bea6a632-5e13-42a4-b4b8-31dc877abfe4"
    }
  },
  "profile": {
    "name": "bx2-2x8"
  },
  "volume_attachments": [
    {
      "volume": {
        "capacity": 1000,
        "encryption_key": {
          "crn": "crn:[...]"
        },
        "name": "my-data-volume",
        "profile": {
          "name": "5iops-tier"
        }
      }
    }
  ],
  "vpc": {
    "id": "f0aae929-7047-46d1-92e1-9102b07a7f6f"
  },
  "zone": {
    "name": "us-south-1"
  }
}'

sdp ボリュームプロファイルを持つ第2世代のブートボリュームは、まだセキュアブートをサポートしていません。 セキュアブートが必要な場合は、第1世代のボリュームプロファイルを持つブートボリュームを使用する。

詳しくは、Create an instance を参照してください。

スナップショットからブートボリュームをリストアし、それを使用して新しいインスタンスをプロビジョニングする

ブータブルスナップショットからブートボリュームを リストア し、インスタンスのプロビジョニング時にそのブートボリュームを使用することができます。 ブート可能なスナップショットには、インスタンス・プロファイルと同じオペレーティング・システムとアーキテクチャが必要です。

POST /instances リクエストで、 boot_volume_attachment プロパティを指定し、 source_snapshot サブプロパティでブータブルスナップショット ID を指定します。 また、スナップショットの名前またはCRNを使用することもできます。 以下の例を参照してください。

curl -X POST \
"$vpc_api_endpoint/v1/instances?version=2023-03-07&generation=2" \
-H "Authorization: $iam_token" \
-H "Content-Type: application/json" \
-d '{
      "boot_volume_attachment": {
        "delete_volume_on_instance_delete": true,
        "volume": {
            "profile": {
                "name": "general-purpose"
            },
            "source_snapshot": {
                "id": "eb373975-4171-4d91-81d2-c49efb033753"
            }
        }
     },
     .
     .
     .
  }'

APIを使用したボリュームのリストアの詳細については、「 APIを使用してスナップショットからボリュームをリストアする 」を参照してください。

複数のデータボリュームと動的なボリューム帯域幅割り当てを持つインスタンスをAPIで作成する

データボリュームのプール帯域幅割り当てをサポートする コンピュートプロファイルを 選択します。 以下のサンプルリクエストに示すように、 instances メソッドを呼び出すことで、複数のデータボリュームを持つ仮想サーバーインスタンスをプログラムでプロビジョニングできます。 この例では us-south-2 ゾーンに仮想サーバーを作成します。 ボリューム帯域幅の動的割り当てを有効にするには、 storage_qos_modepooled に設定する。

curl -X POST "$vpc_api_endpoint/v1/instances?version=2024-07-12&generation=2" \
-H "Authorization: $iam_token" \
-H "Content-Type: application/json" \
-d '{
  "zone": {"name": "us-south-2"},
  "resource_group": {"id": "db8e8d865a83e0aae03f25a492c5b39e"},
  "name": "my-gen3-instance",
  "vpc": {"id": "r006-6e8fb140-5668-45b8-b98a-d5cb0e0bf39b"},
  "user_data": "",
  "profile": {"name": "cx3d-8x20"},
  "keys": [{"id": "r006-68f8333a-1169-42da-ba01-75268bac8362"}],
  "volume_attachments": [
    {"volume": {
        "name": "my-data-volume-a",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
      "delete_volume_on_instance_delete": false},
    {"volume": {
        "name": "my-data-volume-b",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
      "delete_volume_on_instance_delete": false
    },
    {"volume": {
        "name": "my-data-volume-c",
        "capacity": 3000,
        "profile": {"name": "5iops-tier"},
        "user_tags": []},
      "delete_volume_on_instance_delete": false
      }],
  "boot_volume_attachment": {
    "volume": {
      "name": "my-gen3-instance-boot-1720810915000",
      "capacity": 250,
      "profile": {"name": "general-purpose"},
      "user_tags": []},
    "delete_volume_on_instance_delete": true
  },
  "metadata_service": {"enabled": false},
  "primary_network_attachment": {
    "name": "eth0",
    "virtual_network_interface": {
      "allow_ip_spoofing": false,
      "auto_delete": true,
      "enable_infrastructure_nat": true,
      "primary_ip": {"auto_delete": true},
      "subnet": {"id": "0726-298acd6c-e71e-4204-a04f-fe4a4dd89805"},
      "security_groups": [{"id": "r006-ccdd1f58-f0f2-4ea0-8774-a24bbe61b5d9"}],
      "protocol_state_filtering_mode": "auto"}
  },
  "network_attachments": [],
  "image": {"id": "r006-534ef2ac-6158-45b3-9657-57629fa85305"},
  "enable_secure_boot": false
  "storage_qos_mode": pooled
}'

コンフィデンシャル・コンピュートによるインスタンスの作成

在庫状況を選択

Intel SGX for VPC による機密コンピューティングと Intel TDX for VPC による機密コンピューティングは、ダラス (us-south)、ワシントン DC (us-east)、フランクフルト (eu-de) リージョンで利用可能です。

sdp ボリュームプロファイルを持つ第2世代のブートボリュームは、まだセキュアブートをサポートしていません。 セキュアブートが必要な場合は、第1世代のボリュームプロファイルを持つブートボリュームを使用する。

コンフィデンシャル・コンピュートでインスタンスをプロビジョニングするには、 confidential_compute_mode プロパティを追加し、 sgx または tdx のいずれかに設定します。

   curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
     -H "Authorization:$iam_token" \
     -d '{
           "name": "my-instance",
           "zone": {
             "name": "us-south-3"
           },
           "vpc": {
             "id": "'$vpc'"
           },
           "primary_network_interface": {
             "subnet": {
               "id": "'$subnet'"
             }
           },
           "keys":[{"id": "'$key'"}],
           "profile": {
             "name": "'$profile_name'"
            },
           "image": {
             "id": "'$image_id'"
            },
            "confidential_compute_mode": "sgx"
           }'

セキュアブートでインスタンスを作成する

セキュアブートでインスタンスをプロビジョニングするには、 enable_secure_boot プロパティを追加し、 true に設定します。

   curl -X POST "$vpc_api_endpoint/v1/instances?version=$api_version&generation=2" \
     -H "Authorization:$iam_token" \
     -d '{
           "name": "my-instance",
           "zone": {
             "name": "us-south-3"
           },
           "vpc": {
             "id": "'$vpc'"
           },
           "primary_network_interface": {
             "subnet": {
               "id": "'$subnet'"
             }
           },
           "keys":[{"id": "'$key'"}],
           "profile": {
             "name": "'$profile_name'"
            },
           "image": {
             "id": "'$image_id'"
            },
            "enable_secure_boot": "true"
           }'

sdp ボリュームプロファイルを持つ第2世代のブートボリュームは、まだセキュアブートをサポートしていません。 セキュアブートが必要な場合は、第1世代のボリュームプロファイルを持つブートボリュームを使用する。

Terraformを使って仮想サーバーインスタンスを作成する

Terraformを使ってインスタンスを作成できる。 ユーザータグやアクセス管理タグを使ってリソースを管理したい場合は、 タグを使った作業を 参照してください。

開始前に

VPC用にTerraformを設定していることを確認してください。

プライベート・カタログの作成

このステップはオプションです。 プライベートカタログから画像を共有する場合は、まずプライベートカタログを作成する必要があります。 別のアカウント属するカタログ画像を選択する場合は、 Terraformのプライベートカタログでアカウントアカウント画像参照を使う を参照して、より多くの考慮事項と制限事項を確認してください。

Terraformを使ってインスタンスを作成するための情報収集

インスタンスを作成する準備ができましたか? ibm_is_instance コマンドを実行する前に、使用したいプロファイルやイメージなど、インスタンスの詳細を知っておく必要があります。

DataSource

  1. インスタンスプロファイルの詳細を収集する。 選択したプロファイルに対して以下のコマンドを実行する。 利用可能なプロファイルの一覧は、 x86 インスタンス・プロファイルを 参照。 詳細については、 ibm _is_instance_profilesに関するTerraformのドキュメントを参照してください。 インスタンス・プロファイル・データ・ソースを参照して、インスタンス・プロファイルを使用します。 詳細については、 ibm _is_instance_profileに関するTerraformのドキュメントを参照してください。

    • 特定のプロファイルのインスタンスプロファイルの詳細を収集する
    data "ibm_is_instance_profile" "example_profile" {
       name = "bx2-2x8"
    }
    
  2. インスタンスを作成するために使用できるイメージをリストします。 ストック画像、あなたのアカウントカスタム画像、またはプライベートカタログからあなたのアカウント共有された画像を使用することができます。 詳細については、ibm_ is _imageに関するTerraformのドキュメントを参照してください。 プライベートカタログから共有されたイメージを使用する場合は、ibm_cm _ version または ibm_cm_offering_instance に関する Terraform のドキュメントを参照してください。

    使用許可式:選択したイメージによって、仮想サーバーインスタンスの作成に使用できるプロファイルが決まります。 allowed-use式を使用するイメージで仮想サーバーインスタンスを作成する際、allowed-useプロパティで提供される情報は、仮想サーバーインスタンスの候補に対して評価され、そのイメージを使用して仮想サーバーインスタンスを作成できるかどうかが判断されます。 ストックイメージは、使用可能な表現が定義されています。 カスタム画像に使用許可表現を定義する必要があります。 詳しくは、 カスタム画像への使用許可表現の追加を 参照してください。

    別のアカウント属するカタログ画像を選択する場合、検討すべき事項や制限事項が増えます。 Terraformのプライベートカタログでアカウントアカウント画像参照を使う を参照。

    • 利用可能なすべてのプライベート・カタログ・イメージを一覧表示するには、以下のコマンドを実行します。

      data "ibm_is_images" "example_images" {
      catalog_managed = true
      }
      
    • 使用許可表現を使用してプロファイルと互換性のある画像を一覧表示する

      • 画像と互換性のあるインスタンスプロファイルのリスト

        data "ibm_is_image_instance_profiles" "testacc_image_instance_profiles" {
        identifier = "r134-0950e619-325e-446e-b895-e0bdd21dd1ea"
        }
        
      • ボリュームと互換性のあるインスタンスプロファイルを一覧表示

        data "ibm_is_volume_instance_profiles" "testacc_volume_instance_profiles" {
        identifier = "r134-0950e619-325e-446e-b895-e0bdd21dd1ea"
        }
        
      • スナップショットと互換性のあるインスタンスプロファイルの一覧

        data "ibm_is_snapshot_instance_profiles" "testacc_snapshot_instance_profiles" {
        identifier = "r134-0950e619-325e-446e-b895-e0bdd21dd1ea"
        }
        
  3. VPCデータ・ソースを参照して、VPCリソースを作成するか、既存のVPCを使用します。 詳細については、ibm_ is _vpcに関するTerraformのドキュメントを参照してください。

    resource "ibm_is_vpc" "example_vpc" {
       name = "example-vpc"
    }
    
  4. サブネット・リソースを作成するか、サブネット・データ・ソースを参照して既存のサブネットを使用する。 詳細については、 ibm _is_subnetに関するTerraformのドキュメントを参照してください。

    resource "ibm_is_subnet" "example_subnet" {
       name            = "example-subnet"
       vpc             = ibm_is_vpc.example_vpc.id
       zone            = "us-south-1"
       ipv4_cidr_block = "10.240.0.0/24"
    }
    
  5. ssh-key データソースを参照して、ssh-key リソースを作成するか、既存の ssh-key を使用します。 詳しくは、 ibm _is_ssh_keysに関するTerraformのドキュメントを参照してください。

    resource "ibm_is_ssh_key" "example_sshkey" {
       name       = "example-sshkey"
       type       = "rsa"
       public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR"
    }
    

    SSH 鍵は RSA か Ed25519 のどちらかである。 UIを使って新しいRSAキー・ペアを生成することができる。 既存のRSAおよび ED25519 SSH鍵をアップロードできます。 Ed25519 は、オペレーティング・システムがこの鍵タイプをサポートしている場合にのみ使用できます。 Ed25519 は、Windows イメージや VMware イメージでは使用できません。

  6. subnet_reserved_ipリソースを作成するか、subnet_reserved_ipデータ・ソースを参照して既存のsubnet_reserved_ipを使用します。 詳細については、 ibm _is_subnet_reserved_ipに関するTerraformのドキュメントを参照してください。

    resource "ibm_is_subnet_reserved_ip" "example_reserved_ip" {
       subnet    = ibm_is_subnet.example_subnet.id
       name      = "example-reserved-ip1"
       address   = "${replace(ibm_is_subnet.example_subnet.ipv4_cidr_block, "0/24", "13")}"
    }
    

Terraformを使ってインスタンスを作成する

Terraformを使用するには、Terraform CLIをダウンロードし、Provider IBM Cloud プラグインを設定してください。 詳しくは Terraformを始めるを 参照。

以下の例のいずれかを使用してインスタンスを作成する。 詳細については、 ibm _is_instanceに関するTerraformのドキュメントを参照してください。

使用許可式:選択したイメージによって、仮想サーバーインスタンスの作成に使用できるプロファイルが決まります。 allowed-use式を使用するイメージで仮想サーバーインスタンスを作成する際、allowed-useプロパティで提供される情報は、仮想サーバーインスタンスの候補に対して評価され、そのイメージを使用して仮想サーバーインスタンスを作成できるかどうかが判断されます。 ストックイメージは、使用可能な表現が定義されています。 カスタム画像に使用許可表現を定義する必要があります。 詳しくは、 カスタム画像への使用許可表現の追加を 参照してください。

使用するイメージに基づいて、以下のTerraformコマンドのいずれかを実行します。

  • インスタンスにストック画像またはアカウントカスタム画像を使用してインスタンスを作成します。

    resource "ibm_is_instance" "example_instance" {
      name    = "example-instance-reserved-ip"
      image   = data.ibm_is_image.example_image.id
      profile = data.ibm_is_instance_profile.example_profile.name
    
      primary_network_interface {
        name   = "eth0"
        subnet = ibm_is_subnet.example_subnet.id
        primary_ip {
          reserved_ip = ibm_is_subnet_reserved_ip.example_reserved_ip.reserved_ip
        }
      }
      network_interfaces {
        name   = "eth1"
        subnet = ibm_is_subnet.example_subnet.id
        primary_ip {
          name = "example-reserved-ip1"
          auto_delete = true
          address = "${replace(ibm_is_subnet.example_subnet.ipv4_cidr_block, "0/24", "14")}"
        }
      }
    
      vpc  = ibm_is_vpc.example_vpc.id
      zone = "us-south-1"
      keys = [ibm_is_ssh_key.example_sshkey.id]
    }
    
  • プライベート・カタログ管理イメージを使用するインスタンスを作成する。 ブート・ボリュームに第2世代のボリューム・プロファイルを指定すると、カスタム容量、IOPS、帯域幅の制限を指定できます。

    resource "ibm_is_instance" "example_instance" {
      name    = "example-instance-reserved-ip"
      image   = data.ibm_is_image.example_image.id
      profile = data.ibm_is_instance_profile.example_profile.name
    
      primary_network_interface {
        name   = "eth0"
        subnet = ibm_is_subnet.example_subnet.id
        primary_ip {
          reserved_ip = ibm_is_subnet_reserved_ip.example_reserved_ip.reserved_ip
        }
      }
      network_interfaces {
        name   = "eth1"
        subnet = ibm_is_subnet.example_subnet.id
        primary_ip {
          name = "example-reserved-ip1"
          auto_delete = true
          address = "${replace(ibm_is_subnet.example_subnet.ipv4_cidr_block, "0/24", "14")}"
        }
      }
    
      vpc  = ibm_is_vpc.example_vpc.id
      zone = "us-south-1"
      keys = [ibm_is_ssh_key.example_sshkey.id]
    
      boot_volume {
        name           = "example-boot-volume"
        profile        = "sdp"
        size           = 250
        iops           = 3000
        bandwidth      = 1000
        encryption_key = "crn:v1:bluemix:public:kms:us-south:a/a1234567:e4a29d1a-2ef0-42a6-8fd2-350deb1c647e:key:5437653b-c4b1-447f-9646-b2a2a4cd6179"
       }
    }
    
    • インスタンス用のアカウント使用許可式のスナップショットを使用してインスタンスを作成します。
    resource "ibm_is_instance" "testacc_instance" {
      name    = "example-instance"
      profile = "cx2-2x4"
      primary_network_interface {
        subnet = ibm_is_subnet.testacc_subnet.id
      }
      vpc  = ibm_is_vpc.testacc_vpc.id
      zone = "us-south-1"
      keys = [ibm_is_ssh_key.testacc_sshkey.id]
      boot_volume {
        name     = "example-boot-volume"
        snapshot = ibm_is_snapshot.testacc_snapshot.id
        allowed_use {
          api_version       = "2025-06-05"
          bare_metal_server = "true"
          instance          = "true"
        }
      }
    }