クラウド・シェル
Oracle Cloud Infrastructure (OCI) Cloud Shellは、Oracle CloudコンソールからアクセスできるWebブラウザベースのターミナルである。
クラウド・シェルの提供内容:
-
OCIコマンドライン・インタフェース(CLI)の最新バージョンと便利なツールを備えた、Linuxシェルをホストするエフェメラル・マシン。マシンはCloud Shellセッション・リージョンで実行されます。
-
クラウド・シェル・セッションがテナンシ・ホーム・リージョン(デフォルト)にある場合、ホーム・ディレクトリ用に5 GBの暗号化された永続ストレージ。
-
コンソールの別のページに移動してもアクティブなままになる、コンソールの永続フレーム
クラウド・シェルの仕組み
デフォルトでは、Cloud Shellセッションはテナンシ・ホーム・リージョンで開始され、Cloud Shellではホーム・ディレクトリに5 GBの暗号化された永続ストレージが提供されます。クラウド・シェル・セッションがテナンシ・ホーム・リージョンにある場合、ホーム・ディレクトリをローカルに変更し、テナンシ・ホーム・リージョンの後のクラウド・シェル・セッションでプロジェクトの作業を続行できます。選択したコンソール・リージョンでクラウド・シェルを起動することもできます。クラウド・シェルおよびリージョンを参照してください。
クラウド・シェルは(テナンシの月次制限内で)無償で使用することができ、クラウド・シェルへのアクセス権を付与する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 Functionsの操作に必要です。
ノート
クラウド・シェルでFn CLIを使用する場合、OCI Functionsはマルチアーキテクチャ・イメージに基づくファンクションの作成およびデプロイメントをサポートせず、マルチアーキテクチャ・シェイプを持つアプリケーションをサポートしません。クラウド・シェル・セッションのアーキテクチャは、アプリケーションのアーキテクチャと一致する必要があります。
必要なIAMポリシー
ユーザーがクラウド・シェル管理パブリック・ネットワークにアクセスできるようにするには、アイデンティティ・ポリシーを介してユーザー・アクセス権を付与する必要があります。詳細は、クラウド・シェルのパブリック・ネットワークを参照してください。
Oracle Cloud Infrastructureを使用するには、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどれを使用しているかにかかわらず、テナンシのルート・コンパートメントにおいて、管理者が記述するポリシーによって必要なアクセスのタイプを付与されている必要があります。アクションを実行しようとしたときに、権限がない、または認可されていないというメッセージが表示された場合は、アクセス権が付与されていることを管理者に確認してください。
クラウド・シェルでは、コンパートメント・レベルでのポリシーのみがサポートされません。
allow group <GROUP-NAME> to use cloud-shell in tenancyallow 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ユーザーズ・ガイドを参照してください。
-
デフォルトでは、Cloud Shellは、リージョン起動を使用しないかぎり、テナンシのホーム・リージョンであるCloud Shellセッション・リージョンのOCI内部リソースへのネットワーク・アクセスを制限します。ホーム以外のリージョンのOCI内部リソースにアクセスするには、リージョンの起動を使用してそのリージョンでCloud Shellを起動するか、Cloud Shellパブリック・ネットワークを有効にします。管理者は、クラウド・シェル・パブリック・ネットワークを有効にするようにアイデンティティ・ポリシーを構成する必要があります。詳細は、クラウド・シェル・ネットワーキングを参照してください。
-
クラウド・シェル・セッションがテナンシ・ホーム・リージョンにある場合、クラウド・シェルはVMホーム・ディレクトリに5 GBのストレージを提供します。この記憶域は、ホーム・リージョン・セッション間で永続的です。6か月間使用しない場合、テナンシ管理者は、ストレージが60日以内に削除されるという通知を受信します。テナンシのホーム・リージョンでCloud Shellセッションを開始すると、削除タイマーがリセットされます。
- クラウド・シェルでは、追加ストレージのマウントはサポートされていません。
- クラウド・シェルでは、ユーザー・ファイルのマルウェアやウィルスはスキャンされません。
- クラウド・シェルのセッションでは着信接続が許可されないため、パブリックIPアドレスはありません。
-
OCI CLIは、クラウド・シェルの起動時に「コンソール・リージョン」メニューで選択されたリージョンに対してコマンドを実行します。選択したコンソール・リージョンを変更しても、アクティブ・セッションのOCI CLIターゲット・リージョンは変更されません。ターゲット・リージョンを変更するには、目的のコンソール・リージョンを選択し、新しいCloud Shellセッションを開始します。
- クラウド・シェル・セッションの最大長は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であり、変更できません。
- クラウド・シェル端末では、ルート・アクセスおよび
sudoは許可されないため、ルート権限が必要なパッケージをインストールできません。ただし、多くのパッケージには、root権限を必要としないバージョンが用意されています。これらは解凍してホーム・ディレクトリに直接インストールできます。 - クラウド・シェル端末では、
pingコマンドは許可されません。 - クラウド・シェルはFIPSモードで起動しますが、これは一部のコマンドの動作に影響する可能性があります。
-
クラウド・シェルがFIPSモードで起動するため、
opensslコマンドの使用時にPKCS#1キーを生成することはできません。FIPSモードでは、クラウド・シェルがPKCS#8キーを生成する必要があります。 - クラウド・シェル・サービスではネットワーク・ソースはサポートされていません。
- クラウド・シェルの制限の詳細は、サービス制限のクラウドのシェルの項を参照してください
クラウド・シェルのアクセスとその他の制限
クラウド・シェルは、ブラウザとサービス間の通信にWebSocketを使用します。ブラウザでWebSocketが無効になっているか、WebSocketが無効になっている企業プロキシを使用している場合、コンソールからクラウド・シェルを起動しようとすると、エラー・メッセージ(「予期しないエラーが発生しました」)が表示されます。
クラウド・シェルではインターネットへのアクセスを提供しますが、外部からCloud Shellへのイングレス(例: クラウド・シェルへのSSHでのアクセス)はないため、パブリックIPアドレスはありません。テナンシ管理者がOCIからのインターネットへのアクセスを有効化しない場合、IAMポリシーでクラウド・シェルへのアクセス権を付与しないでください。
クラウド・シェルのリソースの場所および所有権
テナンシのホーム・リージョンでCloud Shellセッションを初めて開始すると、サービスにより、そのリージョンのホーム・ディレクトリに永続的な5GBブロック・ストレージ・ボリュームが作成されます。ホーム・ディレクトリ・ボリュームおよびCloud Shellセッションを実行するマシンは、テナンシのホーム・リージョンに配置されます。
リージョナル起動を使用してテナンシのホーム・リージョン外でCloud Shellセッションを開始すると、セッションを実行するマシンは選択したリージョンに配置されます。そのリージョンのホーム・ディレクトリは一時的であり、マシンが終了すると削除されます。
ホーム・ディレクトリおよびCloud Shellセッションを実行するマシンはリージョン・リソースであり、リージョン間で共有されません。
クラウド・シェルは、ユーザーOCIDを使用してホーム・ディレクトリを作成します。テナンシに複数のアカウントがある場合(たとえば、フェデレーテッド・ユーザー・アカウントと非フェデレーテッド・ユーザー・アカウントがある場合)、アカウントごとにそれぞれ一意のクラウド・シェル・ホーム・ディレクトリが取得されます。
クラウド・シェルのリソース(クラウド・シェルのセッションに使用されるVMを含む)はクラウド・シェル・サービスが所有しており、お客様のテナンシには存在していません。このため、使用しているクラウド・シェルのVMをテナンシの動的グループに追加することや、クラウド・シェルのセッションに使用するインスタンスのインスタンス・プリンシパルを使用することはできません。
クラウド・シェルおよびリージョン
クラウド・シェル・セッション・リージョン
クラウド・シェル・セッション・リージョンは、クラウド・シェル・セッションが実行されるリージョンです。デフォルトでは、選択したコンソール・リージョンに関係なく、クラウド・シェルはテナンシ・ホーム・リージョンで起動されます。テナンシ・ホーム・リージョンではないリージョンをセッション・リージョンとして使用するには、リージョンの起動を有効にし、現在のセッションを終了して、新しいCloud Shellセッションを開始します。 
ホーム・リージョンの起動
ホーム・リージョンの起動では、「コンソール・リージョン」メニューで選択したリージョンに関係なく、テナンシ・ホーム・リージョンでCloud Shellが起動します。セッション・リージョンがテナンシ・ホーム・リージョンにある場合、ホーム・ディレクトリに5 GBの永続ストレージが提供されます。これはデフォルトの起動動作です。
選択したコンソール・リージョンでCloud Shellセッション自体を実行する必要がない場合は、ホーム・リージョンの起動を使用します。クラウド・シェルを起動する前にコンソール・リージョンを変更するか、OCI CLIコマンドでリージョンを指定することで、パブリック・ネットワークの使用中にOCI CLIを使用して他のリージョンのリソースを操作できます。
地域起動
リージョンの起動では、「コンソール・リージョン」メニューで選択したリージョンでクラウド・シェルが開始されます。セッション・リージョンがテナンシのホーム・リージョンでないかぎり、セッション・リージョンのホーム・ディレクトリは一時的であり、永続化されません。
クラウド・シェルがホームではないリージョンのOCIリソースにアクセスする必要がある場合は、OCI Service NetworkまたはPrivate Network Accessでリージョン起動を使用します。クラウド・シェルがパブリック・ネットワークを使用する場合、リージョン間アクセスにリージョン間起動は必要ありません。
起動プリファレンスの設定
- Cloud Shellを開く
- クラウド・シェルの「アクション」メニューから、「起動プリファレンスの設定」を選択します。
- 「リージョン起動の有効化」をオンまたはオフにし、「更新」を選択します。
- 現在のCloud Shellセッションを終了します。
- 新しいCloud Shellセッションを開始します。
更新された起動プリファレンスは、新しいCloud Shellセッションに適用され、アクティブ・セッションのセッション・リージョンは変更されません。
OCI CLIターゲット・リージョン
クラウド・シェルでは、OCI CLIコマンドは、クラウド・シェル・セッションの開始時に「コンソール・リージョン」メニューで選択されたリージョンを使用します。
OCI CLIターゲット・リージョンは、Cloud Shellセッション・リージョンと異なる場合があります。たとえば、コンソールが別のリージョンに設定されているときにホーム・リージョンの起動が使用された場合、クラウド・シェルはテナンシ・ホーム・リージョンで実行されますが、OCI CLIコマンドは起動時に選択したコンソール・リージョンをターゲットとします。
デフォルトのCloud Shell Bashプロンプトでは、OCI CLIターゲット・リージョンがコマンドライン・プロンプトに表示されます。
OCI CLIコマンドがデフォルトで使用するリージョンを変更するには、現在のCloud Shellセッションを終了し、コンソールで選択したリージョンを変更してから、新しいCloud Shellセッションを開始するか、OCI_CLI_PROFILE環境変数を使用して選択したOCI CLIプロファイルを変更します。詳細は、クラウド・シェル・リージョンの管理を参照してください。
クラウド・シェルのアーキテクチャ
有料層ユーザーの場合、クラウド・シェル・セッションのデフォルト・アーキテクチャ(ARM (aarch64)、x86_64またはプリファレンスなし)を選択できます。
デフォルトでは、アーキテクチャ・プリファレンスは「プリファレンスなし」に設定されています。これを選択すると、クラウド・シェル・セッションは、リージョンで使用可能なハードウェアに応じて、x86_64またはARM (aarch64)アーキテクチャに基づきます。
アーキテクチャの選択
アーキテクチャを選択するには:
クラウド・シェルまたはコード・エディタ内からアクセスできる「アクション」メニューを開き、「アーキテクチャ」を選択します。
「アーキテクチャ」ダイアログが表示されます。
「アーキテクチャ」ダイアログに、選択したアーキテクチャが表示されます。
リージョンで特定のアーキテクチャがサポートされていない場合は、そのアーキテクチャを選択できません。

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