こんにちは。
iimonバックエンドエンジニアの木暮です。
最近はCounter-Strike2にハマっていてスキンまで買い始めました。
ちなみに本当に欲しいスキン*1はマーケットで5万円近くしたので諦めました。
自己紹介はこれくらいにして本題に移りたいと思います。
本記事はiimonアドベントカレンダー22日目の記事となります。
はじめに
intel Macを使って無料でローカルに仮想環境が作れるツールはVagrant + VirtualBoxなどがありますが
M1 Macとなると2023年12月現在、VirtualBoxが正式にARMアーキテクチャに対応していないため導入するのが一筋縄では行かない様です。
*2
他に無料でローカルに仮想環境が作れるツールはあるのかな?と疑問に思ったので調べてみたところMultipassというツールありました。
作れるのはUbuntuのCUI環境限定ですが手軽に仮想環境の構築できそうなのでお試しで触っていきます。
*3
Multipass is 何
Multipass は、Linux、macOS、および Windows 上でクラウド スタイルの Ubuntu VM を迅速に生成するツールです。
これにより、Ubuntu コマンド ラインにすばやくアクセスしたり、独自のローカル ミニクラウドを作成したりできる、シンプルかつ強力な CLI が提供されます。
触ってみよう!!!!!
今回はM2 Macを使用して触っていきます。
インストール
ドキュメントを確認するとインストール方法はインストーラかHomebrewのふた通りがあります。
今回はHomebrewでインストールを行います。
インストーラを使用する場合は下記URLを参照してください。 https://multipass.run/docs/installing-on-macos
インストールコマンド
$ brew install multipass
特に問題なくインストールができました。
動作確認
最低限の動作確認としてmultipassのバージョンを確認してみましょう。 下記のコマンドを実行します。
$ multipass version
インスタンスの作成
実行する前にどの様なオプションがあるか確認してみます。
https://multipass.run/docs/launch-command
上記リンクのドキュメントを確認するとCPUのコア数やメモリ容量、ディスク容量、ディスクマウントなど様々な設定が行える様です。
今回はお試しなので、インスタンス名のみを指定して作ります。インスタンス名を指定して作成する場合は以下の様なコマンドになります。
$ multipass launch -n <instance name>
エラーが出ることなく処理が完了しました。
インスタンスの確認
先ほどの手順で作成したインスタンスを確認してみましょう。
下記コマンドで確認ができます。
参考:https://multipass.run/docs/list-command
$ multipass list
これで作成したインスタンスが確認できました。
どうやらインスタンスは作成したらそのまま起動までされる様ですね。
インスタンスの詳細を知りたい場合は以下のコマンドで確認ができます。
参考:https://multipass.run/docs/info-command
$ multipass info <instance name>
先ほど作成したiimonインスタンスの詳細な情報を確認してみます。
出力内容のフォーマットもできる様です。
インスタンス構成の変更
すでに作成済みのインスタンスに対して構成変更をしてみます。
まずはインスタンスの停止を行います。
$ multipass stop <instance name>
今回はCPUのコア数を上げてみます。
multipass set local.<instance name>.cpus=2
インスタンス名の前にlocal.とつけるのはお決まりの様です。
参考:https://multipass.run/docs/modify-an-instance
インスタンスが停止状態だと反映ができているか確認できない様なので インスタンスを起動して確認してみます。
$ multipass start <instance name>
インスタンスへ入ってみる
ではいよいよインスタンスへログインしてみます。 以下のコマンドで指定したインスタンスにログインができます。
$ multipass shell <instance name>
インスタンスの削除
一通り遊んで満足したので作成したインスタンスを削除してみます。 インスタンスを削除するコマンドは以下になります
$ multipass delete <instance name>
この状態はゴミ箱に入っている状態なのでまだ復元が可能です。
復元したい場合は下記のコマンドを使用します。
参考: https://multipass.run/docs/recover-command
$ multipass recover <instance name>
次にゴミ箱から破棄までやってみます。
このコマンドはインスタンスを指定して実行ということはできないので
ステータスがDeletedのインスタンスが全て破棄されます。
参考:
https://multipass.run/docs/purge-command
$ multipass purge
試してはいないですが、deleteコマンドのオプションで-pを指定するとpurgeまでやってくれる様です。
参考:https://multipass.run/docs/delete-command
まとめ
インスタンスの作成、変更、削除を一通りやってみましたが、とても簡単に行うことができました。 サーバ環境構築の手順確認や検証等、色々な使い道がありそうですね。 MultipassはインストールのタイミングでGUIの管理画面も一緒にインストールされるので機会があればそちらも触ってみたいと思います。
最後に
最後まで読んでくださりありがとうございます!
この記事を読んで興味を持って下さった方がいらっしゃればカジュアルにお話させていただきたく、是非ご応募をお願いします。 Wantedly / Green
次のアドベントカレンダーの記事は最近ダーツに勤しんでいるほでぃ〜くんです!
どんな記事を書いてくれるのか楽しみですね!!!!!