仮想マシン(Virtual Machine)の起動概要
「初めてのシリーズ」へようこそ!
クラウドインフラの導入と運用は、誰にとってもシンプルで再現性があり、手軽であるべきです。それが CubeCOS の目指すところであり、この新しいシリーズではその仕組みを紹介します。
シリーズの第1回では、Linuxクラウドイメージのアップロード方法、プライベートネットワークの設定方法、そして最初の仮想マシンの起動手順について学びます。
すべて完了すると、無料でオープンソースの仮想化プラットフォームであるCubeCOS上で稼働する仮想マシンと機能的なIaaS環境を構築できるようになります。
まだ CubeCOS をインストールしていない場合は、まずクイックスタートガイドに従ってセットアップを行ってください。
完了までの目安時間:約40分
用語定義
- Glance(グランス):
CubeCOSで使用される仮想マシンイメージストア。Glanceは、大規模かつ高速なイメージ配備を可能にします。 - Ceph(セフ):
CubeCOSが採用している分散ストレージで、高い耐障害性とパフォーマンスを備えたストレージを提供します。 - クラウドイメージ(Cloud image):
OpenStack、AWS AMI、Google Cloud Platform、Microsoft Azureなどのクラウドコンピューティング環境向けに最適化されたOSイメージのことです。 - プロジェクト(Project):
リソースをグループ化する単位です。各プロジェクトは独立したテナントとして扱われ、リソースの割り当てやトラフィックを分離できます。 - インスタンス(Instance):
CubeCOSでは、クラウドアーキテクチャの慣習に従い仮想マシンを「インスタンス」と呼びますが、本記事ではわかりやすさを考慮し「仮想マシン」という用語を使用します。 - ハイパーバイザー(Hypervisor):
CPU、メモリ、ストレージ、ネットワークといったベアメタルリソースを抽象化・仮想化し、リソースの分離と複数ワークロードの同時実行を実現するソフトウェアです。
CubeCOSで仮想マシンを起動するための前提条件
Linux仮想マシンのクラウドイメージをダウンロードする
スムーズにセットアップを進めるために、Rocky、Ubuntu、Debian、またはCentOS Streamなど、使用したいディストリビューションのクラウドイメージをダウンロードしてください。
クラウドイメージには cloud-init があらかじめインストールされており、仮想マシンのプロビジョニングと初期設定を簡単に行うことができます。
このウォークスルーでは、CentOS Stream 9 の汎用クラウドイメージを使用します。
QCOW2形式 のCentOS Stream 9イメージをダウンロードしてください。
その他のクラウドイメージを利用する場合は、公式リポジトリ、またはこちらで用意したリンクから入手できます:Cloud Image。
Ubuntuクラウドイメージに関する特別注意
Ubuntuのクラウドイメージは、デフォルトで .img 形式です。
CubeCOSにアップロードする前に、拡張子を .qcow2 に変更してください。
CubeCOSで最初の仮想マシンを作成する
CubeCOSで最初の仮想マシンを作成する
最初の仮想マシンを起動する前に、ダウンロードしたクラウドイメージを CubeCOS にアップロードする必要があります。
クラウドイメージをCubeCOSにアップロードする
まず、クラウドイメージをCubeCOSにアップロードします。
このクラウドイメージは、後のセクションで仮想マシンを作成する際のテンプレートとして使用されます。
現在のアップロード機能は、CLI(コマンドラインインターフェース)を通じて実行する必要があります。
GUIによるイメージアップロード機能は、今後のバージョンで追加される予定です。
- ターミナルまたはコンソールで以下のコマンドを実行し、ダウンロードディレクトリに移動します。
cd Downloads/ - 「CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2」が存在することを確認します。
- その後、汎用クラウドイメージを CubeCOS にアップロードします。
scp CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2 root@<your-cubecos-vip>:/mnt/cephfs/glance/./Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-1-upload-instructions.png?width=758&height=534&name=tutorial-cubecos-1-upload-instructions.png)
- プロンプトが表示されたら、rootパスワードを入力してください。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-2-enter-upload-password.png?width=758&height=534&name=tutorial-cubecos-2-enter-upload-password.png)
- アップロードには、イメージのサイズや接続速度に応じて 5~10分 ほどかかります。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-3-image-uploading.png?width=758&height=534&name=tutorial-cubecos-3-image-uploading.png)
- インポートが完了したら、次の仮想マシン作成プロセスを開始できます。
クラウドイメージをイメージストアにインポートする
先ほどのターミナルセッションを使用するか、新しいセッションを開始してインポートします。
- CubeCOSの管理インターフェース にログインします。
- ユーザー名:admin
- パスワード:デフォルトパスワード、またはカスタマイズしたパスワード
- 以下のコマンドで、イメージのインポートを開始します:
image import/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-5-image-import-cli.png?width=777&height=604&name=tutorial-cubecos-5-image-import-cli.png)
- 選択する
2: local/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-6-image-import-local.png?width=777&height=604&name=tutorial-cubecos-6-image-import-local.png)
- イメージの インデックス番号 を入力します。
ここでは、使用したいイメージの番号を選択してください。CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-7-image-import-select-image.png?width=777&height=604&name=tutorial-cubecos-7-image-import-select-image.png)
- イメージを識別するための名前を指定します。ここでは例として、私のイメージを「[名前]」と名付けます。
centos-stream-9/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-8-image-import-select-image-name.png?width=777&height=604&name=tutorial-cubecos-8-image-import-select-image-name.png)
- デフォルトのドメインを選択する場合は 1 を入力します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-9-image-import-select-image-domain.png?width=777&height=604&name=tutorial-cubecos-9-image-import-select-image-domain.png)
- デフォルトのドメインを選択する場合は 1 を入力します。
- 管理テナントを選択する場合は 3 を入力します。管理テナントはインストール時に自動で作成されます。このチュートリアルでは、他のプロジェクトで使用できる パブリックイメージ を保存するために使用します。特定のイメージやプロジェクトへのアクセスを制御したい場合は、「Create a Project」 ガイドに従って新しいプロジェクトを作成できます。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-10-image-import-select-image-project.png?width=777&height=604&name=tutorial-cubecos-10-image-import-select-image-project.png)
- 仮想マシン作成用のベーステンプレートとしてイメージを設定するには 1 を入力して、宛先を glance-images に設定します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-11-image-import-select-image-type.png?width=777&height=604&name=tutorial-cubecos-11-image-import-select-image-type.png)
- すべてのテナントがこのイメージにアクセスできるように、イメージを パブリック に設定する場合も 1 を入力します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-12-image-import-select-image-visibility.png?width=777&height=604&name=tutorial-cubecos-12-image-import-select-image-visibility.png)
- このステップが完了すると、インポートが開始されます。インポートには、イメージのサイズやネットワーク性能に応じて5~15分かかります。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-13-image-import-progress.png?width=777&height=604&name=tutorial-cubecos-13-image-import-progress.png)
- イメージのインポートが完了したら、次に「プロジェクトの作成」に進み、仮想マシンを起動できるようになります。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-14-image-import-completion.png?width=777&height=604&name=tutorial-cubecos-14-image-import-completion.png)
Cloud-init パラメータを設定する
- プロジェクトスイッチャーを使って、管理プロジェクト(admin project)に切り替えます。
- メニューから Compute > Images に移動し、centos-stream-9 イメージを選択します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-15-image-upload-verify.png?width=1392&height=1449&name=tutorial-cubecos-15-image-upload-verify.png)
- 「Edit(編集)」を選択し、イメージパラメータに以下の値を設定します。
- OS Version: 9
- OS Admin:cloud-user
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-17-image-edit.png?width=1392&height=1449&name=tutorial-cubecos-17-image-edit.png)
- 「OK」をクリックして設定を保存します。
プロジェクトを作成する
プロジェクトは、リソースを確保・分離し、管理を容易にするための単位です。ここでは、自分用の仮想マシンを管理するために 新しいプロジェクト を作成します。
- CubeCOS管理インターフェースを開きます。
https://<your-cubecos-cluster-vip> - CubeCOS管理インターフェースにアクセスします。
- ユーザー名:admin
- パスワード:admin
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-18-create-project-login.png?width=1392&height=1449&name=tutorial-cubecos-18-create-project-login.png)
- ログイン後、「Integrations」タブに移動し、「OpenStack Connect」ボタンをクリックします。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-19-create-project-integration-nav.png?width=1392&height=1449&name=tutorial-cubecos-19-create-project-integration-nav.png)
- 新しい管理ページが表示されるので、Cubeアカウント でログインします。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-20-create-project-cube-login.png?width=1280&height=1415&name=tutorial-cubecos-20-create-project-cube-login.png)
- ログイン後、画面右上の 「Administrator」 をクリックして、CubeCOSの管理ビューに切り替えます。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-21-create-project-skyline.png?width=1392&height=1449&name=tutorial-cubecos-21-create-project-skyline.png)
- 管理ビューに切り替わったことを確認するには、右上のスイッチが「Console」になっていることを確認します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-22-create-project-admin-view.png?width=1392&height=1449&name=tutorial-cubecos-22-create-project-admin-view.png)
- 管理ビューで Administrator > Identity > Projects に移動します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-23-create-project-list-view.png?width=1392&height=1449&name=tutorial-cubecos-23-create-project-list-view.png)
- 新しいプロジェクトを作成する
+ Create Project - 「新しいチュートリアルプロジェクトを作成」をクリックし、関連ドメインは「Default」、ステータスは「Enabled」のままにします。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-24-create-project-tutorial.png?width=1392&height=1449&name=tutorial-cubecos-24-create-project-tutorial.png)
- プロジェクト作成後、Projects タブに表示されます。ドロップダウンメニューから More > Manage User を選択し、チュートリアルプロジェクトのユーザー管理を行います。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-25-create-project-manage-user.png?width=1392&height=1449&name=tutorial-cubecos-25-create-project-manage-user.png)
- 現在のユーザーを チュートリアルプロジェクトの管理者(Admin) として追加することで、このプロジェクト内でリソースの管理や仮想マシンの起動が可能になります。
- 管理者ユーザーに Admin ロール を割り当て、プロジェクト内のリソースや設定を管理できるようにします。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-27-create-project-admin-assigned.png?width=1392&height=1449&name=tutorial-cubecos-27-create-project-admin-assigned.png)
- 変更を適用するには OK をクリックします。
- 画面右上のナビゲーションバーで Console をクリックしてユーザー表示に切り替えます。
- プロジェクトスイッチャー を開きます。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-28-create-project-switch-project.png?width=1392&height=1449&name=tutorial-cubecos-28-create-project-switch-project.png)
- Tutorial project が表示されていることを確認し、そのプロジェクトに切り替えます。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-29-create-project-select-tutorial-project.png?width=1392&height=1449&name=tutorial-cubecos-29-create-project-select-tutorial-project.png)
- これで、仮想マシンやその他リソースをホストするための 自分専用のチュートリアルプロジェクト が作成されました!
仮想マシントラフィック用のプライベートネットワークを作成する
CubeCOSの強みのひとつは、組み込みのソフトウェア定義ネットワーク(SDN)スタックです。これにより、テナントごとに分離されたネットワークを構築でき、カスタムサブネット、ルーター、およびセキュリティグループのサポートにより、トラフィック制御が向上します。
ここでは、チュートリアルプロジェクト内に 仮想マシンにIPアドレスを割り当てるためのプライベートネットワーク を作成します。
開始前に、プロジェクトスイッチャーでチュートリアルプロジェクト を使用していることを確認してください。
- メニューから「Project」>「Network」>「Networks」に移動し、「Create Network」をクリックします。
+ Create Network - ネットワーク名に tutorial-network を入力します。
- Create Subnet チェックボックスを選択し、以下の情報を入力します:
- Subnet name: tutorial-subnet-192
- IP Version: ipv4
- CIDR: 192.168.168.0/24
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-31-network-creation.png?width=1392&height=1449&name=tutorial-cubecos-31-network-creation.png)
- 「OK」をクリックして、チュートリアルサブネットを作成します。
- 作成後、ネットワークのステータスが「Active」になっていることを確認してください。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-32-network-verify-creation.png?width=1392&height=1449&name=tutorial-cubecos-32-network-verify-creation.png)
- これで、最初の仮想マシンを作成する準備が整いました。
CubeCOSで最初の仮想マシンを起動する
「Create Instances(インスタンス作成)」機能を使うと、あらかじめ定義されたリソーステンプレート、クラウドOSイメージ、設定パラメータに基づいて、仮想マシンをプロビジョニングできます。
ベース設定の構成
- 「Project」>「Compute」>「Instances」に移動し、「Create Instance」をクリックします。
+ CREATE INSTANCE - Specification(スペック)でt2.mediumを選択し、仮想マシンに割り当てるリソース量を決定します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-33-create-instance-start.png?width=1392&height=1449&name=tutorial-cubecos-33-create-instance-start.png)
- 右側には、プロジェクトに割り当てられているデフォルトのリソース配分が表示されます。この配分は、プロジェクトごとに割り当てられるリソースの最大量を決定します。
- 「Operating System(OS)」タブで「CentOS」を選択し、先ほど作成した「centos-stream-9」イメージを指定します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-34-create-instance-disk.png?width=1392&height=1449&name=tutorial-cubecos-34-create-instance-disk.png)
- 「Yes – Create a new system disk」を選択し、「System Disk(システムディスク)」セクションでサイズを80GBに設定します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-35-create-instance-disk-select.png?width=1392&height=1449&name=tutorial-cubecos-35-create-instance-disk-select.png)
- ネットワーク設定を開始するには、「Next」または該当のボタンをクリックします。
Next: Network Config
ネットワーク設定の構成
作成済みのプライベートネットワークには DHCP IP割り当てプール が設定されているため、CubeCOSが Virtual LAN(VLAN) フィールドを自動で入力します。
- ネットワークセクションから、先ほど作成した「tutorial-network」を選択します。
- 「Virtual LAN」と「セキュリティグループ」のフィールドが正しく入力されていることを確認します。
- システムパラメータを設定するには、「Next」 または該当ボタンをクリックします。
Next: System Config
システム設定の構成
ここで、仮想マシンの 名前 と アクセス方法 を設定します。
- 名前に「tutorial-centos-stream-9」と入力します。
- ログインタイプとして「Password」を選択します。
- ログインパスワードに「Happy1tutorial」を設定します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-38-create-instance-password.png?width=1392&height=1449&name=tutorial-cubecos-38-create-instance-password.png)
- 設定内容を確認し、仮想マシンの作成を開始するには「Next: Confirm Config」をクリックします。
- すべての設定が正しいことを確認したら、[Confirm] をクリックします。
- これで、最初の仮想マシンがビルドされます。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-40-create-instance-verify-created.png?width=1392&height=1449&name=tutorial-cubecos-40-create-instance-verify-created.png)
- インスタンスのステータスが Active に変わったら、仮想マシンを選択します。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-41-create-instance-verify-details.png?width=1392&height=1449&name=tutorial-cubecos-41-create-instance-verify-details.png)
- これで、最初の仮想マシンの作成に成功 です。
インスタンスの仮想コンソールに接続する
- Instance Detail(インスタンス詳細) ページで Console をクリックし、仮想コンソールにアクセスします。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-41-create-instance-verify-details.png?width=1392&height=1449&name=tutorial-cubecos-41-create-instance-verify-details.png)
- 仮想コンソールが新しいタブで開きます。
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-43-launch-console-login-success.png?width=1392&height=1449&name=tutorial-cubecos-43-launch-console-login-success.png)
- 設定した認証情報でログインします:
- ユーザー名: cloud-user
- パスワード: Happy1tutorial
/Blog/launch-your-first-part-1-launch-your-first-instance/tutorial-cubecos-43-launch-console-login-success.png?width=1392&height=1449&name=tutorial-cubecos-43-launch-console-login-success.png)
- これで、CubeCOSクラスタ上で動作するLinux仮想マシン が利用可能になりました。
シリーズ第2回では、プロジェクト内のインスタンスへのセキュリティ設定とリモートアクセスの方法を解説します。新しいブログが公開された際に通知を受け取るために、ぜひブログの購読を続けてください。
よくある質問(FAQ)
クラウド仮想化プラットフォームで仮想マシンを起動するには?
−好みのディストリビューション(例:CentOS、Rocky、Ubuntu など)の 好みのディストリビューション(例:CentOS、Rocky、Ubuntuなど)の事前構築済みクラウドイメージを利用します。手順は以下の通りです。クラウドイメージをアップロードする。リソースを整理するためのプロジェクトを作成する。仮想マシンに割り当てるリソースの設定を行う。仮想マシンを起動する。
クラウドイメージとは何ですか?なぜVMのデプロイに使用するのですか?
+クラウドイメージは、クラウド環境向けに最適化された 軽量で事前構成済みのOSイメージ です。cloud-init が組み込まれており、ホスト名の設定、SSHキーの登録、ユーザーアカウント作成などの初期設定を自動化できます。これにより、仮想マシンの迅速で効率的なプロビジョニングが可能になります。
なぜ仮想マシンをプロビジョニングする前にプロジェクト(テナント)を作成する必要があるのですか?
+プロジェクト(テナント)は、マルチテナント環境における プロジェクト(テナント)は、マルチテナント環境におけるリソースの分離、アクセス制御、利用状況の追跡に不可欠です。また、仮想マシンの整理、クォータの適用、環境の分離といった管理を容易にします。
仮想マシンをデプロイした後、どうやって接続しますか?
+仮想マシンには、以下の方法で接続できます。- 割り当てられたIPアドレスとSSHキーを使ってSSH接続- CubeCOSのウェブベース仮想コンソールを利用して直接操作
仮想マシンを作成する前にネットワーク設定は必要ですか?
+はい。
仮想ネットワークを設定することで、仮想マシンに IPアドレスを割り当て、通信を可能 にすることができます。
Bigstackを購読する
