開発者ドキュメント

UbuntuISOフォーマットイメージからDigitalOceanドロップレットを作成する方法

序章

DigitalOceanのカスタムイメージ機能を使用すると、仮想ディスクイメージをオンプレミス環境または別のクラウドプラットフォームからDigitalOceanに移動し、それらを使用してDigitalOceanドロップレットを起動できます。

カスタム画像のドキュメントで説明されているように、次の画像タイプはカスタム画像アップロードツールによってネイティブにサポートされています。

ISO は、カスタム画像で使用できるもう1つの一般的な画像形式です。 ISOイメージは、Linuxをインストールするための便利な方法として、Linuxディストリビューションによって頻繁に提供されます。 残念ながら、ISOイメージは現在、アップロードツールでサポートされていませんが、サポートは2018年末に予定されています。

このチュートリアルでは、無料のオープンソース VirtualBox 仮想化ツールを使用して、Ubuntu 18.04 ISOからDigitalOcean互換のVDIイメージ(VirtualBoxディスクイメージ)を作成する方法を示します。 このガイドの手順は、ご希望のディストリビューションのISOイメージで機能するように調整できます。

前提条件

始める前に、次のものを利用できるようにする必要があります。

これらの手順を別のディストリビューションのISOに適合させており、イメージに cloud-init インストールおよび構成されている場合は、OSのインストール後に手動でインストールおよび構成する必要があります。

これらの前提条件を利用できるようになったら、このガイドを開始する準備ができています。

ステップ1—VirtualBoxのインストールと仮想マシンの作成

このガイドでISO形式のイメージを変換するために使用するツールは、x86ハードウェア用の無料のオープンソース仮想化ツールであるVirtualBoxです。 デフォルトでは、VirtualBoxはGUIを使用します。このガイドを使用して、このガイドでVDIイメージを作成します。

まず、ダウンロードページからVirtualBoxをダウンロードしてインストールします。 ホストオペレーティングシステムに応じて、VirtualBox5.2.20プラットフォームパッケージセクションの適切なリンクをたどります。 このガイドでは、OSXシステムを使用するため、提供されているDMGを使用してVirtualBoxをダウンロードしてインストールします。

VirtualBoxをインストールしたら、アプリケーションを開きます。

次のウェルカム画面が表示されます。

New をクリックして、Ubuntu仮想マシンの作成を開始します。

次のウィンドウがポップアップ表示され、仮想マシン(VM)に名前を付けて、そのOSを選択できるようになります。

このチュートリアルでは、VMに名前を付けます Ubuntu 18.04、ただし、VMにわかりやすい名前を付けてください。

タイプの場合はLinuxを選択し、バージョンの場合は Ubuntu(64ビット)を選択します。 次に、続行を押します。

次の画面が表示され、仮想マシンに割り当てるメモリの量を指定できます。

より複雑なユースケースがない限り、仮想マシンには1024MBで十分なメモリが必要です。 メモリサイズを調整する必要がある場合は、VMに割り当てるメモリの量を入力し、続行をクリックします。

次の画面が表示されます。

このウィンドウでは、VM用の仮想ハードディスクを作成できます。 この仮想ハードディスクは、後のステップでDigitalOceanにアップロードするイメージです。 Ubuntuオペレーティングシステムは、この仮想ハードディスクにダウンロードしたISOからインストールされます。 仮想ハードディスクを今すぐ作成が選択されていることを確認し、作成をクリックします。

次のハードディスクファイルタイプウィンドウが表示され、イメージに使用する形式を選択できます。

3つのタイプはすべてDigitalOceanカスタムイメージでサポートされているため、特に強い設定がない限り、 VDI(VirtualBoxディスクイメージ)を選択してください。 続行を押します。

次に、次のウィンドウが表示されます。

このウィンドウでは、動的に割り当てられたまたは固定サイズのハードディスクファイルを選択できます。 デフォルトの動的に割り当てられたオプションを使用し、UbuntuOSとパッケージをインストールするときにファイルが大きくなるようにします。 続行を押します。

次のウィンドウでは、ハードディスクファイルに名前を付け(保存先のパスを選択することもできます)、最大サイズを指定できます。

オペレーティングシステムと必要な追加パッケージをインストールするのに十分なディスク容量を確保してください。 ほとんどの場合、デフォルトの10 GBで十分ですが、多数のパッケージをインストールしたり、イメージに大量のデータを保存したりすることが予想される場合は、予想されるディスク使用量に合わせてこれを増やす必要があります。

仮想ハードディスクのサイズを選択したら、作成をクリックします。

この時点で、最初のウェルカム画面に戻り、作成した仮想マシンが表示されます。

これで、Ubuntuの仮想マシンへのインストールを開始できます。

ステップ2—仮想マシンへのUbuntu18.04のインストール

このステップでは、Ubuntuオペレーティングシステムを仮想マシンにインストールして構成します。

まず、VirtualBoxのウェルカム画面から仮想マシンを選択し、ツールバーのStartボタンを押します。

次の仮想マシンウィンドウが表示され、システムを起動するISOファイルを選択するように求められます。

ダウンロードしたUbuntu18.04サーバーISOを選択し、Startをクリックします。

VMでは、UbuntuインストーラーがISOから起動を開始し、次のメニューが表示されます。

矢印キーを使用して希望の言語を選択し、 ENTER 続ける。

次に、次のキーボード構成画面が表示されます。

好みのキーボード構成を選択し、完了を選択して、 ENTER.

次に、次のインストーラー選択画面が表示されます。

Ubuntuのインストールを選択し、 ENTER.

次のネットワーク接続画面が表示されます。

この画面では、Ubuntuサーバーのネットワークインターフェイスを構成できます。 仮想マシンにインストールを実行しているため、DigitalOceanプラットフォームでイメージを起動すると、構成されたインターフェイスが上書きされるため、デフォルトのオプションを使用します。

完了を選択してヒット ENTER.

次に、次のプロキシの構成画面が表示されます。

プロキシが必要な場合は、ここに入力してください。 次に、完了を選択し、 ENTER.

次の画面では、Ubuntuアーカイブミラーを選択できます。

特定のミラーが必要な場合を除いて、ここではデフォルトで問題ありません。 完了を選択してヒット ENTER.

次に、仮想ディスクをパーティション分割するように求められます。

論理ボリュームマネージャー(LVM)をセットアップするか、仮想ディスクを手動でパーティション分割する場合を除き、ディスク全体を使用を選択して、接続されている仮想ディスク全体を使用します。 ENTER.

次の画面では、パーティション化する仮想ディスクを選択できます。

プロンプトテキストで説明されているように、インストーラーはブートローダー用のパーティションを作成し、残りの仮想ディスクスペースを使用して作成します。 ext4 UbuntuOSがインストールされるパーティション。

接続されている仮想ディスクを選択して、 ENTER.

次の画面には、パーティション分割する前のファイルシステムインストーラオプションの概要が表示されます。

The ext4 パーティションはにマウントされます /、および GRUBブートローダー用に2番目のパーティション(1 MB)が作成されます。 仮想ディスクのパーティションスキームを確認したら、完了を選択して、 ENTER.

表示される確認画面で、続行を選択し、 ENTER.

次の画面では、システムのホスト名とUbuntuユーザーを構成できます。

この画面に入力すると、インストーラーはバックグラウンドで仮想ディスクにファイルをコピーし続けることに注意してください。

このチュートリアルでは、 sammy という名前のユーザーを作成し、サーバーubuntuを呼び出します。 このイメージをDigitalOceanプラットフォームで実行すると、サーバー名が上書きされる可能性があるため、ここで一時的な名前を付けてください。

SSHキーをDigitalOceanにアップロードし、作成されたドロップレットに自動的に埋め込むことができるため、現時点ではSSHIDのインポートは行いません。 SSHキーをDigitalOceanにアップロードする方法については、ドロップレット製品ドキュメントを参照してください。

すべての必須フィールドに入力すると、プロンプトは次のようになります。

完了を選択してヒット ENTER.

次の画面では、Ubuntuサーバーで人気のあるスナップを選択するように求められます。 スナップは、アプリケーション、その依存関係、および構成を含む、事前にパッケージ化されたソフトウェアのバンドルです。 スナップの詳細については、スナップドキュメントを参照してください。

このガイドでは、スナップをインストールせず、後のステップでパッケージを手動でインストールします。 スナップをインストールする場合は、を使用してスナップを選択または選択解除します SPACE 完了まで下にスクロールします。 次に、ヒット ENTER.

スナップ画面での選択に関係なく、インストールの進行状況と概要画面が表示されます。

インストールが完了したら、今すぐ再起動を選択して、 ENTER.

インストーラーがシャットダウンし、インストールメディアを削除するように求められます(この場合、これは前に選択したISOイメージです)。 ほとんどの場合、ISOは再起動時に自動的に切り離されるため、 ENTER.

再確認するには、VirtualBox GUIメニューで、デバイスオプティカルドライブの順に移動します。 仮想ドライブからディスクを削除するオプションを使用できる場合は、それをクリックして仮想マシンからISOをデタッチします。 次に、仮想マシンウィンドウに戻り、 ENTER.

システムは仮想マシンで再起動します。今回は、Ubuntuをインストールした仮想ディスクから再起動します。

以来 cloud-init Ubuntuが初めて起動するときにUbuntu18.04サーバーにデフォルトでインストールされます。 cloud-init 実行され、それ自体を構成します。 仮想マシンウィンドウに、いくつかが表示されます。 cloud-init アイテムをログに記録し、プロンプトを利用できるようにします。 打つ ENTER.

その後、インストーラーで作成したユーザーを使用してUbuntuサーバーにログインできます。

ユーザー名を入力して、 ENTER、次にパスワードを入力して ENTER.

これで、Ubuntu 18.04のインストールが正常に完了し、以前に作成したユーザーとしてログインしたことを示すコマンドプロンプトにアクセスできるようになります。

このガイドの次のステップでは、再構成します cloud-init そして、UbuntuイメージがDigitalOceanプラットフォームでドロップレットとして起動されたときに実行されるように設定します。

ステップ3—再構成 cloud-init

Ubuntu 18.04を仮想ディスクにインストールし、システムを稼働させたので、再構成する必要があります cloud-init DigitalOceanプラットフォームに適切なデータソースを使用します。 A cloud-init datasourceは、の構成データのソースです。 cloud-init これは通常、ユーザーデータ(シェルスクリプトなど)またはサーバーメタデータ(ホスト名、インスタンスIDなど)で構成されます。 詳細については cloud-init データソースについては、公式cloud-initドキュメントを参照してください。

デフォルトでは、Ubuntu18.04では cloud-init を使用するように自分自身を構成します DataSourceNoCloud 情報源。 これにより、DigitalOceanでイメージを実行するときに問題が発生するため、再構成する必要があります cloud-init を使用するには ConfigDrive データソースと cloud-init 画像がDigitalOceanで起動されると再実行されます。

まず、Ubuntu 18.04仮想マシンを起動し、前に作成したユーザーとしてログインしていることを確認します。

コマンドラインから、に移動します /etc/cloud/cloud.cfg.d ディレクトリ:

  1. cd /etc/cloud/cloud.cfg.d

使用 ls リストするコマンド cloud-init ディレクトリに存在する設定ファイル:

  1. ls
Output
05_logging.cfg 50-curtin-networking.cfg 90_dpkg.cfg curtin-preserve-sources.cfg README

まず、を削除します 50-curtin-networking.cfg ファイル。Ubuntuサーバーのネットワークインターフェイスを構成します。 画像がDigitalOceanで起動されると、 cloud-init これらのインターフェースを自動的に実行して再構成します。 このファイルが削除されていない場合、このUbuntuイメージから作成されたDigitalOceanドロップレットのインターフェイスが誤って構成され、インターネットからアクセスできなくなります。

  1. sudo rm 50-curtin-networking.cfg

次に、実行します dpkg-reconfigure cloud-init を削除するには NoCloud データソース、 cloud-init 検索して見つけます ConfigDrive DigitalOceanで使用されるデータソース:

  1. sudo dpkg-reconfigure cloud-init

次のグラフィカルメニューが表示されます。

The NoCloud データソースが最初に強調表示されます。 プレス SPACE 選択を解除するには、 ENTER.

最後に、に移動します /etc/netplan:

  1. cd /etc/netplan

を削除します 50-cloud-init.yaml ファイル(これはから生成されました cloud-init 以前に削除したネットワークファイル):

  1. sudo rm 50-cloud-init.yaml

最後のステップは、最初から構成をクリーンアップすることです。 cloud-init イメージがDigitalOceanで起動されたときに再実行されるように実行します。

これを行うには、 cloud-init clean:

  1. sudo cloud-init clean

この時点で、画像をDigitalOceanプラットフォームで起動する準備が整います。 追加のパッケージとソフトウェアをイメージにインストールできます。 完了したら、仮想マシンをシャットダウンします。

  1. sudo shutdown -h now

これで、DigitalOceanプラットフォームでのこのカスタムイメージのアップロードと起動に進むことができます。

ステップ4—カスタム画像のアップロードとドロップレットの作成

Ubuntu 18.04 VDIイメージを作成し、DigitalOceanで使用するように構成したので、カスタムイメージアップロードツールを使用してアップロードできます。

macOSでは、作成および構成したUbuntu仮想ディスクイメージはデフォルトで次の場所にあります。 ~/VirtualBox VMs/your_VM_name/your_virtual_disk_name.vdi. このパスは、VirtualBoxで使用しているOSによって若干異なる場合があります。

画像をアップロードする前に、画像を圧縮してDigitalOceanへのファイル転送を高速化します。

ホストOS(仮想マシン内ではない)で、VDIイメージファイルを含むディレクトリに移動します。

  1. cd ~/VirtualBox\ VMs/Ubuntu\ 18.04/

今、使用します gzip ファイルを圧縮するには:

  1. gzip < Ubuntu\ 18.04.vdi > Ubuntu\ 18.04.gz

このコマンドでは、ソースをパイプします Ubuntu 18.04.vdi ファイルに gzip、出力として指定 Ubuntu 18.04.gz 圧縮ファイル。

一度 gzip ファイルの圧縮が終了したら、アップロードします .gz カスタム画像クイックスタートの指示に従って、DigitalOceanにファイルします。

これで、カスタムUbuntu18.04サーバーイメージからドロップレットを作成して使用できるようになります。

結論

このチュートリアルでは、VirtualBox仮想化ツールを使用してバニラUbuntu18.04ISOからカスタムVDIイメージを作成する方法を学びました。 調整しました cloud-init そのため、DigitalOceanでDropletネットワークを適切に構成し、最後にカスタム画像アップロードツールを使用して画像を圧縮してアップロードできます。

このチュートリアルの手順を調整して、好みのLinuxディストリビューションのISOイメージを操作できます。 SSHサーバーがインストールされ、起動時に起動するように構成されていることを確認します。 cloud-init を使用するようにインストールされ、適切に構成されている ConfigDrive 情報源。 最後に、古いネットワーク構成ファイルがすべて削除されていることを確認します。

Packer などのツールを使用して、マシンイメージの作成を自動化することもできます。

DigitalOceanカスタムイメージの詳細については、カスタムイメージ製品ドキュメントを参照し、ブログ投稿を起動してください。

モバイルバージョンを終了