コマンドライン・インタフェースの開始

このトピックでは、LinuxインスタンスやWindowsインスタンスを起動するために必要なコマンドの概要について説明します。このチュートリアルには、コンパートメントの使用、仮想クラウド・ネットワークの作成、およびインスタンスの起動が含まれます。

コマンドライン・インタフェース(CLI)について

CLIは、Oracle Cloud Infrastructureで使用可能なほとんどのサービスを操作できるツールです。CLIには、コンソールと同じコア機能と追加のコマンドがあります。CLIの機能とコマンドのヘルプは、サービスのAPIに基づいています。

コマンドによるヘルプの取得

インライン・ヘルプを取得するには、--help-hまたは-?キーワードを使用します。例:

oci --help
oci bv volume -h
oci os bucket create -?

ブラウザでCLIのすべてのヘルプを表示することもできます。

CLIの例について

このドキュメントの例は、次のようにコマンドとレスポンスとしてグループ化されています:

  • コマンドの実行内容と使用するコマンドが示されます
  • コマンドの結果がドロップダウン・テキスト・ボックスに返されます

次の例は、コマンドとレスポンスのグループを示しています。

テナンシのネームスペースを取得するには、次のコマンドを実行します。

oci os ns get
レスポンス
ノート

レスポンス出力の理解

oci os ns getコマンドに対するこのレスポンスは、JSON形式で返される標準出力を示しています。JSONオブジェクトは、キー/値ペアとして記述され、キーと値はコロンで区切られます。例:
{
"data": "docs"
"id": "ocid1.compartment.oc1..aaaaaaaal3gzijdhqol2pglie6astxxeyqdqeyg35nz5zxil2rggnx7jnhwa"
"is-stateless": null							
}
"id"のようなキーには特に情報がありません。JSONオブジェクト参照を理解するには、キーの値を読み取る必要があります。
{
"data": "docs"
}

このガイドにあるコマンドとレスポンスのグループの大部分は、以前の例のように単純ではありません。ただし、タスクに取り組むにつれて、読取りや操作が容易になります。

開始する前に

コマンドライン・インタフェースの使用を開始する前に、「コマンドライン・インタフェース(CLI)」で説明されているすべての要件を満たしていることを確認します。

ベスト・プラクティスとして、このチュートリアルのタスクをテスト環境で完了してください。このアプローチにより、自分の構成がテナンシ内の他の環境に影響を与えないことが保証されます。チュートリアルの終了時に、テスト・リソースを安全に削除できます。

コンパートメントでの作業

このチュートリアルでは、すべてのリソースに対して1つのコンパートメントを使用します。本番環境を作成する準備ができたら、通常は、これらのリソースを異なるコンパートメントに分割します。

既存のコンパートメントを使用するか(推奨)、新規コンパートメントを作成できます。

コンパートメントの選択

ヘルプ: oci iam compartment list -h

テナンシのコンパートメントをリストするには、次のコマンドを実行します。

oci iam compartment list -c <tenancy_id>
コマンド例とレスポンス
oci iam compartment list -c ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom
{
  "data": [
    {
      "compartment-id": "ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom",
      "description": "For testing CLI features",
      "id": "ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom",
      "inactive-status": null,
      "lifecycle-state": "ACTIVE",
      "name": "CLIsandbox",
      "time-created": "2017-06-27T18:52:52.214000+00:00"
    },
    {
      "compartment-id": "ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom",
      "description": "for testing",
      "id": "ocid1.compartment.oc1..aaaaaaaasqn3hj6e5tq6slj4rpdqqja7qsyuqipmu4sv5ucmyp3rkmrhuv2q",
      "inactive-status": null,
      "lifecycle-state": "ACTIVE",
      "name": "CLISandbox",
      "time-created": "2017-05-12T21:31:27.709000+00:00"
    }
    ],
  "opc-next-page": "   AAAAAAAAAAGLB28zJTjPUeNvgmLxg9QuJdAAZrl10FfKymIMh4ylXItQkO_Xk6RXbGxCn8hgkYm_pRpf1v6hVoxrYTQsaoveGMkX6iwwwPY5dptL8AKlyogYSs7F3G92KG2EhrI7j4NoUBtJ4-PTB53F2TZ31dReLsbzxBa3ljbwqQgwzQsUPYROLXA40EIJFdr2oYp67AzozSW8jt8MWFC8y19PsHEEEBW1jw8TT7Lq8XL_7mo5avasfsIYS7-VgP3ZFu6Y-Rab-gPNtjsT4pLh91BkDKWzbyHr0OmH4W1rhTJ5HfZ8YGpA0Ntm7_rOyNBd06qeBU496AQHk24-U_l9p4NvAvHuJ_fR-Z6ahgvWPlZQc1iCTRlJ6leM7ED3JNehIV0onOVQvGquJpF2WeEWFPcioQaqf4iScqHEchV--3Mn2k1yP_-b4AsVtSPRFYG8UuiRACPzg6ENVFjyeGOk3rrHjLR3j7s61pdgqtMOKZ1WtbOV8AcNON8ac1xJPN7O2YmjO3D0H4JmzXh_GxRskTpkl1D9En9zJXn99oWsNBOYgQQmv7s_7j82ZrXGoyOME-iT"
}

コンパートメントの作成

ヘルプ: oci iam compartment create -h

コンパートメントを作成する前に、「コンパートメントの使用」を確認してコンパートメントの設計、リソース、管理および制約を理解してください。

コンパートメントを作成するには、次のコマンドを実行します。

oci iam compartment create --name <compartment_name> -c <root_compartment_id> --description "<friendly_description>"
コマンド例とレスポンス
oci iam compartment create --name CLIsandbox -c ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom --description "For testing CLI features"
{
  "data": {
    "compartment-id": "ocid1.tenancy.oc1..aaaaaaaawuu4tdkysd2ups5fsclgm5ksfjwmx6mwem5sbjyw5ob5ojq2vkxa",
    "description": "For testing CLI features",
    "id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
    "inactive-status": null,
    "lifecycle-state": "ACTIVE",
    "name": "CLIsandbox",
    "time-created": "2017-06-27T18:52:52.214000+00:00"
  },
  "etag": "24a4737ede9d34eae934c93e9549ee684a15efc8"
}
ヒント

コマンドの実行時に返される情報をトラッキングします。このドキュメントでの作業時に、いくつかのケースでこの情報が必要になります。たとえば、前述のコマンドではテナンシのOCIDが返されますが、これはルート・コンパートメントでもあります。
"compartment-id": "ocid1.tenancy.oc1..aaaaaaaawuu4tdkysd2ups5fsclgm5ksfjwmx6mwem5sbjyw5ob5ojq2vkxa"

仮想クラウド・ネットワークの作成

インスタンスを起動するには、仮想クラウド・ネットワーク(VCN)と関連リソースを事前に作成しておく必要があります。次のタスクを使用してネットワーク環境を準備します。

  1. 仮想クラウド・ネットワークの作成

    ヘルプ: oci network vcn create -h

    DNS名とCIDRブロック範囲を指定して、VCNを作成します。

    VCNを作成するには、次のコマンドを実行します。

    oci network vcn create --compartment-id <compartment_id> --display-name "<friendly_name>" --dns-label <dns_name> --cidr-block "<0.0.0.0/0>"
    コマンド例とレスポンス
    oci network vcn create --compartment-id ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --display-name "cli_vcn" --dns-label sandboxvcn1 --cidr-block "10.0.0.0/16"
    {
      "data": {
        "cidr-block": "10.0.0.0/16",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "default-dhcp-options-id": "ocid1.dhcpoptions.oc1.phx.aaaaaaaaexnsdwsjmxnmmt4tpzkcbyengrnfpgnqzlkzz7qfx6faeqfbtcfa",
        "default-route-table-id": "ocid1.routetable.oc1.phx.aaaaaaaagdjre4rmk5dq6qqkftjtzyn7vctemqga3i6qrxvf23stedpujo2q",
        "default-security-list-id": "ocid1.securitylist.oc1.phx.aaaaaaaaxa3cr5zqshmed7zf64bxcrxb2zerinxhc52zrqe5w27hrau75j2q",
        "display-name": "cli_vcn",
        "dns-label": "sandboxvcn1",
        "id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr",
        "lifecycle-state": "AVAILABLE",
        "time-created": "2017-06-27T22:14:15.683000+00:00","vcn-domain-name": "sandboxvcn1.oraclevcn.com"
      },
      "etag": "9037efc5"
    }

    テナンシに問合せを送信することで、どの構成についても情報を取得できます。

    たとえば、ネットワーク情報を取得するには、次のコマンドを実行します。

    oci network vcn list -c <compartment_id>
    コマンド例とレスポンス
    oci network vcn list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l
    {
      "data": [
        {
          "cidr-block": "10.0.0.0/16",
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "default-dhcp-options-id": "ocid1.dhcpoptions.oc1.phx.aaaaaaaaexnsdjmxncbydrwrnfwspgnqzlkzz7qfmmt4tpzkx6faeqfbtcfa",
          "default-route-table-id": "ocid1.routetable.oc1.phx.aaaaaaaagdjre4jtzyn7vctmqga3i6qrxvf2rmk5dqdrwqkft3stedpujo2q",
          "default-security-list-id": "ocid1.securitylist.oc1.phx.aaaaaaaaxa3cr5zqsdrwxb2zerinxhc52zrqe5wmed74bxczf27hrau75j2q",
          "display-name": "cli_vcn",
          "dns-label": "sandboxvcn1",
          "id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr",
          "lifecycle-state": "AVAILABLE",
          "time-created": "2017-06-27T22:14:15.683000+00:00",
          "vcn-domain-name": "sandboxvcn1.oraclevcn.com"
        }
        ]
    }
  2. セキュリティ・リスト・イングレス・ルールの構成

    ヘルプ: oci network security-list create -h

    VCNを作成すると、デフォルトのセキュリティ・リストが作成されます。ただし、Windowsインスタンスでは、ポート3389に対してインバウンド・トラフィックを有効にすることも必要です。Windowsポート要件に対処する2つ目のリストを作成することをお薦めします。--security-list-idsオプションを使用して、サブネットを作成するときに両方のセキュリティ・リストをサブネットに関連付けます。

    ノート

    CLIでのJSON文字列の受渡し

    次のコマンドでは、複雑な入力がJSONテキスト文字列として渡されます。特にWindows環境で作業している場合、JSON入力のフォーマットに関するヘルプは、「複雑な入力を渡す」を参照してください。

    新規セキュリティ・リストを作成し、ポート3389のイングレス・ルールを構成するには、次のコマンドを実行します。

    oci network security-list create -c <compartment_id> --egress-security-rules "[{"destination": "<0.0.0.0/0>", "protocol": "<6>", "isStateless": <true>, "tcpOptions": {"destinationPortRange": <null>, "sourcePortRange": <null>}}]" --ingress-security-rules "[{"source": "<0.0.0.0/0>", "protocol": "<6>", "isStateless": <false>, "tcpOptions": {"destinationPortRange": {"max": <3389>, "min": <3389>}, "sourcePortRange": <null>}}]" --vcn-id <vcn_id> --display-name <rule_name>
    コマンド例とレスポンス
    oci network security-list create -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --egress-security-rules "[{"destination": "0.0.0.0/0", "protocol": "6", "isStateless": true, "tcpOptions": {"destinationPortRange": null, "sourcePortRange": null}}]" --ingress-security-rules "[{"source": "0.0.0.0/0", "protocol": "6", "isStateless": false, "tcpOptions": {"destinationPortRange": {"max": 3389, "min": 3389}, "sourcePortRange": null}}]" --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr --display-name port3389rule
    {
      "data": {
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "port3389rule",
        "egress-security-rules": [
          {
            "destination": "0.0.0.0/0",
            "icmp-options": null,
            "is-stateless": true,
            "protocol": "6",
            "tcp-options": {
            "destination-port-range": {
            "max": null,
            "min": null
          },
            "source-port-range": null
          },
            "udp-options": null
          }
          ],
          "id": "ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jjfons6o2h33drwdh5hev6elir55hnrhi2ywqfnd5rcqk4q",
          "ingress-security-rules": [
            {
              "icmp-options": null,
              "is-stateless": false,
              "protocol": "6",
              "source": "0.0.0.0/0",
              "tcp-options": {
              "destination-port-range": {
              "max": 3389,
              "min": 3389
            },
            "source-port-range": null
          },
          "udp-options": null
        }
        ],
        "lifecycle-state": "AVAILABLE",
        "time-created": "2017-08-23T19:50:58.104000+00:00",
        "vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr"
      },
      "etag": "d063779e"
    }
  3. サブネットの作成

    ヘルプ: oci iam availability-domain list -hoci network subnet create -h

    この次のステップでは、デフォルトのセキュリティ・リストおよび新しいセキュリティ・リストのOCIDを指定する必要があります。これらのOCIDを記録していない場合は、oci network security-list listコマンドを使用して、仮想クラウド・ネットワークのセキュリティ・リストのリストを取得します。

    サブネットを作成する前に、サブネットの作成に使用できる可用性ドメインを確認する必要があります。

    コンパートメントの可用性ドメイン・リストを取得するには、次のコマンドを実行します。

    oci iam availability-domain list -c <compartment_id>
    コマンド例とレスポンス
    oci iam availability-domain list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l
    {
      "data": [
        {
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "name": "EMIr:PHX-AD-1"
        },
        {
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "name": "EMIr:PHX-AD-2"
        },
        {
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "name": "EMIr:PHX-AD-3"
        }
        ]
    }

    AD-1にサブネットを作成するには、次のコマンドを実行します。

    oci network subnet create --vcn-id <vcn_id> -c <compartment_id>  --availability-domain "<availability_domain_name>" --display-name <display_name> --dns-label "<dns_label>" --cidr-block "<10.0.0.0/16>" --security-list-ids "["<default_security_list_id>","<new_security_list_id>"]"
    コマンド例とレスポンス
    oci network subnet create --vcn-id ocid1.vcn.oc1.phx.aaaaaaaah2ast7desae6ok3amu64wozj3kskox75awryr5j2nd7tkocplajq -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l  --availability-domain "EMIr:PHX-AD-1" --display-name CLISUB --dns-label "vminstances" --cidr-block "10.0.0.0/16" --security-list-ids "["ocid1.securitylist.oc1.phx.aaaaaaaaw7c62ybv4f5drwv2mup3f75aiquhbkbh4s676muq5t7j5tjckvlq","ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jjfons6o2h33drwdh5hev6elir55hnrhi2ywqfnd5rcqk4q"]"
    {
      "data": {
        "availability-domain": "EMIr:PHX-AD-1",
        "cidr-block": "10.0.0.0/16",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "dhcp-options-id": "ocid1.dhcpoptions.oc1.phx.aaaaaaaaexnsdjmxnmmt4tpzkengrnfwspgnqzldrw7qfx6cbyfaeqfbtcfa",
        "display-name": "CLISUB",
        "dns-label": "vminstances",
        "id": "ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2",
        "lifecycle-state": "PROVISIONING",
        "prohibit-public-ip-on-vnic": false,
        "route-table-id": "ocid1.routetable.oc1.phx.aaaaaaaagdjqga3i6qrxvf23stedpre4rmkdrw6qeqkftjtzyn7vctmujo2q",
        "security-list-ids": [
          "ocid1.securitylist.oc1.phx.aaaaaaaaw7c62ybv4f5drwv2mup3f75aiquhbkbh4s676muq5t7j5tjckvlq",
          "ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jjfons6o2h33drwdh5hev6elir55hnrhi2ywqfnd5rcqk4q"
        ],
        "subnet-domain-name": vminstances.sandboxvcn1.oraclevcn.com,
        "time-created": "2017-08-24T00:51:30.462000+00:00",
        "vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr",
        "virtual-router-ip": "10.0.0.1",
        "virtual-router-mac": "00:00:17:7F:8A:D7"
      },
      "etag": "92d20c35"
    }
  4. インターネット・ゲートウェイの作成

    ヘルプ: oci network internet-gateway create -h

    インターネット・ゲートウェイを作成するには、次のコマンドを実行します。

    oci network internet-gateway create -c <compartment_id> --is-enabled <true> --vcn-id <vcn_id> --display-name <gateway_display_name>
    コマンド例とレスポンス
    oci network internet-gateway create -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --is-enabled true --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr --display-name sbgateway
    {
      "data": {
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "sbgateway",
        "id": "ocid1.internetgateway.oc1.phx.aaaaaaaa3vcd7gmqqh4po6wnsjhcdkxlddeqinmnbanzz2wsh5gdrwt574ka",
        "is-enabled": true,
        "lifecycle-state": "AVAILABLE",
        "time-created": "2017-08-25T20:03:48.482000+00:00",
        "vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr"
      },
      "etag": "d13fb7e3"
    }
  5. ルート表へのルールの追加

    ヘルプ: oci network route-table list -hoci network route-table update -h

    VCNを作成すると、ルート表が自動的に作成されます。ルート表にルールを追加する前に、表のOCIDが必要です。

    ルート表のOCIDを取得するには、次のコマンドを実行します。

    oci network route-table list -c <compartment_id> --vcn-id <vcn_id>
    コマンド例とレスポンス
    oci network route-table list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr
    {
      "data": [
        {
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "display-name": "Default Route Table for cli_vcn",
          "id": "ocid1.routetable.oc1.phx.aaaaaaaagdjqga3i6qrxvf23stedpre4rmkdrw6qeqkftjtzyn7vctmujo2q",
          "lifecycle-state": "AVAILABLE",
          "route-rules": [],
          "time-created": "2017-08-25T21:46:04.324000+00:00",
          "vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr"
        }
      ]
    }
    

    前のレスポンスの情報"route rules":[]は、ルールが含まれないルート表があることを示しています。表は存在しているため、表を更新してルールを作成します。次のコマンドを実行すると、ルート・ルールの更新に関する警告が表示されます。ルート・ルールに対するどのような更新でも、既存のすべてのルールが置き換えられます。続行して更新を処理する場合は、yを入力してください。

    ルート・ルールを更新するには、次のコマンドを実行します。

    oci network route-table update --rt-id <route_table_id> --route-rules "[{"cidrBlock":"<0.0.0.0/0>","networkEntityId":"<internet_gateway_id>"}]
    WARNING: Updates to route-rules will replace any existing values. Are you sure you want to continue? [y/N]: y
    コマンド例とレスポンス
    oci network route-table update --rt-id ocid1.routetable.oc1.phx.aaaaaaaagdjqga3i6qrxvf23stedpre4rmkdrw6qeqkftjtzyn7vctmujo2q --route-rules "[{"cidrBlock":"0.0.0.0/0","networkEntityId":"ocid1.internetgateway.oc1.phx.aaaaaaaa3vcd7gmqqh4po6wnsjhcdkxlddeqinmnbanzz2wsh5gdrwt574ka"}]
    WARNING: Updates to route-rules will replace any existing values. Are you sure you want to continue? [y/N]: y
    {
      "data": {
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "Default Route Table for cli_vcn",
        "id": "ocid1.routetable.oc1.phx.aaaaaaaa4kujevzdsnd7bh6aetvrhvzdrwcxmmblspmyj3pqwckchajvz6fa",
        "lifecycle-state": "AVAILABLE",
        "route-rules": [
          {
            "cidr-block": "0.0.0.0/0",
            "network-entity-id": "ocid1.internetgateway.oc1.phx.aaaaaaaa3vcd7gmqqh4po6wnsjhcdkxlddeqinmnbanzz2wsh5gdrwt574ka"
          }
          ],
        "time-created": "2017-08-25T23:46:04.324000+00:00","vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr"
        },
      "etag": "3fc998d8"
    }

インスタンスの起動の準備

インスタンスを起動する際には次の情報を提供する必要があります。この中にはすでに取得済のものもあります。

  • compartment-id
  • availability-domain
  • subnet-id
  • image-id
  • shape
  1. 使用可能なイメージに関する情報の取得

    ヘルプ: oci compute image list -h

    image-idに、インストールするオペレーティング・システムを指定します。詳細は、プラットフォーム・イメージを参照してください。

    イメージのリストを取得するには、次のコマンドを実行します。

    oci compute image list -c <compartment_id>
    コマンド例とレスポンス

    Oracle Linux、CentOS、UbuntuおよびWindows Serverのイメージが使用可能です。このレスポンスの例では、Oracle Linux 7 .3の情報のみが示されます。

    oci compute image list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l
    {
      "base-image-id": null,
      "compartment-id": null,
      "create-image-allowed": true,
      "display-name": "Oracle-Linux-7.3-2017.03.03-0",
      "id": "ocid1.image.oc1.phx.aaaaaaaaevkccomzepja4yhahz6rguhqbuomuto7gdrw5hjimqsig6syeqda",
      "lifecycle-state": "AVAILABLE",
      "operating-system": "Oracle Linux",
      "operating-system-version": "7.3",
      "time-created": "2017-03-03T19:04:30.824000+00:00"
    }
  2. 使用可能なシェイプに関する情報の取得

    ヘルプ: oci compute shape list -h

    シェイプによって、使用する仮想マシンまたはベア・メタル・ホストの構成を指定します。コンピュート・シェイプには、使用可能なシェイプの最新情報が含まれています。

    このチュートリアルの目的に合せて、テストのために仮想マシン・シェイプとして--shape "VM.Standard1.1"を使用します。このシェイプはCPU1個とメモリー7 GBで構成されています。

    ノート

    シェイプとブロック・ボリュームのサイズ設定

    コンピュート・インスタンスのシェイプとブロック・ボリュームのサイズ設定は、このチュートリアルでは扱いません。例では、設定できる最小のサイズを使用しています。

    使用可能なすべてのベア・メタルおよび仮想マシンのシェイプのリストを取得するには、次のコマンドを実行します。

    oci compute shape list -c <compartment_id> --availability-domain "<availability_domain_name>"
    コマンド例とレスポンス
    oci compute shape list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --availability-domain "EMIr:PHX-AD-1"
    {
      "data": [
        {
          "shape": "BM.Standard1.36"
        },
        {
          "shape": "VM.Standard1.1"
        },
        {
          "shape": "VM.Standard1.2"
        },
        {
          "shape": "VM.Standard1.4"
        },
        {
          "shape": "VM.Standard1.8"
        },
        {
          "shape": "VM.Standard1.16"
        },
        {
          "shape": "VM.DenseIO1.4"
        }
      ]
    }

Linuxインスタンスの起動

これで、準備した構成に基づいてLinuxインスタンスを起動できるようになりました。

  1. 公開キー/秘密キー・ペアを使用したインスタンスへの接続

    CLIを使用してインスタンスを起動する場合、インスタンスにアクセスするには既存のキー・ペアが必要です。(このキー・ペアは、API署名キーと同じではありません。)

  2. インスタンスを起動します

    ヘルプ: oci compute instance launch -h

    注意

    この例では、--ssh-authorized-keys-fileパラメータで、コンピュート・インスタンスへのアクセスに必要な公開キーを含むファイルを参照しています。インスタンスの起動時にこのキーを指定しないと、起動後にインスタンスにアクセスできません。

    Linuxインスタンスを起動するには、次のコマンドを実行します。

    oci compute instance launch --availability-domain "<availability_domain_name>" -c <compartment_id> --shape "<shape_name>"   --display-name "<instance_display_name>"   --image-id <image_id> --ssh-authorized-keys-file "<path_to_authorized_keys_file>" --subnet-id  <subnet_id>
    コマンド例とレスポンス
    oci compute instance launch --availability-domain "EMIr:PHX-AD-1" -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --shape "VM.Standard1.1"   --display-name "Linux Instance"   --image-id ocid1.image.oc1.phx.aaaaaaaa5yu6pw3riqtuhxzov7fdngi4tsteganmao54nq3pyxu3hxcuzmoa --ssh-authorized-keys-file "C:\Users\testuser\.oci\linux_key.pem" --subnet-id  ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2
    {
      "data": {
        "availability-domain": "EMIr:PHX-AD-1",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "Linux Instance",
        "extended-metadata": {},
        "id": "ocid1.instance.oc1.phx.abyhqljrtv7hhenrra6hsdrwjqvszcr2gs7c76tuuzc33iyl6bz5mfnbzw7q",
        "image-id": "ocid1.image.oc1.phx.aaaaaaaa5yu6pw3riqtuhxzov7fdngi4tsteganmao54nq3pyxu3hxcuzmoa",
        "ipxe-script": null,
        "lifecycle-state": "RUNNING",
        "metadata": {
          "ssh_authorized_keys": "ssh-rsa AAAAB3NzaABJQAAAQC1yc2EAAAEAtaT/s9HZ24VeLUxcBNT//nPygk75BWpA+kuQotpH4yP1tpqJvOBZoTKwoYa0BuoVcY4VP1GkuCEUrpojZ5F6LybbVeO+ixpuxcPTRNZcVPZJfUVZqg7u8CCjih2T9qH9ZrOcXBJCyKrxEE2kkP4RunnS38MvuDnySYus/04V8l7sEudqWWQX88iZO4oV+Sc4vljbZIaOqNrlAJV5xfQHISL2Ejq8Q1JKaO2Mc6D4Ku/6qEwe0ihtPGoi0zFmPoWstfgc1UqTdiRsYECzzaWqVYpl7RO5h4pIP6/lgBfOsv/Dcg19ND7/qKnmJ4/9iKuacI2bm+HF2oR0gY4C2MvL3Q== rsa-key-20817080\n"
        },
        "region": "phx",
        "shape": "VM.Standard1.1",
        "time-created": "2017-08-26T20:39:03.340000+00:00"
      },
      "etag": "2df9d1f14856a2e9a0cc239417f1ee829288b8badeb7ac6fb6d5b3553cbd148c--gzip"
    }
  3. インスタンスのVNIC情報を取得します

    ヘルプ: oci compute instance list-vnics -h

    インスタンスに接続するには、インスタンスのパブリックIPアドレスが必要です。インスタンスのVNICにこの情報があります。

    インスタンスのVNICのリストを取得するには、次のコマンドを実行します。

    oci compute instance list-vnics --instance-id <instance_id>
    コマンド例とレスポンス
    oci compute instance list-vnics --instance-id ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d
    {
      "data": [
        {
          "availability-domain": "EMIr:PHX-AD-1",
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "display-name": "Linux Instance",
          "hostname-label": null,
          "id": "ocid1.vnic.oc1.phx.abyhqljrxqrdrwuhj4nly7dp7ctr7xvclvejc7pu5rq77e37vlsq2al5y74a",
          "lifecycle-state": "AVAILABLE",
          "private-ip": "10.0.0.2",
          "public-ip": "129.145.32.236",
          "subnet-id": "ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2",
          "time-created": "2017-08-24T00:51:30.462000+00:00"
          }
        [
    }
  4. インスタンスのブロック・ボリュームを作成します

    ヘルプ: oci bv volume create -h

    設定可能な最小サイズを使用してブロック・ボリュームを作成します。

    注意

    ブロック・ボリューム・サイズは1024MB単位で表されます。次のコマンドの例では、最小サイズ--size-in-mbs 51200すなわち50GBが使用されています。

    ブロック・ボリュームを作成するには、次のコマンドを実行します。

    oci bv volume create --availability-domain "<availability_domain_name>" -c <compartment_id> --size-in-mbs <51200> --display-name <volume_display_name>
    コマンド例とレスポンス
    oci bv volume create --availability-domain "EMIr:PHX-AD-1" -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --size-in-mbs 51200 --display-name LinuxVol
    {
      "data": {
        "availability-domain": "EMIr:PHX-AD-1",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "LinuxVol",
        "id": "ocid1.volume.oc1.phx.abyhqlsktp2ec7pdazl4y324drw5lxruh5nxjrgbgqq7znsj5oo4t25nvcta",
        "lifecycle-state": "PROVISIONING",
        "size-in-mbs": 51200,
        "time-created": "2017-08-26T00:51:30.462000+00:00"
      },
      "etag": "720652578"
    }

    ライフサイクル状態が"PROVISIONING"から"AVAILABLE"に変化したら、そのボリュームをLinuxインスタンスにアタッチできます。

    ヒント

    ライフサイクル状態の確認

    ブロック・ボリュームのライフサイクル状態は、作成したボリュームに対してoci bv volume getコマンドを使用して確認できます。コンピュート・インスタンスおよびVNICなど他のリソースを問い合せて、ライフサイクル状態を確認することもできます。

  5. ブロック・ボリュームをインスタンスにアタッチします

    ヘルプ: oci compute volume-attachment attach -h

    ブロック・ボリュームをLinuxインスタンスにアタッチするには、次のコマンドを実行します。

    oci compute volume-attachment attach --instance-id <instance_id> --type <iscsi> --volume-id <volume_id>
    コマンド例とレスポンス
    oci compute volume-attachment attach --instance-id ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d --type iscsi --volume-id ocid1.volume.oc1.phx.abyhqljrgbktp2ec7pdazl4y324drw5lxruh5nxt25gqq7znsj5oo4snvcta 
    {
      "data": {
        "attachment-type": "iscsi",
        "availability-domain": "EMIr:PHX-AD-1",
        "chap-secret": null,
        "chap-username": null,
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": null,
        "id": "ocid1.volumeattachment.oc1.phx.abyhqlytoivg6eaybdrwb7mqqms6utjrefofrplyip7filf3vtpk55h2hzlq",
        "instance-id": "ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d",
        "ipv4": null,
        "iqn": null,
        "lifecycle-state": "ATTACHING",
        "port": null,
        "time-created": "2017-08-26T00:55:30.462000+00:00",
        "volume-id": "ocid1.volume.oc1.phx.fewtr0p6pm9lj7h7rpf8w3drwlf4x9tadrw1sbs7n5qkx7dcu7bk"
      },
      "etag": "0c0afdb14a0a10ffc15283366798ac82f623433e6f5619eb2d4469612b32a332"
    }

Windowsインスタンスの起動

Windowsインスタンスの起動は、Linuxインスタンスの起動と同じパターンに従い、同じ情報を必要とします。唯一の大きな違いは、次のコマンドに示すように、オペレーティング・システムとシェイプです。

  1. インスタンスを起動します

    ヘルプ: oci compute instance launch -h

    Windowsインスタンスを起動するには、次のコマンドを実行します。

    oci compute instance launch --availability-domain "<availability_domain_name>" -c <compartment_id> --shape "<shape_name>"   --display-name "<instance_display_name>" --image-id <image_id> --subnet-id <subnet_id>
    コマンド例とレスポンス
    oci compute instance launch --availability-domain "EMIr:PHX-AD-1" -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --shape "VM.Standard1.2"   --display-name "Windows Instance" --image-id ocid1.image.oc1.phx.aaaaaaaa53cliasgvqmueus5byytfldrwafbro2y4ywjebci5szc42e2b7ua --subnet-id ocid1.subnet.oc1.phx.aaaaaaaaypsr25bzjmj3drwiha6lodzus3yn6xwgkcrgxdgafscirbhj5bpa
    {
      "data": {
        "availability-domain": "EMIr:PHX-AD-1",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "Windows Instance",
        "extended-metadata": {},
        "id": "ocid1.instance.oc1.phx.zsutzirph7cbrbx6rzu91stavdrw58puq3isknlr07zfcd6rq6p9",
        "image-id": "ocid1.image.oc1.phx.aaaaaaaa53cliaskafbro2y4drwebci5szc4eus5bygvqmutflwqy2e2b7ua",
        "ipxe-script": null,
        "lifecycle-state": "PROVISIONING",
        "metadata": {},
        "region": "phx",
        "shape": "VM.Standard1.2",
        "time-created": "2017-08-26T00:51:30.462000+00:00"
      },
      "etag": "4ec3da1e2415c49f55ed705c4d81edb2739da62946d36d73f816e8241e705b3b"
    }
  2. インスタンスのVNIC情報を取得します

    VNIC情報を取得するには、次のコマンドを実行します。

    oci compute instance list-vnics --instance-id <instance_id>
  3. インスタンスのブロック・ボリュームを作成します

    ブロック・ボリュームを作成するには、次のコマンドを実行します。

    oci bv volume create --availability-domain "<availability_domain_name>" -c <compartment_id> --size-in-mbs <51200> --display-name <display_name>
  4. ブロック・ボリュームをインスタンスにアタッチします

    ブロック・ボリュームをWindowsインスタンスにアタッチするには、次のコマンドを実行します。

    oci compute volume-attachment attach --instance-id <instance_id> --type <iscsi> --volume-id <volume_id>

インスタンスへの接続

パブリックIPアドレスはLinuxインスタンスとWindowsインスタンスに接続するために必要ですが、2つのインスタンスに共通するのはこれだけです。認証、ポート構成、デスクトップ・クライアント・プログラムなど、いくつもの違いがあります。

  1. Linuxインスタンスへの接続

    インスタンスへの接続では、UnixスタイルまたはWindowsスタイルのシステムからLinuxインスタンスへの接続方法を説明します。

  2. Windowsインスタンスへの接続

    ヘルプ: oci compute instance list-vnics -hおよびoci compute instance get-windows-initial-creds -h

    リモートデスクトップ・クライアント(RDC)を使用してインスタンスに接続するには、次のものが必要です:

    • インスタンスのパブリックIPアドレス
    • Windowsの初期資格証明

    WindowsインスタンスのパブリックIPアドレスを取得するには、次のコマンドを実行します。

    oci compute instance list-vnics --instance-id <instance_id>
    コマンド例とレスポンス
    oci compute instance list-vnics --instance-id ocid1.instance.oc1.phx.zsutzirph7cbrbx6rzu91stavdrw58puq3isknlr07zfcd6rq6p9
    {
      "data": [
        {
          "availability-domain": "EMIr:PHX-AD-1",
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "display-name": "Windows Instance",
          "hostname-label": null,
          "id": "ocid1.vnic.oc1.phx.abyhqljr5m5mmra3ecxasw6vdrwq5ft23dqn4dlrl45hdggz6rgfdwpp4ija",
          "lifecycle-state": "AVAILABLE",
          "private-ip": "10.10.0.3",
          "public-ip": "129.142.0.212",
          "subnet-id": "ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2",
          "time-created": "2017-08-26T00:51:30.462000+00:00"
        }
      ]
    }

    Windowsの初期資格証明を取得するには、次のコマンドを実行します。

    oci compute instance get-windows-initial-creds --instance-id  <instance_id>
    コマンド例とレスポンス
    oci compute instance get-windows-initial-creds --instance-id  ocid1.instance.oc1.phx.zsutzirph7cbrbx6rzu91stavdrw58puq3isknlr07zfcd6rq6p9
    {
      "data": {
      "password": "Cz{73~~vf@dnK7A",
      "username": "opc"
      }
    }

    Windowsインスタンスへの接続では、RDCを使用してインスタンスに接続する方法を説明します。

テスト環境のクリーンアップ

このチュートリアルで説明されているテスト環境の設定が終了したら、使用していないリソースを削除してテスト環境をクリーンアップします。

ブロック・ボリュームのデタッチと削除

ヘルプ: oci compute volume-attachment list -hoci compute volume-attachment detach -hおよびoci bv volume delete -h

インスタンスからのブロック・ボリュームの削除は、3ステップのプロセスです。次のステップを使用して、Linuxインスタンスのブロック・ボリュームをデタッチおよび削除します。

  1. volume-attachment-idを取得します

    ボリューム・アタッチメントIDは、ブロック・ボリュームの作成時に作成されます。

    ボリューム・アタッチメントIDを取得するには、次のコマンドを実行します。

    oci compute volume-attachment list -c <compartment_id>
    コマンド例とレスポンス
    oci compute volume-attachment list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l
    {
      "data": [
        {
          "attachment-type": "iscsi",
          "availability-domain": "EMIr:PHX-AD-1",
          "chap-secret": null,
          "chap-username": null,
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "display-name": null,
          "id": "ocid1.volumeattachment.oc1.phx.abyhqlytoivg6eaybdrwb7mqqms6utjrefofrplyip7filf3vtpk55h2hzlq",
          "instance-id": "ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d",
          "ipv4": "169.254.2.2",
          "iqn": "iqn.2015-12.com.oracleiaas:e3fd73db-b164-4d76-bc3f-f58b093989d0",
          "lifecycle-state": "ATTACHED",
          "port": 3260,
          "time-created": "2017-08-26T00:51:30.462000+00:00",
          "volume-id": "ocid1.volume.oc1.phx.abyhqpa3ati7ggfjvba7y6dcg7imdrwskq4bdljroo2cbwchrebuprxddvca"
        }
        ]
      }
    }
  2. volume-attachment-idをデタッチします

    ボリューム・アタッチメントIDをデタッチするには、次のコマンドを実行します。

    oci compute volume-attachment detach --volume-attachment-id <volume_attachment_id>
    コマンド例とレスポンス
    oci compute volume-attachment detach --volume-attachment-id ocid1.volumeattachment.oc1.phx.abyhqlytoivg6eaybdrwb7mqqms6utjrefofrplyip7filf3vtpk55h2hzlq
    Are you sure you want to delete this resource? [y/N]: 
    リソースのデタッチや削除など、すべての破壊的アクションでは、--forceパラメータを使用して、確認なしでリソースを削除できます。ベスト・プラクティスとしては、--forceではなくY/Nオプションを使用してください。

    削除を確認します。リソースが削除されてもレスポンスは返されません。

  3. ブロック・ボリュームを削除します

    ブロック・ボリュームを削除するには、次のコマンドを実行します。

    oci bv volume delete --volume-id <volume_id> --force
    コマンド例とレスポンス
    1. oci bv volume delete --volume-id ocid1.volume.oc1.phx.abyhqljroo2cbwchrpa3ati7ggfjvba7y6dcg7imnleskq4bdebuprxddvca --force

      このアクションに対するレスポンスはありません。ブロック・ボリュームが削除されたことを確認するには、次のコマンドを実行します。

      oci bv volume list -c <compartment_id>

      この問合せに対するレスポンスは、"lifecycle-state": "TERMINATED"を返し、ボリュームが存在しないことを示します。

Windowsインスタンスにアタッチされたブロック・ボリュームを削除するには、ガイドとして前述のステップ(1-3)を使用します。

インスタンスの終了

ヘルプ: oci compute instance terminate -h

Linuxインスタンスを削除するには、次のコマンドを実行します。

oci compute instance terminate --instance-id <instance_id>
コマンド例とレスポンス
oci compute instance terminate --instance-id ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d
Are you sure you want to delete this resource? [y/N]:

削除を確認します。インスタンスが削除されてもレスポンスは返されません。

Windowsインスタンスを削除するには、次のコマンドを実行します。

oci compute instance terminate --instance-id <instance_id>
コマンド例とレスポンス
oci compute instance terminate --instance-id ocid1.instance.oc1.phx.zsutzirph7cbrbx6rzu91stavdrw58puq3isknlr07zfcd6rq6p9
Are you sure you want to delete this resource? [y/N]:

削除を確認します。インスタンスが削除されてもレスポンスは返されません。

仮想クラウド・ネットワークの削除

ヘルプ: oci network subnet delete -hoci network vcn delete -h

次の2つのステップに従ってVCNを削除します。

  1. サブネットを削除します

    サブネットを削除するには、次のコマンドを実行します。

     oci network subnet delete --subnet-id <subnet_id> --force
    コマンド例とレスポンス
     oci network subnet delete --subnet-id ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2 --force

    なし

  2. 仮想クラウド・ネットワークを削除します

    VCNを削除するには、次のコマンドを実行します。

    oci network vcn delete --vcn-id  <vcn_id> --force
    コマンド例とレスポンス
    oci network vcn delete --vcn-id  ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr --force

    なし