Oracle Cloud Infrastructureドキュメント

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

このトピックでは、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

レスポンス

このガイドのコマンド・グループとレスポンス・グループのほとんどは、前述の例ほど単純ではありません。 しかし、作業を進めていくうちに、読みやすく、扱いやすくなります。

始める前に

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

ベスト・プラクティスとして、テスト環境でこのチュートリアルのタスクを完了します。 この方法では、構成がテナンシ内の他の環境に影響を与えないようにします。 チュートリアルの最後に、テスト・リソースを安全に削除できます。

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

このチュートリアルでは、すべてのリソースに1つのコンパートメントを使用します。 実稼働環境を作成する準備ができたら、これらのリソースを別々のコンパートメントに分ける可能性が高くなります。

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

コンパートメントの選択

ヘルプ: oci iam compartment list -h

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

oci iam compartment list -c <tenancy_id>
コマンドの例とレスポンス

コンパートメントの作成

ヘルプ: oci iam compartment create -h

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

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

oci iam compartment create --name <compartment_name> -c <root_compartment_id> --description "<friendly_description>"
警告

いずれのCLIコマンドにもリソース名または説明を提供する際に、機密情報を入力しないでください。

コマンドの例とレスポンス
ヒント

コマンドを実行するときに返される情報を記録しておきます。 いくつかのケースでは、この文書の作業中にこの情報が必要になります。 たとえば、上記のコマンドは、テナンシのOCIDを返します。これはルート・コンパートメントでもあります。

"compartment-id": "ocid1.tenancy.oc1..aaaaaaaawuu4tdkysd2ups5fsclgm5ksfjwmx6mwem5sbjyw5ob5ojq2vkxa"

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

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

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

    ヘルプ: oci network vcn create -h

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

    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 list -c <compartment_id>
    コマンドの例とレスポンス
  2. セキュリティ・リストのイングレス・ルールを構成

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

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

    ノート

    CLIでのJSON文字列の受け渡し

    次のコマンドは、複合入力をJSONテキスト文字列として渡します。 JSON入力の書式設定の詳細は、特にWindows環境で作業している場合は、「複雑な入力を渡す」を参照してください。

    新しいセキュリティ・リストを作成し、ポート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>
    コマンドの例とレスポンス
  3. サブネットを作成

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

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

    サブネットを作成する前に、どの「可用性ドメイン」がサブネットを作成するために利用できるかを調べる必要があります。

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

    oci iam availability-domain list -c <compartment_id>
    コマンドの例とレスポンス

    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>"]"
    コマンドの例とレスポンス
  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>
    コマンドの例とレスポンス
  5. ルート表にルールを追加

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

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

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

    oci network route-table list -c <compartment_id> --vcn-id <vcn_id>
    コマンドの例とレスポンス

    前のレスポンスの情報は、ルールのないルート表があることを示しています: "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
    コマンドの例とレスポンス

インスタンスを起動するための準備

インスタンスを起動するときには、次の情報を入力する必要があります:

  • compartment-id
  • availability-domain
  • subnet-id
  • image-id
  • shape
  1. 利用可能なイメージについての情報を取得

    ヘルプ: oci compute image list -h

    image-idは、インストールするオペレーティング・システムを示します。 詳細は、「Oracle提供のイメージ」を参照してください。

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

    oci compute image list -c <compartment_id>
    コマンドの例とレスポンス
  2. 使用可能なシェイプに関する情報を取得

    ヘルプ: oci compute shape list -h

    このシェイプは、使用する仮想マシンまたはベアメタル・ホストの構成を識別します。 「コンピュート・サービスの概要」には、使用可能なシェイプに関する最新情報が含まれています。

    このウォークスルーの目的のために、この仮想マシンのシェイプをテスト用に使用してください: --shape "VM.Standard1.1" このシェイプは、CPU 1個とメモリー7 GBで構成されています。

    ノート

    シェイプとブロック・ボリューム・サイジング

    コンピュート・インスタンスのシェイプとブロック・ボリュームのサイジングは、このウォークスルーの一部ではありません。 使用例は、使用可能な最小サイズを使用しています。

    使用可能なすべてのベアメタルおよび仮想マシンのシェイプの一覧を表示するには、次のコマンドを実行します。

    oci compute shape list -c <compartment_id> --availability-domain "<availability_domain_name>"
    コマンドの例とレスポンス

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>
    コマンドの例とレスポンス
  3. インスタンスのVNIC情報を取得

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

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

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

    oci compute instance list-vnics --instance-id <instance_id>
    コマンドの例とレスポンス
  4. インスタンスのブロック・ボリュームを作成

    ヘルプ: oci bv volume create -h

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

    警告

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

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

    oci bv volume create --availability-domain "<availability_domain_name>" -c <compartment_id> --size-in-mbs <51200> --display-name <volume_display_name>
    コマンドの例とレスポンス
  5. ライフサイクルの状態が"PROVISIONING"から"AVAILABLE"に変更された後、ボリュームをLinuxインスタンスにアタッチできます。

    ヒント

    ライフサイクル・ステートの検索

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

  6. ブロック・ボリュームをインスタンスにアタッチ

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

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

    oci compute volume-attachment attach --instance-id <instance_id> --type <iscsi> --volume-id <volume_id>
    コマンドの例とレスポンス

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>
    コマンドの例とレスポンス
  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>
    コマンドの例とレスポンス

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

    oci compute instance get-windows-initial-creds --instance-id  <instance_id>
    コマンドの例とレスポンス

    「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>
    コマンドの例とレスポンス
  2. volume-attachment-idをデタッチする

    ボリュームattachment-idをデタッチするには、次のコマンドを実行します。

    oci compute volume-attachment detach --volume-attachment-id <volume_attachment_id>
    コマンドの例とレスポンス
  3. ブロック・ボリュームの削除

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

    oci bv volume delete --volume-id <volume_id> --force
    コマンドの例とレスポンス

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

インスタンスを終了

ヘルプ: oci compute instance terminate -h

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

oci compute instance terminate --instance-id <instance_id>
コマンドの例とレスポンス

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

oci compute instance terminate --instance-id <instance_id>
コマンドの例とレスポンス

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

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

VCNを削除するには、次の2つのステップが必要です。

  1. サブネットを削除

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

     oci network subnet delete --subnet-id <subnet_id> --force
    コマンドの例とレスポンス
  2. 仮想クラウド・ネットワークを削除

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

    oci network vcn delete --vcn-id  <vcn_id> --force
    コマンドの例とレスポンス