クラウド・シェル

Oracle Cloud Infrastructure (OCI) Cloud Shellは、Oracle CloudコンソールからアクセスできるWebブラウザベースのターミナルである。

Oracle Cloud Infrastructure (OCI) Cloud Shellは、Oracle CloudコンソールからアクセスできるWebブラウザベースのターミナルである。クラウド・シェルは(月次テナンシ制限内で)無償で使用でき、Linuxシェルへのアクセスを提供します。このシェルには、事前認証済のOracle Cloud Infrastructure CLI、事前認証済のAnsibleインストール、およびOracle Cloud Infrastructureサービスのチュートリアルとラボに従うための他の便利なツールが含まれています。
ノート

クラウド・シェルでは、適切なセキュリティ・ポリシーが設定されている場合にのみパブリック・インターネットにアクセスできます。詳細は、クラウド・シェルのネットワーキングを参照してください。
クラウド・シェルはすべてのOCIユーザーが使用できる機能で、コンソールからアクセス可能です。クラウド・シェルは、コンソールの永続フレームとしてOracle Cloudコンソールに表示され、コンソールの別のページに移動してもアクティブなままになります。

クラウド・シェルの提供内容:

  • OCIコマンドライン・インタフェース(CLI)の最新バージョンおよび多数の便利なツールで事前構成された、Linuxシェルのホストとして使用するエフェメラル・マシン

  • ホーム・ディレクトリ用に5GBの暗号化された永続ストレージ

  • コンソールの異なるページに移動したときに、アクティブなままになるコンソールの永続フレーム

クラウド・シェルの仕組み

クラウド・シェル・マシンは、OCIコンソールからアクセスするBashシェルを実行する、小さな仮想マシンです。クラウド・シェルには、事前認証済のOCI CLIが付属しています。コンソール・テナンシのホーム・ページ領域に設定され、最新のツールおよびユーティリティも用意されています。
ノート

クラウド・シェルでは、適切なセキュリティ・ポリシーが設定されている場合にのみパブリック・インターネットにアクセスできます。詳細は、クラウド・シェルのネットワーキングを参照してください。

クラウド・シェルには、ホーム・ディレクトリ用に5GBの永続ストレージが付属しているため、ホーム・ディレクトリにローカルでの変更を加えた後に、クラウド・シェルに戻ったときにプロジェクトで作業を続行できます。

クラウド・シェルは(テナンシの月次制限内で)無償で使用することができ、クラウド・シェルへのアクセス権を付与するIAMポリシー以外の設定または前提条件が必要ありません。クラウド・シェルには、それ自体のテナンシで実行される(テナンシのリソースが使用されないため)VMがプロビジョニングされており、クラウド・シェルをアクティブに使用している間に、Oracle Linux OSでシェルをホストしています。

クラウド・シェルに含まれるもの

Cloud ShellがOracle Linux 8で動作

OCI CLIに加え、Oracle Linux 8を実行するクラウド・シェルVMには、次のような数多くの便利なツールとユーティリティの現在のバージョンが事前にインストールされています:

  • Git
  • Java
    ノート

    Cloud Shellでは、Toolkit for Javaダウンロードを使用して、Oracle Javaリリースをインストールできるようになりました。詳細は、Toolkit for Java Downloadを参照してください。

  • Python
    ノート

    複数のバージョンのPythonがクラウド・シェルに含まれています。csruntimectlを使用して、Pythonのバージョンを切り替えます。例: csruntimectl python listを実行して使用可能なPythonバージョンのリストを取得し、csruntimectl python set <python-alias>を実行してPythonバージョンを切り替えます。
  • Oracle GraalVM JDK 17およびネイティブ・イメージ
  • 次を含むほとんどのOCI SDK:
    • Java
    • Python
    • Go
    • TypeScriptおよびJavaScript
  • SQLcl
  • kubectl
  • helm
  • maven
  • terraform
  • ansible
  • nodes
  • podman
    ノート

    Docker Engineは、Oracle Linux 8ベースのクラウド・シェルにインストールされなくなりました。Podmanは、デーモンレス・アーキテクチャで同様のコンテナ管理エクスペリエンスを提供します。下位互換性のために、Cloud Shellには、コマンド"podman"のラッパーである"docker"別名が用意されています。「podman」または「docker」コマンドを使用して、Dockerと大部分互換性のあるコマンドでコンテナを実行できます。podmanの詳細は、Oracle Linux Podmanユーザーズ・ガイドを参照してください。

    podman loginまたはdocker loginコマンドを実行してコンテナ・レジストリにサインインすると、auth.jsonファイルは/run/user/<uid>/containers/auth.json (たとえば、/run/user/1101/containers/auth.json.)という場所に書き込まれます。

  • buildah
  • skopeo
  • runc
  • iputils
  • jqmake
  • tmux
  • vim
  • NPM
  • wget
  • zip/unzip
  • nano
  • emacs
  • pip
  • bash
  • sh
  • tar
  • nvm
  • mysql-community-client
  • mysqlsh
  • ipython
  • OCI-powershell-modules (x86_64 only)
  • GoldenGate Admin client (x86_64 only)
  • Fn ProjectのCLI

    OCI関数を操作するために必要です。

    ノート

    クラウド・シェルでFn CLIを使用する場合、OCI Functionsはマルチアーキテクチャ・イメージに基づくファンクションの作成およびデプロイメントをサポートせず、マルチアーキテクチャ・シェイプを持つアプリケーションをサポートしません。クラウド・シェル・セッションのアーキテクチャは、アプリケーションのアーキテクチャと一致する必要があります。

必要なIAMポリシー

クラウド・シェルを開始するには、IAMポリシーを介して、クラウド・シェルへのアクセス権をユーザーに付与する必要があります。Oracle Cloud Infrastructureの各サービスは、すべてのインタフェース(コンソール、SDKまたはCLI、およびREST API)の認証および認可のためにIAMと統合されています。
ノート

ユーザーがクラウド・シェル管理パブリック・ネットワークにアクセスできるようにするには、アイデンティティ・ポリシーを介してユーザー・アクセス権を付与する必要があります。詳細は、クラウド・シェルのパブリック・ネットワークを参照してください。

Oracle Cloud Infrastructureを使用するには、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどれを使用しているかにかかわらず、テナンシのルート・コンパートメントにおいて、管理者が記述するポリシーによって必要なアクセスのタイプを付与されている必要があります。アクションを実行しようとしたときに、権限がない、または認可されていないというメッセージが表示された場合は、アクセス権が付与されていることを管理者に確認してください。

ノート

クラウド・シェルは、コンパートメント・レベルでのポリシーをサポートしていません。テナンシ・レベルのみです。
クラウド・シェルのリソース名は「cloud-shell」です。次に、クラウド・シェルへのアクセス権を付与するポリシーの例を示します:
allow group <GROUP-NAME> to use cloud-shell in tenancy
このポリシー例は、ドメイン内のグループにクラウド・シェルの使用を許可する方法を示しています:
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy

ポリシーを初めて使用する場合は、アイデンティティ・ドメインの管理共通ポリシーおよびポリシーおよび動的グループの作成を参照してください。

クラウド・シェルの制限

クラウド・シェルを使用する際は、次の制限事項に注意してください:

  • Docker Engineは、Oracle Linux 8ベースのクラウド・シェルにインストールされなくなりました。Podmanは、デーモンレス・アーキテクチャで同様のコンテナ管理エクスペリエンスを提供します。下位互換性のために、Cloud Shellには、コマンド"podman"のラッパーである"docker"別名が用意されています。「podman」または「docker」コマンドを使用して、Dockerと大部分互換性のあるコマンドでコンテナを実行できます。podmanの詳細は、Oracle Linux Podmanユーザーズ・ガイドを参照してください。
  • デフォルトでは、クラウド・シェルは、クラウド・シェル・パブリック・ネットワークを有効にしていないかぎり、テナンシ・ホーム・リージョンのOCI内部リソースへのネットワーク・アクセスを制限します。管理者は、クラウド・シェルのパブリック・ネットワークを有効にするようにアイデンティティ・ポリシーを構成する必要があります。詳細は、クラウド・シェルのネットワーキングを参照してください。
  • クラウド・シェルには、VMのホーム・ディレクトリ用に5GBのストレージが付属しています。このストレージはセッション間で維持されますが、6か月を超えて使用していない場合、テナンシの管理者は60日以内にストレージが削除されることを示す通知を受け取ります。Cloud Shellセッションを開始して、ストレージ削除タイマーをリセットします。
  • クラウド・シェルでは、追加ストレージのマウントはサポートされていません。
  • クラウド・シェルでは、ユーザー・ファイルのマルウェアやウィルスはスキャンされません。
  • クラウド・シェルのセッションでは着信接続が許可されないため、パブリックIPアドレスはありません。
  • OCI CLIでは、クラウド・シェルの起動時に、コンソールの「リージョン」選択メニューで選択されているリージョンに対してコマンドが実行されます。コンソールでリージョンの選択を変更しても、既存のクラウド・シェル・インスタンスのリリージョンは変更されません。新しいクラウド・シェル・インスタンスを開いてリージョンを変更する必要があります。
  • クラウド・シェル・セッションの最大長は24時間で、60分間非アクティブ状態が続くと、タイムアウトします。
  • クラウド・シェルは、ブラウザとサービス間の通信にWebSocketを使用します。ブラウザでWebSocketが無効になっているか、WebSocketが無効になっている企業プロキシを使用している場合、コンソールからクラウド・シェルを起動しようとすると、エラー・メッセージ(「予期しないエラーが発生しました」)が表示されます。
  • クラウド・シェルは、Oracle Cloud Infrastructureリソースとの対話型の使用を目的として設計されています。クラウド・シェル用の追加ストレージが必要なユーザー、または非対話型の長時間実行タスクを実行する必要があるユーザーは、テナンシでコンピュート・リソースおよびストレージ・リソースの使用をお薦めします。
  • 互換性を最大化するために、クラウド・シェルにはPythonバージョン2およびPythonバージョン3が含まれています。Python 2は、コマンドラインで「python」と入力したときに実行されるデフォルトです。Python 3を実行するには、コマンドラインで「python3」と入力します。
  • 次の予約語はクラウド・シェル・ユーザーのユーザー名として使用できません: ocirootbindaemonadmlpsyncshutdownhaltmaioperatorgamesftpnobodyocisystemd-networkdbuspolkitdtssおよびapache。これらの予約語の1つであるサービス名(またはユーザー名が電子メール・アドレスの場合は@記号の前の名前の一部)でログインしたときに、クラウド・シェル・セッションを作成しようとすると、「予期しないエラー」メッセージが表示されます。
  • すべて数字のユーザー名(たとえば、"1234")は、クラウド・シェルでサポートされていません。
  • クラウド・シェル・セッションのタイム・ゾーンはUTCであり、変更できません。
  • クラウド・シェル端末では、ルート・アクセスおよびsudoは許可されないため、ルート権限が必要なパッケージをインストールできません。ただし、多くのパッケージには、root権限を必要としないバージョンが用意されています。これらは解凍してホーム・ディレクトリに直接インストールできます。
  • クラウド・シェル端末では、pingコマンドは許可されません。
  • クラウド・シェルはFIPSモードで起動しますが、これは一部のコマンドの動作に影響する可能性があります。
  • クラウド・シェルがFIPSモードで起動するため、opensslコマンドの使用時にPKCS#1キーを生成することはできません。FIPSモードでは、クラウド・シェルがPKCS#8キーを生成する必要があります。
  • クラウド・シェル・サービスではネットワーク・ソースはサポートされていません。
  • クラウド・シェル制限の詳細は、サービス制限のクラウド・シェルの項を参照してください。

クラウド・シェルのアクセスとその他の制限

テナンシ管理者によって付与されたポリシーに従って、クラウド・シェルからOCIリソースにアクセスできます。クラウド・シェルを使用しているため、追加のアクセス権はありません。クラウド・シェルでは、テナンシVCNs内のテナンシまたはプライベート・リソースへの追加アクセス権が提供されません。
ノート

クラウド・シェルは、ブラウザとサービス間の通信にWebSocketを使用します。ブラウザでWebSocketが無効になっているか、WebSocketが無効になっている企業プロキシを使用している場合、コンソールからクラウド・シェルを起動しようとすると、エラー・メッセージ(「予期しないエラーが発生しました」)が表示されます。

クラウド・シェルではインターネットへのアクセスを提供しますが、外部からCloud Shellへのイングレス(例: クラウド・シェルへのSSHでのアクセス)はないため、パブリックIPアドレスはありません。テナンシ管理者がOCIからのインターネットへのアクセスを有効化しない場合、IAMポリシーでクラウド・シェルへのアクセス権を付与しないでください。

クラウド・シェルのリソースの場所および所有権

クラウド・シェルを初めて起動するとき、サービスによってホーム・ディレクトリのために永続ブロック・ストレージ・ボリューム(5GB)が作成されます。ホーム・ディレクトリ・ボリュームはテナンシ・ホーム・リージョンにあります。クラウド・シェル・セッションを実行しているマシンも、テナンシ・ホーム・リージョンにあります。

ノート

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

コンソールのリージョン選択を変更したり、別のリージョンのURLを介してコンソールにログインしたりしても、クラウド・シェルのマシンとホーム・ディレクトリ・ボリュームの場所には影響しません。テナンシ・ホーム・リージョンを確認するには、コンソールで「テナンシの詳細」ページを表示します。

ノート

クラウド・シェルのリソース(クラウド・シェルのセッションに使用されるVMを含む)はクラウド・シェル・サービスが所有しており、お客様のテナンシには存在していません。このため、使用しているクラウド・シェルのVMをテナンシの動的グループに追加することや、クラウド・シェルのセッションに使用するインスタンスのインスタンス・プリンシパルを使用することはできません。

クラウド・シェルおよびリージョン

クラウド・シェルを起動すると、サービスは、コンソールで選択されたリージョンを使用してクラウド・シェル・セッションを構成し、選択されているコンソールのリージョンとOCI CLIが相互作用するようになります。

クラウド・シェルのデフォルトのbashプロンプトでは、OCI CLIが相互作用しているリージョンがクラウド・シェルのコマンド・プロンプトにエコーされます:

リージョン情報を含むクラウド・シェル・プロンプト

クラウド・シェル・セッションの起動後に、コンソールで選択されているリージョンを変更しても、アクティブなクラウド・シェル・セッションには影響しません。OCI CLIが相互作用しているリージョンをクラウド・シェルで変更する場合は、次のいずれかを行います:

  • 現在のクラウド・シェル・セッションを終了し、コンソールで選択されているリージョンを変更してから、新しいクラウド・シェル・セッションを起動します。
  • OCI_CLI_PROFILE環境変数を使用して、現在選択されているOCI CLIプロファイルを変更します

詳細は、クラウド・シェルの使用のリージョンの管理の項を参照してください。

クラウド・シェルのアーキテクチャ

有料層ユーザーの場合、クラウド・シェル・セッションのデフォルト・アーキテクチャ(ARM (aarch64)x86_64またはプリファレンスなし)を選択できます。

デフォルトでは、アーキテクチャ・プリファレンスは「プリファレンスなし」に設定されています。これを選択すると、クラウド・シェル・セッションは、リージョンで使用可能なハードウェアに応じて、x86_64またはARM (aarch64)アーキテクチャに基づきます。

アーキテクチャの選択

アーキテクチャを選択するには:

クラウド・シェルまたはコード・エディタ内からアクセスできる「アクション」メニューを開き、「アーキテクチャ」を選択します。

Cloud Shellアーキテクチャ・アクション・メニュー

これにより、「アーカイブ」ダイアログが表示されます。

クラウド・シェル・アーキテクチャ・ダイアログ

「アーキテクチャ」ダイアログに、現在選択されているアーキテクチャが表示されます。

目的のアーキテクチャを選択するには、適切なラジオ・ボタンを選択し、「確認して再起動」ボタンをクリックします。
ノート

リージョンで特定のアーキテクチャがサポートされていない場合は、そのアーキテクチャを選択できません。
クラウド・シェルのスイッチ・アーキテクチャ・ダイアログ
ノート

クラウド・シェル・アーキテクチャを切り替える前に、ツールおよびワークロードが、選択しようとしているアーキテクチャと互換性があることを確認してください。

アーキテクチャの移行に成功すると、次の通知が表示されます。

Cloud Shellアーキテクチャ選択成功メッセージ