インスタンスの作成

Compute Cloud@Customerでは、Compute Cloud@Customerコンソール、CLIおよびAPIを使用してインスタンスを作成できます。

開始する前に

インスタンスの作成に必要な入力の詳細は、チュートリアル: 最初のインスタンスの起動を参照してください。

次のリストでは、インスタンスを作成するために指定する必要がある最小限の情報を説明します。

  • インスタンスの名前

  • インスタンスを作成するコンパートメント

  • イメージまたはブート・ボリューム

  • シェイプ – プラットフォーム・イメージを使用している場合は、VM.PCAStandard.E5を指定します。フレックス・シェイプ。

  • サブネット

  • SSH公開キー

    インスタンスにログインするには、イメージの作成方法に応じて、SSHキーまたはパスワードが必要です。インスタンスで認証にSSHキーが必要な場合は、インスタンスの作成時に公開キーを指定する必要があります。インスタンスの作成後に公開SSHキーを指定することはできません。

CLIを使用してインスタンスを作成するには、Compute Cloud@Customerコンソールで前述したものと同じ情報が必要ですが、次の違いがあります:

  • インスタンスを作成する可用性ドメインの名前が必要です。

  • インスタンス名は必要ありません。インスタンスの名前を指定しない場合、デフォルト名はinstanceYYYYMMDDhhmmssになります(YYYYMMDDhhmmssは作成日時です)。

起動オプションを変更するには、CLIを使用します。インスタンスの作成後は、起動オプションまたはGB当たりのブート・ボリュームVPUは変更できません。

インスタンスを作成する別の方法は、インスタンス構成を作成し、その構成を使用してインスタンスを起動することです(インスタンス構成の使用を参照)。インスタンス構成を使用してインスタンスを作成する場合は、「構成値の入力によるインスタンス構成の作成」のOCI CLIプロシージャに示すように、blockVolumesおよびsecondaryVnicsを指定できます。

ノート

デフォルトより大きいブート・ボリューム・サイズを指定する場合、より大きいサイズを使用できるようにボリュームを拡張する必要があります。Resizing Volumesを参照してください。

名前とタグに機密情報を入力しないでください

    1. 次のリソースおよび情報を作成または取得します。

      • イメージまたはブート・ボリュームと、イメージまたはブート・ボリュームが配置されているコンパートメント

      • 仮想クラウド・ネットワーク(VCN)とサブネット、およびVCNとサブネットが配置されているコンパートメント

      • ユーザーがSSHを使用してインスタンスに接続する場合の公開Secure Shell (SSH)キー

    2. Compute Cloud@Customerコンソールダッシュボードで、次のいずれかを実行して「インスタンスの作成」ダイアログ・ボックスを開きます:

      • 「仮想マシン・インスタンスのコンピュート/作成」をクリックします。

      • 「イメージの計算/表示」をクリックします。インスタンスの作成に使用するイメージについて、「アクション」メニュー(3つのドット・アイコンのイメージです。)をクリックし、「イメージからのインスタンスの作成」をクリックします。イメージ・リストの上部にあるコンパートメントを変更して、目的のイメージを表示する必要がある場合があります。

        「イメージからのインスタンスの作成」オプションを使用すると、イメージ名は「インスタンスの作成」ダイアログ・ボックスですでに入力されており、変更できません。次のステップの「ソース・イメージ」で説明されている情報を入力する必要はありません。

    3. 「インスタンスの作成」ダイアログ・ボックスで、次の情報を入力します:

      • 名前: インスタンスの名前を入力します。インスタンス名には、次のような特性があります。

        • インスタンスの作成後に変更できます。

        • 一意である必要はありません。

        • 英数字とハイフン(-)のみを使用できます。

        • 最大63文字です。

      • コンパートメントに作成:インスタンスを作成するコンパートメントを選択します。

      • フォルト・ドメイン: (オプション)フォルト・ドメインを選択します。デフォルトでは、インスタンスの作成時に、インスタンスに最適なフォルト・ドメインが自動的に選択されます。フォルト・ドメインを指定して、リクエストされたフォルト・ドメインがインスタンスに対応できない場合、インスタンスの起動は失敗します。フォルト・ドメインは、インスタンスの作成後に変更できます。

      • ソース・イメージ:イメージまたはブート・ボリュームを選択します。

        1. 「ソース・タイプ」で、「プラットフォーム・イメージ」「カスタム・イメージ」または「ブート・ボリューム」を選択します。

        2. 「カスタム・イメージ」または「ブート・ボリューム」を選択した場合は、使用するイメージまたはブート・ボリュームがあるコンパートメントを選択します。

        3. リストからイメージまたはブート・ボリュームを選択します。

          「プラットフォーム・イメージ」を選択した場合、「オペレーティング・システム」「OSバージョン」および「イメージ・ビルド」(イメージが作成された日付)列を含む表形式リストが表示されます。OSバージョンの右側にあるドロップダウン・メニュー矢印を使用して、別のバージョンを選択できます。たとえば、Oracle Linuxオペレーティング・システムの場合、ドロップダウン・メニューを使用して9、8または7.9を選択できます。

          「カスタム・イメージ」を選択した場合、「名前」「オペレーティング・システム」および「OSバージョン」列を含む表形式リストが表示されます。列見出しの矢印を使用して、リストを並べ替えることができます。リストをフィルタするには、イメージのリストの上にある「オペレーティング・システム」ドロップダウン・メニューを使用します。

          「ブート・ボリューム」を選択した場合、列「名前」「サイズ(GB)」および「作成日」(ブート・ボリュームが作成された日付)を含む表形式リストが表示されます。列見出しの矢印を使用して、リストを並べ替えることができます。「ブート・ボリューム」セクション(「シェイプ」セクションの後)で、ブート・ボリューム・サイズをカスタマイズできます。

          リストが長すぎて1つのビューに収まらない場合は、矢印を使用してリストの別のページを表示します。

          以前に使用可能であったが、リストされていないプラットフォーム・イメージを使用するには、CLIを使用してインスタンスを作成し、イメージのOCIDを指定します。

        ソース・イメージは、インスタンスの作成後は変更できません。

      • シェイプ: プラットフォーム・イメージを使用している場合は、VM.PCAStandard.E5を選択します。フレックス・シェイプ。OCPUおよびメモリーの数を構成します。

        OCPUおよびメモリーの値については、各値フィールドの内側をクリックして、許容される最小値と最大値を確認します。OCPUおよびメモリー構成は、インスタンスの作成後に変更できます。

        サポートされるシェイプの詳細は、コンピュート・シェイプを参照してください。

      • ブート・ボリューム: (オプション)ボックスを選択して、カスタム・ブート・ボリューム・サイズまたはボリューム・パフォーマンス設定を指定します。

        • ブート・ボリューム・サイズ(GB): 選択したイメージのデフォルトのブート・ボリューム・サイズが表示されます。大きいサイズを指定するには、最大16384 GB (16 TB)のギガバイトの整数を入力するか、増分矢印および減分矢印を使用します。デフォルトより小さい値は入力できません。

          カスタム・ブート・ボリューム・サイズを指定する場合、より大きいサイズを使用できるようにパーティションを拡張する必要があります。Oracle Linuxプラットフォーム・イメージには、oci-utilsパッケージが含まれています。そのパッケージのoci-growfsコマンドを使用して、ルート・パーティションを拡張し、ファイル・システムを拡張します。その他のOSまたはカスタムイメージについては、そのOSの手順に従ってください。

        • ブート・ボリューム・パフォーマンス(VPU): 増分および減分の矢印を使用して、バランスのとれたパフォーマンス(10 VPU/GB)と高パフォーマンス(20 VPU/GB)を切り替えます。詳細は、ブロック・ボリューム・パフォーマンス・オプションを参照してください。

      • サブネット:サブネットを選択します。

        1. リストからVCNを選択します。VCNが配置されているコンパートメントにコンパートメントを変更する必要がある場合があります。

        2. サブネットの選択

      • パブリックIPアドレス: SSHを使用してインスタンスに接続するには、「パブリックIPの割当て」ボックスを選択して、インスタンスにパブリックIPアドレスを割り当てます。パブリック・サブネットを指定した場合、このボックスはデフォルトで選択されます。このボックスにチェックマークを入れない場合、またはこのボックスのチェックマークを外し、後でパブリックIPアドレスを割り当てる場合は、インスタンスへの一時的パブリックIPアドレスの割当ての手順を参照してください。

      • プライベートIPアドレス: (オプション)サブネットのCIDRから使用可能なプライベートIPアドレスを指定します。デフォルトでは、プライベートIPアドレスが自動的に割り当てられます。

      • ホスト名: (オプション)クラウド・ネットワーク内でDNSを使用している場合は、ホスト名を入力します。ホスト名がサブネット内のすべてのVNICで一意である必要があります。

        デフォルトでは、インスタンス名はホスト名に使用されます。ホスト名は、インスタンスの作成後にOSで構成することもできます。

        これが UNIXインスタンスの場合、ファイルシステムをマウントするためのホスト名を正しく設定する方法については、Creating a Mount Targetおよび Mounting File Systems on UNIX-based Instancesを参照してください。

      • SSHキー: SSHを使用してインスタンスに接続するには、公開SSHキーを指定します。

        ノート

        インスタンスの作成後は、このSSHキーを指定できません。

      • 初期化スクリプト: (オプション)初期化スクリプトを指定します。これは、カスタム・インスタンスの初期化に使用されるデータのファイルです。

      • ネットワーク・セキュリティ・グループ: (オプション)デフォルトでは、新しいインスタンスはNSGにアタッチされません。「ネットワーク・セキュリティ・グループの有効化」というラベルのボックスにチェックマークを入れ、このインスタンスのプライマリVNICを1つ以上のNSGに追加します。

        1. ドロップダウン・リストからNSGを選択します。必要なNSGを見つけるには、コンパートメントの変更が必要になる場合があります。

        2. 別のNSGにアタッチする場合は、「別のNSGの追加」をクリックします。

        3. リストからNSGを削除するには、そのNSGの右側にあるごみ箱をクリックします。最後のNSGまたはすべてのNSGを削除するには、「ネットワーク・セキュリティ・グループの有効化」ボックスの選択を解除します。

        このインスタンスのNSGアタッチメントを後で更新するには、VNICの更新を参照してください。

        NSGの詳細は、ネットワーク・セキュリティ・グループを使用したトラフィックの制御を参照してください。

      • インスタンス・オプション: レガシー・インスタンス・メタデータ・サービス・エンドポイントを無効にするには、ボックスを選択します。デフォルトでは、レガシー(/v1)インスタンス・メタデータ・サービス(IMDS)ルートが有効になっています。/v2エンドポイントを使用するようにアプリケーションをアップグレードした場合は、このボックスにチェックマークを入れて、/v1エンドポイントを無効にします。インスタンス・メタデータ・サービスの詳細は、インスタンス内のインスタンス・メタデータの取得を参照してください。アプリケーションのアップグレードの詳細は、IMDSバージョン2エンドポイントへのアップグレードを参照してください。

      • 可用性構成: (オプション)「インフラストラクチャ・メンテナンス後のインスタンス・ライフサイクル状態のリストア」ボックスを選択して、ライブ移行などのメンテナンス操作後に実行中のインスタンスを自動的に再起動するように指定します。これがデフォルト値です。このボックスにチェックマークが入っていない場合、インスタンスは停止状態でリカバリされます。

      • タグ付け: (オプション)このリソースに1つ以上のタグを追加します。タグを適用するかどうかがわからない場合は、このオプションをスキップします(タグは後で適用できます)。リソースのタグ付けの詳細は、リソース・タグを参照してください。

    4. 「インスタンスの作成」をクリックします。

      成功すると、インスタンスの詳細ページが表示されます。「構成」タブの「シェイプ構成」列には、シェイプ、OCPUの数、ネットワーク帯域幅および合計メモリーが表示されます。「ネットワーキング」タブの「VNIC」列にはVCNおよびサブネットが表示され、「インスタンス・アクセス」列にはプライマリ・プライベートIPアドレスおよび割り当てられたパブリックIPアドレスが表示されます。

      インスタンス起動のステータスを確認するには、「リソース」セクションまでスクロールし、「作業リクエスト」をクリックします。

      リソース制約のためにインスタンスの起動に失敗した場合は、次のような処置を試してください。

      • 別のフォルト・ドメインを指定するか、フォルト・ドメインを指定せずにシステムによる選択を許可します。

      • リソース集中型のシェイプを指定します。

      • 不要になったインスタンスを停止します。

      • 不要になったインスタンスを終了します。

      作業リクエストのステータスが「失敗」で、失敗の理由がリストされていない場合、失敗の原因は一時的である可能性があります。少し待ってから、インスタンスの作成を再試行してください。

  • インスタンスを作成するには、oci compute instance launchコマンドと必要なパラメータを使用します。

    oci compute instance launch --availability-domain availability_domain --compartment-id compartment_OCID --shape shape --subnet-id subnet_OCID --source-details file://image_info.json [OPTIONS]

    必須およびオプションのパラメータの完全なリストについては、次のコマンドを使用します。

    oci compute instance launch -h

    CLIのコマンド、フラグおよびオプションの完全なリストは、コマンドライン・リファレンスを参照してください。

    プロシージャ

    1. 次のリソースおよび情報を作成または取得します。

      • 使用する可用性ドメインの名前: oci iam availability-domain list

      • インスタンスを作成するコンパートメントのOCID: oci iam compartment list

      • このインスタンスのシェイプの名前。

        コンピュート・シェイプを参照してください。

        使用可能なシェイプとその特性を一覧表示するには、次のコマンドを使用します。インスタンスを作成するコンパートメントのOCIDを使用します。使用する予定のイメージと互換性のあるシェイプのみをリストするには、イメージOCIDを指定します。

        $ oci compute shape list --compartment-id compartment_OCID --image-id image_OCID

        次の例に示すように、シェイプ構成も指定する必要があります。ocpusに値を指定する必要があります。memoryInGBsプロパティはオプションです。GBのデフォルト値はocpusの16倍です。

        --shape-config '{"ocpus": 32, "memoryInGBs": 512}'

        シェイプ構成は、インスタンスの作成後に変更できます。

      • このインスタンスにアタッチされているVNICが作成されるサブネットのOCID: oci compute vnic-attachment list

      • --hostname-labelオプションの値を指定する場合は、「コンソール」タブのホスト名の説明を参照してください。

      • 次の値のいずれかを収集して、イメージ・ソース(イメージまたはブート・ボリューム)を指定します。

        • インスタンスのブートに使用されるイメージのOCID:
          oci compute image list
        • インスタンスのブートに使用されるブート・ボリュームのOCID:
          oci compute boot-volume-attachment list
      • SSHを使用してインスタンスに接続するための公開Secure Shell (SSH)キー。

        ノート

        インスタンスの作成後は、このSSHキーを指定できません。

      必須およびオプションのパラメータの完全なリストについては、次のコマンドを使用します。

      $ oci compute instance launch -h

      --display-nameおよび--hostname-label値の詳細は、「コンソール」タブの説明を参照してください。

    2. --source-detailsオプションの引数を作成します。

      --source-details引数には、JSONファイルまたはコマンドライン文字列を指定できます。次のコマンドを使用して、JSONプロパティおよび値の正しい形式を表示します:

      $ oci compute instance launch --generate-param-json-input source-details
      [
        "This parameter should actually be a JSON object rather than an array - pick one of the
        following object variants to use",
        {
          "bootVolumeId": "string",
          "sourceType": "bootVolume"
        },
        {
          "bootVolumeSizeInGBs": 0,
          "bootVolumeVpusPerGB": 0,
          "imageId": "string",
          "kmsKeyId": "string",
          "sourceType": "image"
        }
      ]

      bootVolumeSizeInGBsの詳細は、「コンソール」タブの「ブート・ボリューム・サイズ」を参照してください。

      bootVolumeVpusPerGBの詳細は、「コンソール」タブの「High Performance」を参照してください。

      ノート

      このインスタンスを後でlistまたはgetすると、bootVolumeVpusPerGBの値はnullになります。これは、インスタンスの作成後にこのブート・ボリューム・プロパティがインスタンス・オブジェクトに格納されないためです。インスタンスの起動後に値を確認するには、bv boot-volume listまたはgetコマンドを使用して、vpus-per-gbの値を確認します。

    3. (オプション) --launch-optionsオプションの引数を作成します。

      firmwareプロパティのみを変更できます。デフォルト値はBIOSです。UEFI_64を指定することもできます。firmwareに正しい値を指定しないと、インスタンスが起動しない可能性があります。firmwareプロパティの値は、instance updateコマンドで更新できません。

      次に、デフォルト値を示します。

      {
        "bootVolumeType": "PARAVIRTUALIZED",
        "firmware": "BIOS",
        "isConsistentVolumeNamingEnabled": false,
        "is-pv-encryption-in-transit-enabled": false,
        "networkType": "PARAVIRTUALIZED",
        "remoteDataVolumeType": "PARAVIRTUALIZED"
      }

      firmwareプロパティの値を変更するには、次のオプションを指定します。

      --launch-options file://launch_options.json

      launch_options.jsonファイルの内容は次のとおりです。

      {
        "bootVolumeType": "PARAVIRTUALIZED",
        "firmware": "UEFI_64",
        "isConsistentVolumeNamingEnabled": false,
        "is-pv-encryption-in-transit-enabled": false,
        "networkType": "PARAVIRTUALIZED",
        "remoteDataVolumeType": "PARAVIRTUALIZED"
      }
    4. (オプション) --metadataまたは --extended-metadataオプションの引数を作成します。

      カスタム・ユーザー・データは、--metadataおよび--extended-metadataオプションを使用してインスタンスにアタッチできます。メタデータ・キー/値のペアは、JSON形式の文字列/文字列マップです。拡張メタデータは、ネストされたJSONオブジェクトです。メタデータおよび拡張メタデータには、次の制限があります。

      • キーは255文字までです。

      • ほとんどのキー値は255文字に制限されています。

        • ssh_authorized_keysキーの値は255文字を超えることができます。この値は、OpenSSH形式の有効な公開キーである必要があります。

        • user_dataの値は最大16KBです。この値は、Cloud-Initがカスタム・スクリプトを実行したり、カスタムCloud-Init構成を提供するために使用できるデータです。

      • メタデータには最大128個のキーを指定できます。

      • メタデータと拡張メタデータの合計サイズは、最大32,000バイトです。

      SSH鍵は、--ssh-authorized-keys-fileオプションのfile引数で指定することもできます。ユーザーデータは、--user-data-fileオプションのfile引数で指定することもできます。詳細は、-hオプションを使用してください。

      次のステップの例では、認可されたキー・ファイルには、SSH authorized_keysファイルに必要な形式で1つ以上の公開SSHキーが含まれています。複数のキーを区切るには、改行文字を使用します。SSH公開キーは、--metadataオプションのssh_authorized_keysキーの値として、または--ssh-authorized-keys-fileオプションのfile引数で指定できます。詳細は、-hを使用して参照してください。

    5. インスタンス起動コマンドを実行します。

      構文

      oci compute instance launch --availability-domain availability_domain_name \
      --compartment-id compartment_OCID --shape shape --subnet-id subnet_OCID \
      --source-details file://image_info.json

      例:

      パブリック・サブネットを使用している場合は、デフォルトでパブリックIPアドレスが割り当てられます。または、--assign-public-ipオプションの値をtrueに設定できます。後でパブリックIPアドレスを割り当てる必要がある場合は、「インスタンスへのエフェメラル・パブリックIPアドレスの割当て」を参照してください。

      /v2インスタンス・メタデータ・サービス(IMDS)エンドポイントを使用するようにアプリケーションをアップグレードした場合は、--instance-optionsオプションを使用してareLegacyImdsEndpointsDisabledtrueに設定します。デフォルトでは、レガシー(/v1)インスタンス・メタデータ・サービス・ルートが有効になっています。インスタンス・メタデータ・サービスの詳細は、インスタンス内のインスタンス・メタデータの取得を参照してください。

      $ oci compute instance launch --availability-domain AD-1 --compartment-id <compartment_OCID> --display-name ops1 --shape VM.PCAStandard.E5.Flex --subnet-id <subnet_OCID> --source-details '{"bootVolumeSizeInGBs":100,"bootVolumeVpusPerGB":20,"imageId":"<image_OCID>","sourceType":"image"}' --assign-public-ip true --ssh-authorized-keys-file ./.ssh/<ssh_key_file> --instance-options '{"areLegacyImdsEndpointsDisabled": true}'
      {
        "data": {
          "agent-config": null,
          "availability-config": {
            "is-live-migration-preferred": null,
            "recovery-action": "RESTORE_INSTANCE"
          },
          "availability-domain": "AD-1",
          "capacity-reservation-id": null,
          "compartment-id": "ocid1.compartment.unique_ID",
          "dedicated-vm-host-id": null,
          "defined-tags": {},
          "display-name": "ops1",
          "extended-metadata": null,
          "fault-domain": "FAULT-DOMAIN-1",
          "freeform-tags": {},
          "id": "ocid1.instance.unique_ID",
          "image-id": "ocid1.image.unique_ID",
          "instance-options": {
            "are-legacy-imds-endpoints-disabled": true
          },
          "ipxe-script": null,
          "launch-mode": "PARAVIRTUALIZED",
          "launch-options": {
            "boot-volume-type": "PARAVIRTUALIZED",
            "firmware": "BIOS",
            "is-consistent-volume-naming-enabled": false,
            "is-pv-encryption-in-transit-enabled": false,
            "network-type": "PARAVIRTUALIZED",
            "remote-data-volume-type": "PARAVIRTUALIZED"
          },
          "lifecycle-state": "PROVISIONING",
          "metadata": {
            "ssh_authorized_keys": <public_ssh_key>"
          },
          "platform-config": null,
          "preemptible-instance-config": null,
          "region": "region_name",
          "shape": "VM.PCAStandard.E5.Flex",
          "shape-config": {
            "baseline-ocpu-utilization": null,
            "gpu-description": null,
            "gpus": null,
            "local-disk-description": null,
            "local-disks": null,
            "local-disks-total-size-in-gbs": null,
            "max-vnic-attachments": 16,
            "memory-in-gbs": 256.0,
            "networking-bandwidth-in-gbps": 24.6,
            "ocpus": 16.0,
            "processor-description": null
          },
          "source-details": {
            "boot-volume-size-in-gbs": 100,
            "bootVolumeVpusPerGB": 20,
            "image-id": "ocid1.image.unique_ID",
            "kms-key-id": null,
            "source-type": "image"
          },
          "system-tags": null,
          "time-created": "2021-09-22T20:20:04.715304+00:00",
          "time-maintenance-reboot-due": null
        },
        "etag": "92180faa-3660-446c-9559-c12a6e6111f9",
        "opc-work-request-id": "ocid1.workrequest.unique_ID"
      }

      work-requests work-request getコマンドを使用して、インスタンス起動のステータスを監視します。

      $ oci work-requests work-request get --work-request-id ocid1.workrequest.unique_ID

      作業リクエストのステータスが「失敗」で、失敗の理由が指定されていない場合、失敗の原因は一時的である可能性があります。失敗の理由が指定されない場合は、少し待ってからインスタンスの作成を再試行してください。

  • LaunchInstance操作を使用してインスタンスを作成します。

    APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。