このシリーズの他の記事は、オラクル・クラウドの個人ブログ一覧 からご覧いただけます。
初めに
2020年2月、OCI Cloud Shellがリリースされました。同年の12月、AWSもほぼ同機能の"CloudShell"(スペースなし)をリリースしました。今回は、OCI Cloud Shellの概要を紹介します。
目次
1. クイック・スタート
OCI Cloud Shellとは
Oracle CloudコンソールからアクセスできるWebブラウザベースの端末です。
Bashシェルを実行する軽量なVMで、OCI CLIなどの各便利なツールは、実装済です。
ホーム・ディレクトリに5GBのストレージを提供します。(一方AWSのほうは、1GBのみ)
Cloud Shell自体は、無償です。
OCI Cloud Shellの利用場面
- OCI-CLIをインストールおよび設定せずにすぐに使用したいとき。
- 踏み台サーバーを経由せず、OCIの各インスタンスにアクセスしたいとき(SSH/SQL*Plus)。(Remote DesktopのようなGUI接続を対応しない)
- TerraformやPythonなどをインストールせずにすぐに使用したいとき。
他社の類似サービス
Oracle | AWS | Azure | Google Cloud |
---|---|---|---|
OCI Cloud Shell | AWS CloudShell | Azure Cloud Shell | Cloud Shell |
OCIとAWSの該当サービスの差異について、以下の記事をご参考ください。
「OCI Cloud Shell」と「AWS CloudShell」の比較
IAM ポリシー
管理者ユーザー以外の場合、Cloud Shellを利用するためには、次のポリシーを作成してください。
allow group <GROUP-NAME> to use cloud-shell in tenancy
このポリシーにより、グループ単位での利用制限を実現できます。
OCI Cloud Shellの起動
コンソールの右上、黄色いマークのところをクリックした後、約2分間、画面の下部にCloud Shellが表示されます。2回目より、起動時間がかかりません。
さっそく触ってみましょう
最初は、helpコマンドを叩きます。(コピーペーストもできますので、便利です。)
ホーム・ディレクトリの容量を確認したら、確かに5GBです。
2. OCIの他サービズの利用
2-1. オブジェクト・ストレージの利用
インストール済のOCI-CLIを利用し、オブジェクト・ストレージとの間、ファイル転送ができます。
(ローカルから「Cloud Shell」にログインできないので、ローカルから「Cloud Shell」へファイル転送をしたいなら、オブジェクトストレージを経由すればOKです。)
2-2. Oracle DBへの接続
SQL PLUSでクラウド上のOracle DBへ接続してみたら、OKです。
コマンド:sqlplus <ユーザ>/<パスワード>@<ホスト名かアドレス>:<ポート>/<サービス名>
Cloud Shellから、Oracle Base DBサービスやComputeインスタンス上にインストールされたOracle DBの両方に接続できます。
2-3. Autonomous DBへの接続
Cloud Shellから、Autonomous DB(Public/Private両方)への接続も可能です。
- SQL Plusを利用する場合は、次の記事をご参考ください。
OCI Cloud Shell上のSQL PlusからADBに接続する
- SQLclを利用する場合:
WalletファイルをCloud Shellにアップロードしてから、次のコマンドを実行します。
コマンド:sql -cloudconfig Wallet_adw.zip <username>/<password>@<tns_name>
- SQLclはCloud Shellにプリインストールされています。
- Walletファイルの解凍は不要です(SQL*Plusの場合は解凍必要)。
- TNS名はWalletファイル内の「tnsnames.ora」でも確認可能で、
DBname_high
、DBname_medium
、DBname_low
のいずれかの形式です。
2-4. MySQL DBCSへの接続
Cloud Shellから、「OCI Bastion Service」を利用すれば、MySQL DBCS(Database Cloud Service)への接続も可能です。上記のPrivate ADBの接続例によく似ています。詳細は、以下の記事をご参考ください。この記事の実施端末はVMでしたが、コマンドライン・ツールの接続方法(MySQL Shell, MySQL Client)は「Cloud Shell」にも適用します。
OCI Bastion経由でMySQL Database Serviceに接続する
3. インストール済のソフト
Name | Version Info |
---|---|
ansible | ansible --version |
Fn CLI | fn -v |
git | git --version |
gradle | gradle -v |
Go | go version |
helm | helm version |
Java | java -version |
kubectl | kubectl version |
maven | mvn -v |
MySQL Client | mysql -V |
MySQL Shell | mysqlsh -V |
Node.js | node --version |
OCI CLI | oci -v |
pip | pip -V |
Python | python -V |
Ruby | ruby -v |
SQL Plus | sqlplus -v |
SQLcl | sql -V |
Terraform | terraform -v |
TypeScript | tsc -v |
vim | vim --version |
wget | wget -V |
4. 制限事項
- ホーム・ディレクトリの容量は、5GBです。ストレージのマウントをサポートしません。
- OCI CLIを利用する際、コンソールで指定したリージョンと同じリージョンが適用されます。ただし、コンソールからリージョンを変更しても、OCI CLIには自動的に反映されません。その場合は、Cloud Shellを再起動してください。(要注意)
- sudo, crontabの利用ができません。
- セッション保留時間は、最大24時間で、セッションタイムアウトは20分です。
追記
ファイル転送機能
追記日: 2021/3/26
2021/3/23、OCI Cloud Shellのファイル転送機能がリリースされました。
ロカールとCloud Shellの間に、簡単にファイルの転送ができるようになりました。(最大4GB、ディレクトリの転送を対応しません。)
Cloud Shellへのアップロード:
- ファイルをCloud Shellの画面に"Drag & Drop"だけで、OKです。(複数ファイルの同時アップロードは可能です。)
- メニュー(左上)からアップロードをクリックする。 (個別ファイルのみ)

Cloud Shellからのダウンロード
メニュー(左上)からダウンロードをクリックする
ホームディレクトリに対する相対パスとファイル名を入力し、ダウンロードを開始する。
プライベート・アクセス
追記日: 2022/12/24
2022年8月、Cloud Shellのプライベート・アクセスという新機能がリリースされました。Cloud Shellから、パブリック・ネットワークを経由せずにプライベート・ネットワークのリソースにアクセスできるになりました。
詳細については、次の記事をご参照ください。
OCI Cloud Shell からプライベート・サブネット内のインスタンスに接続する
FAQ(よくある質問)
質問-1: Cloud ShellにSSHログインすることは可能ですか?
回答:通常のインスタンスではないため、Cloud ShellにSSHログインすることはできません。
質問-2: 自分のユーザーはCloud Shellを利用する権限がありません。利用するためにはどのIAMポリシーが必要ですか?
回答:次のIAMポリシーを作成し、対象ユーザーをグループに追加する必要があります。
allow group <GROUP-NAME> to use cloud-shell in tenancy
以上です。
関連記事
「OCI Cloud Shell」と「AWS CloudShell」の比較
OCI Cloud Shell上のSQL PlusからADBに接続する
OCI Cloud Shellにrcloneをインストールする
OCIコスト節約術
参考資料
OCI ドキュメント
OCI Cloud ShellのGAアナウンス:英語
OCI Cloud Shellのオフィシャルドキュメント:日本語 英語
MOS (My Oracle Support)
OCI Cloud Shell Frequently Asked Questions - OCI Cloud Shell (Doc ID 2736099.1)
OCI Cloud Shell - How to Allow Access to Cloud Shell to Specific Groups in Tenancy (Doc ID 2946835.1)