クラウド・シェル
Oracle Cloud Infrastructure (OCI)クラウド・シェルは、Oracle CloudコンソールからアクセスできるWebブラウザベースのターミナルです。
クラウド・シェルの提供内容:
-
OCIコマンドライン・インタフェース(CLI)の最新バージョンおよび多数の便利なツールで事前構成された、Linuxシェルのホストとして使用するエフェメラル・マシン
-
ホーム・ディレクトリ用に5GBの暗号化永続ストレージ
-
コンソールの異なるページに移動したときに、アクティブなままになるコンソールの永続フレーム
クラウド・シェルの仕組み
クラウド・シェルには、ホーム・ディレクトリ用に5GBの暗号化された永続ストレージがあるため、ホーム・ディレクトリにローカルで変更を加えた後、クラウド・シェルに戻ったときにプロジェクトで作業を続行できます。
クラウド・シェルは(月次テナンシ制限内で)無償で使用でき、クラウド・シェルへのアクセス権を付与するIAMポリシー以外の設定または前提条件が必要ありません。クラウド・シェルには、独自のテナンシで実行されるVMがプロビジョニングされています(テナンシのリソースが使用されないため)。また、クラウド・シェルをアクティブに使用している間に、Oracle Linux OSでシェルをホストします)。
クラウド・シェルに含まれるもの 🔗
クラウド・シェルはOracle Linux 8で実行されます。
OCI CLIに加え、Oracle Linux 8を実行しているクラウド・シェルVMには、次のような多くの便利なツールとユーティリティの最新バージョンが付属しています:
- Git
- Java
- Pythonノート
クラウド・シェルには、複数のバージョンのPythonが含まれています。csruntimectl
を使用して、Pythonのバージョンを切り替えます。たとえば、使用可能なPythonバージョンのリストを取得するには"csruntimectl python list
"を、Pythonバージョンを切り替えるには"csruntimectl python set <python-alias>
"を実行します。 - Oracle GraalVM JDK 17およびネイティブ・イメージ
- 次を含むほとんどのOCI SDK:
- Java
- Python
- Go
- TypeScriptおよびJavaScript
- SQLcl
- kubectl
- helm
- maven
- terraform
- ansible
- nodes
- ポン引きノート
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
- 圧縮/解凍
- 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プロジェクトCLI
OCI Functionsの操作に必要です。
ノート
クラウド・シェルでFn CLIを使用する場合、OCI Functionsはマルチアーキテクチャ・イメージに基づくファンクションの作成およびデプロイメントをサポートしておらず、マルチアーキテクチャ・シェイプを持つアプリケーションはサポートしていません。クラウド・シェル・セッションのアーキテクチャは、アプリケーションのアーキテクチャと一致する必要があります。
必要なIAMポリシー 🔗
ユーザーがクラウド・シェルで管理されるパブリック・ネットワークにアクセスできるようにするには、アイデンティティ・ポリシーを介してユーザー・アクセス権を付与する必要があります。詳細は、Cloud Shellパブリック・ネットワークを参照してください。
Oracle Cloud Infrastructureを使用するには、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどれを使用しているかにかかわらず、テナンシのルート・コンパートメントにおいて、管理者が記述するポリシーによって必要なアクセスのタイプを付与されている必要があります。アクションを実行しようとしたときに、権限がない、または認可されていないというメッセージが表示された場合は、アクセス権が付与されていることを確認してください。
クラウド・シェルは、コンパートメント・レベルでのポリシーをサポートしていません。テナンシ・レベルのみです。
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ベースのCloud Shellにインストールされなくなりました。Podmanは、デーモンレス・アーキテクチャと同様のコンテナ管理エクスペリエンスを提供します。下位互換性のために、Cloud Shellには"podman"コマンドのラッパーである"docker"別名が用意されています。"podman"または"docker"コマンドを使用して、Dockerと主に互換性のあるコマンドでコンテナを実行できます。podmanの詳細は、Oracle Linux Podmanユーザーズ・ガイドを参照してください。
- デフォルトでは、Cloud Shellは、Cloud Shellパブリック・ネットワークを有効にしていないかぎり、テナンシ・ホーム・リージョン内のOCI内部リソースへのネットワーク・アクセスを制限します。管理者は、Cloud Shellパブリック・ネットワークを有効にするようにアイデンティティ・ポリシーを構成する必要があります。詳細は、Cloud Shellネットワーキングを参照してください。
- クラウド・シェルには、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」と入力します。
- 次の予約語はクラウド・シェル・ユーザーのユーザー名として使用できません:
oci
、root
、bin
、daemon
、adm
、lp
、sync
、shutdown
、halt
、mai
、operator
、games
、ftp
、nobody
、oci
、systemd-network
、dbus
、polkitd
、tss
およびapache
。これらの予約語の1つであるユーザー名(またはユーザー名が電子メール・アドレスの場合は@記号の前の名前の一部)でログインしたときに、クラウド・シェル・セッションを作成しようとすると、「予期しないエラー」メッセージが表示されます。 - すべて数字のユーザー名(たとえば、"1234")は、クラウド・シェルでサポートされていません。
- クラウド・シェル・セッションのタイムゾーンはUTCであり、変更できません。
- クラウド・シェル端末では、rootアクセスおよび
sudo
は許可されないため、root権限を必要とするパッケージをインストールできません。ただし、多くのパッケージには、root権限を必要としないバージョンが用意されています。これらは、開梱してホームディレクトリに直接インストールできます。 - クラウド・シェル端末では、
ping
コマンドは許可されません。 - クラウド・シェルはFIPSモードで起動しますが、これは一部のコマンドの動作に影響する可能性があります。
- クラウド・シェルはFIPSモードでブートするため、
openssl
コマンドの使用時にPKCS#1キーを生成できません。FIPSモードでは、クラウド・シェルがPKCS#8キーを生成する必要があります。 - ネットワーク・ソースはCloud Shellサービスではサポートされていません。
- クラウド・シェル制限の詳細は、サービス制限のクラウド・シェルの項を参照してください。
クラウド・シェルのアクセスとその他の制限
クラウド・シェルは、ブラウザとサービス間の通信にWebSocketを使用します。ブラウザでWebSocketが無効化されているか、WebSocketが無効化されている企業プロキシを使用している場合、コンソールからクラウド・シェルを起動しようとすると、エラー・メッセージ(予期しないエラーが発生しました)が表示されます。
クラウド・シェルではインターネットにアクセスできますが、外部からクラウド・シェルへのイングレス(例: クラウド・シェルへの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)アーキテクチャに基づきます。
アーキテクチャの選択
アーキテクチャを選択するには:
クラウド・シェルまたはコード・エディタ内からアクセスできる「アクション」メニューを開き、「アーキテクチャ」を選択します。
これにより、「Architecure」ダイアログが表示されます。
「アーキテクチャ」ダイアログには、現在選択されているアーキテクチャが表示されます。
リージョンが特定のアーキテクチャをサポートしていない場合、そのアーキテクチャは選択できません。

クラウド・シェルのアーキテクチャを切り替える前に、ツールおよびワークロードが、選択しようとしているアーキテクチャと互換性があることを確認してください。
アーキテクチャの移行が成功すると、次の通知が表示されます。