Ubuntu VM:ブラウザーの中の自分専用マシン
マシン全体を扱わないと身につかないこともあります。パッケージのインストール、/etc にある設定ファイルの編集、Web サーバーをサービスとして動かし、起動しない理由を突き止めることなどです。VM は sudo が使える自分専用の Ubuntu 26.04 マシンで、ブラウザー内のターミナルで開きます。壊してしまったら、また最初からやり直せます。
アカウントがなくても /vm で誰でも試せます。数秒で使えるようになり、停止すると消えます。アカウントがあれば、バーの「つくる」を開いて「Ubuntu VM を実行」を選びます。ディスクは次回の利用まで保持されます。
利用者ごとに使えるもの
アカウントなしの場合:1 CPU、メモリ 1 GB、ディスク 4 GB で、最長20分まで使えます。何も保存されません。
無料アカウントの場合:1 CPU、メモリ 1 GB、ディスク 8 GB で、次回の利用まで保持されます。1回のセッションは60分間動作し、順番を待っている人がいなければ最長2時間まで動作します。合計で1日2時間まで使えます。VM は2台まで保持でき、同時に動かせるのは1台です。
学校で使う場合:2 CPU、メモリ 2 GB、ディスク 10 GB で、次回の利用まで保持され、1日あたりの上限はありません。VM は3台まで保持でき、同時に2台まで動かせます。
使い方
「起動」を押してから「ターミナルを開く」を押します。student としてログインした状態で、パスワードなしで sudo を使えます。exit でマシンから抜けた場合は、Enter キーを押すと戻れます。
ポート80、3000、5000、8000、8080 のいずれかで待ち受けるサーバーは、VM の動作中、VM のカードからブラウザーで開けます。これは非公開で、開けるのは本人か、カードに表示されたトークンを送るプログラムだけです。sudo apt install nginx を実行してから、ポート80を開いてみてください。
「停止して保存」を押すと、インストールしたプログラムも書いたファイルも、ディスク上のものはすべて保持され、もう一度「起動」を押せば元どおりになります。アカウントなしの VM は停止すると消えます。
無料アカウントに属する保存済みの VM は、90日間一度も起動されないと削除されます。削除の7日前にメールで知らせます。一度起動すれば保持されます。
VM から接続できる範囲
VM は apt で Ubuntu 公式のパッケージアーカイブからインストールできます。アカウントがあれば PyPI、npm、GitHub にも接続できるので、pip install、npm install、git clone が使えます。それ以外のインターネット上の接続先には、設計上 VM から接続できません。誰でも開ける無料のマシンが、メールを送信したり他人のマシンにアクセスしたりできてはならないからです。
2つの規則は公開 VM、つまりアカウントなしの訪問者や無料アカウントの VM だけに適用されます。ターミナルで誰も入力していないのにプロセッサを10分間使い続けた VM は停止され、その理由が表示されます。また、VM が混み合っているときは、約束された時間をすでに使い終えた VM が、待っている人に順番を譲り、停止時に保存されます。公開 VM は、学校の VM の4分の1のプロセッサウェイトで動作し、同時に動くのは4台までです。順番待ちの VM がほかの VM を待たせることはありません。学校の VM は、負荷が高いことを理由に停止されることも、順番を譲るよう求められることもありません。
よくある質問
- 本物のマシンですか?
- はい。コンテナーではなく、独自の Linux カーネルを持つ仮想マシンなので、systemd、サービス、ユーザー、/etc 全体が通常の Ubuntu サーバーと同じように動作します。
- 教員がクラスに VM を出せますか?
- はい。種類が Ubuntu VM のラボ課題として出せます。生徒一人ひとりに、教員のスクリプトで準備された専用の VM が用意され、クラスの一覧には各生徒が何を変更したかが表示されます。
- その中で Docker は使えますか?
- まだ使えません。VM は Docker Hub からイメージを取得できません。コンテナーを使う場合は「コンテナー」タブを使ってください。そのターミナルでは、自分のサービス用に docker を使えます。
- VM の中での操作は誰に見られますか?
- ほかの人は、そのターミナルもポートも開けません。プラットフォームに保存されるほかの作業と同じく、保存されたディスクはあなたのもので、削除すると「削除済みの項目」に移ります。