クラウド・シェルの使用

クラウド・シェルの開始

クラウド・シェルには2つの方法でアクセスできます:

  • OCIコンソールを使用します
  • ドキュメント全体の多くのコマンドラインおよびコード・サンプルに表示される「試してみる」ボタンを使用します
ノート

クラウド・シェルは、ユーザーOCIDを使用してホーム・ディレクトリを作成します。テナンシに複数のアカウントがある場合(たとえば、フェデレーテッド・ユーザー・アカウントと非フェデレーテッド・ユーザー・アカウントがある場合)、アカウントごとにそれぞれ一意のクラウド・シェル・ホーム・ディレクトリが取得されます。

コンソールを使用してクラウド・シェルにアクセスするには:

  1. コンソールにログインします。
  2. コンソール・ヘッダーで「クラウド・シェル」アイコンをクリックします。クラウド・シェルで実行中のOCI CLIでは、クラウド・シェルの起動時に、コンソールの「リージョン」選択メニューで選択されているリージョンに対してコマンドが実行されることに注意してください。

クラウド・シェル起動アイコン

これにより、コンソール下部のドロワーにクラウド・シェルが表示されます:

クラウド・シェル・ドロワーの例

「クラウド・シェル」ウィンドウの右上隅にあるアイコンを使用すると、クラウド・シェル・セッションを最小化、最大化、再起動および閉じることができます。

ノート

クリップボード操作の場合、Windowsユーザーは[Ctrl]+[C]または[Ctrl]+[Insert]を使用してコピーし、[Shift]+[Insert]または[Ctrl]+[V]を使用して貼り付けることができます。Mac OSユーザーの場合は、[Cmd]+[C]を使用してコピーし、[Cmd]+[V]を使用して貼り付けます。

「試してみる」ボタンを使用してクラウド・シェルにアクセスするには:

OCIドキュメントの多くのコードおよびコマンド・サンプルに「試してみる」ボタンが含まれます。このボタンにより、サンプルがクリップボードにコピーされ、クラウド・シェル・セッションが開き、サンプルを試してみることができます。

クラウド・シェルには事前認証済のOCI CLIが用意されているため、使用を開始する前に必要な設定はありません。

次のコマンドで試してください:

oci os ns get
oci iam compartment list

クラウド・シェルからのOKEクラスタとの相互作用

クラスタへのクラウド・シェル・アクセスの設定の手順に従います:

  1. クラウド・シェルで使用するOKE kubeconfigファイルを設定します:
    1. クラスタを選択します。
    2. 「クラスタへのアクセス」ボタンをクリックします。
    3. 「クラウド・シェル・アクセス」をクリックします。
    4. 「クラウド・シェルの起動」をクリックして「クラウド・シェル」ウィンドウを表示します。
    5. 「クラウド・シェル」ウィンドウで、Oracle Cloud Infrastructure CLIコマンドを実行してkubeconfigファイルを設定し、kubectlからアクセスできる場所に保存します。例:

      $ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaaae... --file $HOME/.kube/config  --region us-phoenix-1 --token-version 2.0.0
  2. 「クラウド・シェル」ウィンドウで次のコマンドを入力して、kubectlが使用可能であり、「クラウド・シェル」ウィンドウからクラスタに接続できることを確認します:

    $ kubectl get nodes

ファイルの転送

Cloud Shellとの間でファイルを転送できますが、次の制限があります。
  • [ファイル転送]ダイアログでは、転送するファイルを一度に1つしか選択できませんが、ドラッグアンドドロップを使用すると、転送するファイルを複数選択できます。
  • ディレクトリは転送できません。
  • 最大ファイル・サイズは4 GBです。
  • 転送されたファイルに対するファイル権限は保持されません。
  • ファイル名がログに記録されます。ファイル名に個人識別可能情報(PII)を使用しないでください。
ドラッグ・アンド・ドロップを使用してクラウド・シェルにファイルをアップロードするには:
  1. 1つ以上のファイルを「Cloud Shell」ウィンドウにドラッグします。

メニューを使用してクラウド・シェルにファイルをアップロードするには:

  1. 「Cloud Shell」ウィンドウの左上にある「Cloud Shell」メニューをクリックし、「Upload」を選択します。「ファイル・アップロード」ダイアログが表示されます。
  2. コンピュータ上のファイルをドラッグ・アンド・ドロップするか、「選択」をクリックします。


    [ファイル転送]ダイアログでは、転送するファイルを一度に1つだけ選択できます。
  3. 「アップロード」ボタンをクリックします。
  4. File Transfer」ダイアログが表示されます。
    1. 処理中のファイル転送が進行状況バーとともに表示されます。
    2. 進行中のファイル転送を取り消すには、ファイルの進行状況バーの横にある「X」をクリックします。
    3. 完了したファイル転送は緑色のチェック・マーク付きで表示されます
    4. ファイル転送」ダイアログを非表示にするには、「非表示」をクリックします
    5. 「クラウド・シェル」メニューから「ファイル転送」を選択すると、いつでも「ファイル転送」ダイアログを表示できます。

クラウド・シェルからファイルをダウンロードするには:

  1. 「Cloud Shell」ウィンドウの左上にある「Cloud Shell」メニューをクリックし、「Download」を選択します。「ファイルのダウンロード」ダイアログが表示されます。
  2. ダウンロードするホームディレクトリ内のファイルの名前を入力します。
    ノートホーム・ディレクトリからのみファイル

    をダウンロードできます。
  3. Download」ボタンをクリックします。
  4. File Transfer」ダイアログが表示されます。
    1. 処理中のファイル転送が進行状況バーとともに表示されます。
    2. 進行中のファイル転送を取り消すには、ファイルの進行状況バーの横にある「X」をクリックします。
    3. 完了したファイル転送は緑色のチェック・マーク付きで表示されます
    4. ファイル転送」ダイアログを非表示にするには、「非表示」をクリックします
    5. 「クラウド・シェル」メニューから「ファイル転送」を選択すると、いつでも「ファイル転送」ダイアログを表示できます。

クラウド・シェルのOCI CLI構成のカスタマイズ

クラウド・シェルには、事前認証済のOCI CLIが付属しています。新規クラウド・シェルを開いたとき、このCLIはユーザーに対してリフレッシュおよびプロビジョニングされます。OCI構成の場所とトークンは、/etc/ociのユーザーのホーム・ディレクトリの外部にあります。例:


            example_user@cloudshell:~ (us-ashburn-1)$ ll /etc/oci
            total 20K
            drwxrwx---. 1 root oci 44 Oct 12 00:07 ./
            drwxr-xr-x. 1 root root 4.0K Oct 12 00:07 ../
            -rw-------. 1 jonathan_s oci 1.9K Jan 1 1970 config
            -rw-------. 1 jonathan_s oci 1.3K Jan 1 1970 delegation_token
            example_user@cloudshell:~ (us-ashburn-1)$

構成ファイルの場所、OCI CLI認証タイプおよびプロファイル選択は、環境変数を使用して指定されます:

OCI_CLI_AUTH=instance_obo_user
            OCI_CLI_CONFIG_FILE=/etc/oci/config
            OCI_CLI_PROFILE=us-ashburn-1

OCI CLIをカスタマイズするには、OCI CLIのRCファイルを作成し、これをローカルの.ociディレクトリに配置します:

$ oci setup oci-cli-rc --file path/to/target/file

OCI CLIの構成の詳細は、CLIの構成を参照してください。

クラウド・シェル・リージョンの管理

クラウド・シェルでは、CLI構成ファイルおよびENV変数を使用して、OCI CLIが相互作用するリージョンを決定します。OCI CLI構成ファイル(環境変数OCI_CLI_CONFIG_FILEで指定)には、クラウド・シェルのCLIプロファイルが含まれます。各リージョンに独自のCLIプロファイルがあり、現在のプロファイルはOCI_CLI_PROFILE環境変数を介して指定されます。

たとえば、コンソールの「リージョン」ドロップダウンで「米国東部(アッシュバーン)」が選択された状態で、コンソールからクラウド・シェルを開くと、OCI_CLI_PROFILEus-ashburn-1に設定された状態でクラウド・シェルが開きます。

ノート

選択されるリージョンはクラウド・シェルを開いたときのコンソール構成に応じて変わるため、クラウド・シェルに[DEFAULT]プロファイル値はありません。

クラウド・シェルでOCI CLI設定をカスタマイズする場合は、OCI CLI構成ファイルを使用できます。たとえば、RCファイルの該当するリージョン・プロファイルの下で、構成ファイルにデフォルト・コンパートメントを設定するとします。「us-ashburn-1」の例では、このようなデフォルト・コンパートメント設定を追加できます:

[COMPARTMENT DEFAULTS]
[us-ashburn-1]
compartment-id = ocid1.compartment.oc1..xxxxxxxx

クラウド・シェル環境のリセット

csresetツールを使用して、クラウド・シェル環境をデフォルト状態にリセットできます。bashプロファイルおよびemacs設定のみをリセットすることも、ホーム・ディレクトリ内のすべてのデータを削除してbashおよびemacs設定をリセットすることもできます。

bashファイルをリセットするには

--bashfiles (または-b)オプションを使用して、$HOME/.bashrc$HOME/.bash_profile$HOME/.bash_logoutおよび$HOME/.emacsファイルをデフォルト値にリセットできます:

csreset --bashfiles

または

csreset -b

すべてをリセットするには

--all (または-a)オプションを使用して、$HOMEディレクトリのすべてのデータを消去し、$HOME/.bashrc$HOME/.bash_profile$HOME/.bash_logoutおよび$HOME/.emacsファイルをデフォルト値にリセットできます:

csreset --all

または

csreset -a

ヘルプの表示

使用オプションを表示するには、--helpまたは-hオプションを使用します:

csreset -h

または

csreset --help

Pythonバージョンの作業

互換性を最大化するために、クラウド・シェルにはPythonバージョン2と3が両方とも含まれています。Python 2は、コマンドラインで「python」と入力したときに実行されるデフォルトです。
python
Python 3を実行するには、コマンドラインで「python3」と入力します。
python3

kubectlバージョンの操作

Cloud Shellには、OKEで現在サポートされている各Kubernetesバージョンが事前インストールされています。これらのバージョンは/usr/local/bin/kubectl-{version}にインストールされ(例: /usr/local/bin/kubectl-v1.17.13)、バイナリへのパスがPATH環境変数に含まれています。

デフォルトでは、クラウド・シェル・セッションでkubectlを実行すると、2番目に最近インストールされたkubectlバージョンが呼び出されます。これは、Kubernetesのバージョン・スキュー・ポリシーに基づいて互換性を最適化するために行います。

デフォルト・バージョンとは異なるバージョンのkubectlを使用する場合、バージョン固有のバイナリを起動できます。

例:
kubectl-v1.17.13 get services
もう1つのオプションは、kubectlを特定のバージョンを指す別名を作成することです。
例:
alias kubectl=kubectl-v1.17.13
ノート

クラウド・シェル・セッション間で別名を保持する場合は、別名定義を~/.bashrcファイルに追加します。