クラウドサービス

OCI Cloud Shell

ブラウザだけですぐ使える、認証済みの CLI 環境をマネージドで提供。ツール導入や鍵設定なしに OCI を操作でき、AWS の CloudShell に近い位置づけ。

基礎運用上の優秀性セキュリティ
最終更新: 2026-07-29公式ドキュメント
3つの要点
TL;DR
  1. コンソールから起動する一時的なOracle Linux環境で、事前認証済みのOCI CLIをすぐ使える。
  2. 実行用VMはOracle側にあり、利用者ごとの暗号化された5GBホームだけがセッション後も残る。
  3. 権限はログイン利用者のIAM、到達性は既定のOCIサービス網、管理者が許可した公開網、選択したVCNで決まる。

解決する課題

OCI を CLI で操作するには、本来なら手元の端末に oci CLI をインストールし、API 署名鍵を生成して構成ファイルを整える、といった準備が必要です。OCI Cloud Shell は、これらの準備を不要にする、ブラウザ上で動くマネージドなターミナル環境です。

  • 端末ごとに oci CLI やツールを導入・更新したくない → 主要ツールが事前導入済みの環境がすぐ使える
  • API 署名鍵の生成や構成ファイルの管理をしたくない → ログイン中ユーザーの権限で自動的に認証される
  • 共有端末や出先など、手元に開発環境がない状況で操作したい → ブラウザとログインだけで使える
  • ちょっとした管理作業や検証を、専用の踏み台やコンピュートを立てずに済ませたい → コンソール内のシェルで完結する
  • スクリプトや設定ファイルをセッションをまたいで残したい → 永続ホームディレクトリに保持できる

AWS でいえば、本サービスはブラウザ内のマネージドシェルを提供する AWS CloudShell に近い位置づけです。

主要概念と用語

  • Cloud Shell: OCI コンソール上部から開く、ブラウザ内のターミナル。Linux ベースのシェル環境で、コンソールのセッションと連動する
  • ホームディレクトリ (Home Directory): ユーザーごとに割り当てられる永続ストレージ。セッションを閉じても保存したファイルやスクリプトが残る
  • 事前導入ツール: oci CLI、各種言語ランタイム、kubectl や Terraform 系ツールなど、よく使うツールがあらかじめ入っている
  • マシン構成 (シェルセッション): Cloud Shell に割り当てられる小さな計算リソース。利用者はサーバーを意識せず、Oracle 側が管理する
  • インアクティビティタイムアウト: 一定時間操作がないとセッションが切断される仕組み。再接続すればホームディレクトリの内容は維持される
  • コンパートメント (Compartment): OCI のリソース整理・権限分離の単位。Cloud Shell から操作する対象リソースもコンパートメントの IAM ポリシーに従う
  • Cloud Shell のネットワーク方式: 既定の OCI サービス・ネットワーク、管理者が IAM で許可する公開ネットワーク、ホームリージョンの VCN へ接続するプライベートネットワークアクセスの 3 方式

仕様・制限・クォータ

  • 利用には追加料金がかからないのが基本で、テナンシのユーザーであれば使い始められる
  • ホームディレクトリは利用者ごとに暗号化された 5 GB。テナンシのホームリージョンに置かれ、コンソールのリージョンを変えても移動しない
  • セッションの VM は一時的で、ホーム以外の変更は残らない。重要な成果物は Object Storage やコードリポジトリへ退避する
  • セッションに割り当てられる CPU・メモリは小規模で、重いビルドや大規模処理向けではない
  • OCI CLI の既定対象は Cloud Shell 起動時にコンソールで選択していたリージョン。別リージョンは --region で明示する
  • 既定の OCI サービス・ネットワークは、テナンシのホームリージョンにある OCI リソースだけへ到達し、公開インターネットへは出られない
  • 公開ネットワークには use cloud-shell-public-network の IAM 許可が必要で、セキュリティ・ゾーンのポリシーで禁止される場合がある
  • プライベートネットワークアクセスで選べる VCN/サブネットはホームリージョン内。よく使うネットワークは最大 5 件を保存できる
  • リージョンごとのアクティブ利用者/月間利用時間の既定上限は、Universal Credits が 75 人/400 時間、従量課金が 50 人/240 時間、無料トライアルが 8 人/160 時間

内部の仕組み

横にスクロール

OCIコンソールの利用者がCloud Shellの一時VMへ接続し、永続ホームと事前認証済みCLIからOCIサービス網、公開網、VCNを選ぶ経路
既定は公開インターネットではなくOCIサービス網。公開網は管理者のIAM許可、VCN接続はホームリージョン内で明示する

Cloud Shell は Oracle が運用するマネージドサービスで、利用者はサーバーを管理しません。コンソールからシェルを開くと、Oracle 側で用意された小さな Linux 環境にブラウザのターミナルが接続され、その環境にユーザー専用の永続ホームディレクトリがマウントされます。

認証の要は、ログイン中の OCI ユーザーの権限がそのままシェルに引き継がれる点です。コンソールにサインインしているユーザーのコンテキストでトークンが発行され、oci CLI はそのトークンを使って API を呼び出します。手元で署名鍵を作って構成ファイルに書く、といった作業は不要です。したがって、Cloud Shell から実行できる操作の範囲は、そのユーザーに付与された IAM ポリシーの範囲と一致します。

ネットワーク面は 3 方式です。既定の OCI サービス・ネットワークはホームリージョンの OCI リソースへ閉じた経路で、公開インターネットへは出られません。インターネット接続が必要なら、管理者が IAM で許可した Cloud Shell 公開ネットワークを選びます。VCN 内の DB やコンピュートへ接続する場合は、ホームリージョンのサブネットを使う プライベートネットワークアクセスを明示的に構成します。

権限はログインユーザー次第

Cloud Shell で何ができるかは、そのシェルに特別な権限が付いているからではなく、サインインしているユーザーの IAM ポリシーで決まります。Cloud Shell からのアクセスが拒否されたら、まず自分のユーザー/グループに付与されたポリシーと対象コンパートメントを確認しましょう。

設計パターン / ベストプラクティス

  • 日常の管理・検証はまず Cloud Shell で: 軽い CLI 操作やスクリプト検証は、専用の踏み台やローカル環境を用意せずブラウザで済ませる
  • 重要ファイルはホームに置きつつバックアップ: 永続ホームは便利だが、長期未使用での整理やタイムアウトに備え、重要なスクリプトはリポジトリにも保管する
  • プライベートリソースにはプライベートネットワーク接続: VCN 内の内部リソースを触るときは公開経路に頼らず、プライベートサブネット接続で到達させる
  • 重い処理は別基盤へ: 大規模ビルドや長時間処理は、CPU・メモリが小さい Cloud Shell ではなく専用コンピュートや DevOps のビルドで行う
  • 権限は最小限のユーザーで: 強い権限のユーザーで常用せず、必要な操作に応じた IAM 設計のうえで利用する
  • 秘密情報をホームに平文で残さない: 資格情報は Vault のシークレットなどで管理し、シェル上のファイルに平文で置きっぱなしにしない

運用・監視

  • Cloud Shell から実行した API 操作は、対象サービスへのリクエストとして OCI Audit に記録され、誰がいつ何をしたかを追跡できる
  • 接続できない・コマンドが認可されない → サインイン中ユーザーの IAM ポリシー、対象コンパートメントとリージョンの指定、対象リソースの状態を確認する
  • ファイルが消えた/保存できない → ホームディレクトリの容量上限、長時間未使用による整理、保存先パスを確認する
  • 公開インターネット/プライベートリソースに届かない → 選択中のネットワーク方式、公開網の IAM 許可または VCN のルート・セキュリティリスト/NSG、対象リージョンを確認する
  • セッションが頻繁に切れる → インアクティビティタイムアウトによる切断であることが多い。再接続でホームの内容は維持される

コスト

OCI Cloud Shell はテナンシの月間利用上限内で無料です。リージョンごとの月間上限は Universal Credits が 400 時間、従量課金が 240 時間、無料トライアルが 160 時間です。5 GB のホームと一時 VM は利用者の Compute / Block Volume クォータを消費しませんが、シェルから作成した OCI リソースには通常料金が発生します。

  • シェル機能そのものではなく、Cloud Shell から作成・操作したリソース側(コンピュートやストレージなど)に通常どおり課金が発生する点に注意する
  • 重い処理を Cloud Shell で無理に回すより、適切な専用基盤を使うほうが結果的にコスト効率が良いことがある

セキュリティ

  • 認証はログイン中ユーザーのコンテキストで行われ、手元に長命な署名鍵を置かずに API を呼べる。鍵の紛失・流出リスクを抑えられる
  • 実行可能な操作はそのユーザーの IAM ポリシーの範囲に限られる。最小権限の原則でユーザー・グループを設計する
  • 操作は対象サービス側で Audit に記録され、トレーサビリティを確保できる
  • ホームディレクトリはユーザーごとに分離されるが、秘密情報を平文で残さない運用が重要。資格情報は Vault のシークレットで管理する
  • 内部リソースへアクセスする際はプライベートネットワーク接続を使い、公開経路への不要な露出を避ける
強権ユーザーでの常用に注意

管理者級の強い権限を持つユーザーで Cloud Shell を常用すると、ブラウザセッションが乗っ取られた際の影響が大きくなります。日常操作は必要十分な権限のユーザーで行い、秘密情報をホームに平文で残さないようにしましょう。

関連サービス・比較

OCI には、ブラウザ内でコードを編集・実行できる Cloud Shell の Code Editor など隣接機能もありますが、ここでは AWS の相当サービスと位置づけを比較します。

観点OCI Cloud ShellAWS CloudShell
位置づけブラウザ内のマネージドターミナルブラウザ内のマネージドシェル
認証ログイン中ユーザーの権限を継承サインイン中の IAM 権限を継承
事前導入oci CLI など主要ツールが導入済みAWS CLI など主要ツールが導入済み
永続ストレージユーザーごとの永続ホームユーザーごとの永続ホーム
料金基本は追加料金なし基本は追加料金なし
プライベート接続VCN のプライベートサブネットに接続可VPC への接続に対応

ハンズオン / CLI例

# Cloud Shell はブラウザのコンソール右上のアイコンから起動する。
# 起動後は oci CLI が認証済みで、すぐに以下を実行できる。

# 1) 現在のユーザー・テナンシ情報を確認(認証が通っているかの確認)
oci iam region list --output table

# 2) コンパートメント一覧を取得
oci iam compartment list \
  --compartment-id-in-subtree true \
  --query "data[].{Name:name, Id:id}" \
  --output table

# 3) 指定コンパートメント内のコンピュートインスタンスを一覧
oci compute instance list \
  --compartment-id "ocid1.compartment.oc1..xxxx" \
  --output table

# 4) 別リージョンを対象に操作する(--region で都度切り替え)
oci os ns get --region us-ashburn-1

# 5) スクリプトを永続ホームに保存(次回セッションでも残る)
cat > ~/list-buckets.sh <<'EOF'
#!/usr/bin/env bash
oci os bucket list \
  --compartment-id "ocid1.compartment.oc1..xxxx" \
  --output table
EOF
chmod +x ~/list-buckets.sh
~/list-buckets.sh

OCI Service

OCI Cloud Shellを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

開発者ツール

比較で見る軸

クラウド: OCI / カテゴリ: 開発者ツール / 難易度: basic

導入後に効く点

実行用VMはOracle側にあり、利用者ごとの暗号化された5GBホームだけがセッション後も残る。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
OCI
カテゴリ
開発者ツール
難易度
basic
関連資格
設計柱
operational / security

判断チェックリスト

  • 自社の用途が「開発者ツール / operational」に近いか確認する。
  • 強みである「コンソールから起動する一時的なOracle Linux環境で、事前認証済みのOCI CLIをすぐ使える。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

開発者ツールoperationalsecurity