クラウド・シェル

Oracle Cloud Infrastructure (OCI) Cloud Shellは、Oracle Cloud Consoleからアクセスできる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でシェルをホストします。

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

クラウド・シェルVMには、OCI CLIに加えて、現在のバージョンの多くの役立つツールおよび事前インストールされたユーティリティが用意されています:

  • Git
  • Java
  • Python (2および3)
  • SQL Plus
  • kubectl
  • helm
  • maven
  • gradle
  • terraform
  • ansible
  • node.js
  • iputils
  • jqmake
  • tmux
  • ヴィム
  • NPM
  • 忘れた
  • zip/unzip
  • おばあさん
  • emacs
  • 学校をサボる
  • 睫毛
  • しーっ
  • tar
  • nvm
  • mysql-community-client
  • Dockerエンジン
  • ipython
  • oci-powershell-modules
  • 次を含むほとんどのOCI SDK:
    • Java
    • Python
    • Go
    • TypeScriptおよびJavaScript
    • Ruby

必要な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

ポリシーを初めて使用する場合は、ポリシーの開始共通ポリシーを参照してください。

クラウド・シェルの制限

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

  • クラウド・シェルには、VMのホーム・ディレクトリ用に5GBのストレージが付属しています。このストレージはセッション間で維持されますが、6か月を超えて使用していない場合、テナンシの管理者は60日以内にストレージが削除されることを示す通知を受け取ります。クラウド・シェル・セッションを開始すると、ストレージ削除タイマーがリセットされます。
  • クラウド・シェルでは、追加ストレージのマウントはサポートされていません。
  • クラウド・シェルでは、ユーザー・ファイルのマルウェアやウィルスはスキャンされません。
  • クラウド・シェル・セッションでは受信接続が許可されず、使用可能なパブリックIPアドレスがありません。
  • OCI CLIでは、クラウド・シェルの起動時に、コンソールの「リージョン」選択メニューで選択されているリージョンに対してコマンドが実行されます。コンソールでリージョンの選択を変更しても、既存のクラウド・シェル・インスタンスのリージョンは変更されません。新しいクラウド・シェル・インスタンスを開いてリージョンを変更する必要があります。

  • クラウド・シェル・セッションの最大長は24時間で、20分間非アクティブ状態が続くと、タイムアウトします。
  • クラウド・シェルは、ブラウザとサービス間の通信にWebSocketを使用します。ブラウザでWebSocketが無効になっているか、WebSocketが無効になっている企業プロキシを使用している場合、コンソールからクラウド・シェルを起動しようとすると、エラー・メッセージ(「予期しないエラーが発生しました」)が表示されます。

  • クラウド・シェルは、Oracle Cloud Infrastructureリソースとの対話型の使用を目的として設計されています。クラウド・シェル用の追加ストレージが必要なユーザー、または非対話型長時間実行タスクを実行する必要があるユーザーは、テナンシでコンピュート・リソースおよびストレージ・リソースを使用することをお薦めします。
  • 互換性を最大化するために、クラウド・シェルにはPythonバージョン2およびPythonバージョン3が含まれています。Python 2は、コマンドラインで「python」と入力したときに実行されるデフォルトです。Python 3を実行するには、コマンドラインで「python3」と入力します。
  • 次の予約語はクラウド・シェル・ユーザーのユーザー名として使用できません: ocirootbindaemonadmlpsyncshutdownhaltmaioperatorgamesftpnobodyocisystemd-networkdbuspolkitdtssおよびapache。これらの予約語の1つであるユーザー名(またはユーザー名が電子メール・アドレスの場合は@記号の前の名前の一部)でログインしたときに、クラウド・シェル・セッションを作成しようとすると、「予期しないエラー」メッセージが表示されます。
  • すべて数字のユーザー名(たとえば、"1234")は、クラウド・シェルでサポートされていません。
  • クラウド・シェル・セッションのタイムゾーンはUTCであり、変更できません。
  • クラウド・シェルではルート・アクセスまたはsudoの使用が許可されていないため、インストールにルート・アクセスが必要なパッケージはインストールできません。インストールのためにルートを必要としないバージョンでは、多くのパッケージを使用できます。これらはホームディレクトリに解凍してインストールできます。
  • pingにはrootアクセスが必要なため、クラウドシェルはpingを使用できません。
  • クラウド・シェル制限の詳細は、サービス制限のクラウド・シェルの項を参照してください。

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

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

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

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

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

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

ノート

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

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

ノート

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

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

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

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

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

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

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

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