EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

抄録:『絵で見てわかるクラウドインフラとAPIの仕組み』 今さら聞けないクラウドAPIの基本 第2章【中編】: サーバーリソースとブロックストレージリソース

  2020/10/21 10:00

 前回は、書籍『絵で見てわかるクラウドインフラとAPIの仕組み』(翔泳社 平山 毅、中島 倫明、中井 悦司、矢口 悟志、森山 京平、元木 顕弘 著)より、第2章(中井 悦司 著)から抜粋して紹介しました。中編となる今回のパートでは、サーバーリソースとブロックストレージリソースというテーマを抜粋。仮想マシンインスタンスに関する欠かせない知識を多く紹介していますので、これを機会に、分からなかった部分のキャッチアップや知識の棚卸にもお役立てください。

2.3 サーバーリソース

 サーバーリソースである仮想マシンインスタンスを起動する際は、いくつかの設定項目を指定する必要があります。これらの項目を順に説明します。

2.3.1 テンプレートイメージ

 仮想マシンインスタンスを起動するには、ゲスト OS がインストールされた起動ディスクイメージが必要です。事前に用意されたテンプレートイメージを指定すると、これを複製したものが起動ディスクとして仮想マシンインスタンスに接続されます(図 2.13)。

図2.13 テンプレートイメージからの起動
図2.13 テンプレートイメージからの起動

 テンプレートイメージは、クラウドサービスの提供者が事前に用意したもののほかに、利用者が自分で作成したものを登録することも可能です。また、代表的な Linuxディストリビューションについては、ディストリビューションを提供する企業やコミュニティがクラウドで利用できるイメージを公開しています。このような公開イメージを自分が利用するクラウド環境にアップロードして登録してもかまいません。

 クラウドの利用者がテンプレートイメージを登録する際は、自身のテナントのみで使用できる「プライベートイメージ」として登録するほかに、他のテナントのユーザーも利用できる「パブリックイメージ」として登録することもできます。

2.3.2 インスタンスタイプ

 インスタンスタイプは、仮想マシンの「サイズ」を指定するものです。それぞれのタイプごとに、仮想 CPU の個数、仮想メモリーの容量、仮想ディスクのサイズなどが決められています。仮想マシンインスタンスを起動する際は、インスタンスタイプとして事前に用意されたメニューから選択することで、仮想マシンインスタンスの構成を決定します。AWS では、利用者自身が新たなインスタンスタイプを定義することはできません。

 OpenStack の場合は、テナントの管理者権限を持ったユーザーであれば、自身が管理するテナントで利用するインスタンスタイプを追加/変更することができます。設定可能な項目は、表 2.1 のとおりです。「ルートディスク」は、テンプレートイメージを複製して用意される起動ディスクのことです。

 テンプレートイメージを複製した後に、ここで指定されたサイズまで容量の拡張が行なわれます。「一時ディスク」は、未使用のディスクデバイスです。通常は空のファイルシステムが作成されて、「/mnt」にマウントされた状態にセットアップされます。

表2.1 インスタンスタイプの設定項目
表2.1 インスタンスタイプの設定項目

 「ルートディスク」と「一時ディスク」は、別名でエフェメラルディスクとも呼ばれます。エフェメラル(Ephemeral)は「一過性の」という意味で、ここでは、仮想マシンインスタンスを停止/破棄すると、これらのディスク領域も一緒に破棄されることを表わします。これらのディスク領域に保存したデータは、仮想マシンインスタンスとともに失われるので注意が必要です。永続保存が必要なデータは、この後で説明する「仮想ストレージ」、もしくは、「オブジェクトストレージ」に保存する必要があります。

 また、仮想マシンインスタンスを起動した後、ルートディスク領域にアプリケーションを追加でインストールしたり、設定をカスタマイズすることがあります。カスタマイズしたルートディスクの内容を保存するには、仮想マシンインスタンスのスナップショットを取得します。これは、ルートディスクを複製して、新たなテンプレートイメージとして利用可能にする機能です(図 2.14)。

 一方、この後で説明するように、仮想ストレージからゲスト OS を起動する機能を使用した場合は、仮想マシンインスタンスを停止/破棄した後でも、仮想ストレージの内容はそのまま残ります。

図2.14 仮想マシンインスタンスのスナップショット
図2.14 仮想マシンインスタンスのスナップショット

2.3.3 接続ネットワークとセキュリティグループ

 ネットワーク接続については、接続先の仮想スイッチ、および、適用するセキュリティグループを指定する必要があります。複数の仮想スイッチを指定した場合は、接続先の仮想スイッチごとに仮想 NIC が用意されます(図 2.15)。

図2.15 仮想マシンインスタンスと仮想スイッチの接続
図2.15 仮想マシンインスタンスと仮想スイッチの接続

 2.2.2 項(P.29)で説明したように、仮想 NIC に特定の IP アドレスを割り当てる際は、接続先の仮想スイッチに対して、IP アドレスを指定した接続ポートを事前に作成しておきます。この接続ポートを指定して接続することで、仮想 NIC に対して指定の IP アドレスが割り当てられます。接続ポートを指定しない場合は、新たな接続ポートが自動作成されて、該当の仮想スイッチに割り当てられたサブネットから、未使用の IP アドレスの 1 つが割り当てられます。

 セキュリティグループについては、2.2.4 項(P.33)で説明したとおりです。複数の仮想 NIC を持つ構成の場合、仮想 NIC ごとに異なるセキュリティグループを適用することも可能です。操作としては、接続先の仮想ポートに対して、適用するセキュリティグループを指定する形になります。

2.3.4 ログイン認証用の鍵ペアー

 仮想マシンインスタンスのゲスト OS にログインする際のユーザー認証は、SSH の公開鍵認証が標準的に使用されます。各テナントの利用者は専用の鍵ペアー(公開鍵と秘密鍵のペアー)を作成して、公開鍵のほうをクラウド環境に事前登録しておきます。

 仮想マシンインスタンスを起動する際に、登録済みの公開鍵の 1 つを指定すると、対応する秘密鍵で SSH ログインできるように、ゲスト OS に対して、公開鍵を用いた認証設定がなされます(図 2.16)。

 この認証設定の処理は、ゲスト OS 内部で稼働する「Cloud-init」というツールによって行なわれるので、テンプレートイメージとして用意するゲスト OS には、事前に Cloud-init をインストールしておく必要があります。Cloud-init は、ゲスト OS の初回起動時に、指定された公開鍵を受け取って、SSH の認証設定を行ないます[※ 4]。

※4 Windows の場合は、RDP で接続するためにパスワード認証が必要となります。AWS では、鍵ペアーからAdministrator 権限のパスワードを生成する仕組みが用意されています。

図2.16 公開鍵認証の設定処理
図2.16 公開鍵認証の設定処理

関連リンク

著者プロフィール

  • EnterpriseZine編集部(エンタープライズジン ヘンシュウブ)

    「EnterpriseZine」(エンタープライズジン)は、翔泳社が運営する企業のIT活用とビジネス成長を支援するITリーダー向け専門メディアです。データテクノロジー/情報セキュリティの最新動向を中心に、企業ITに関する多様な情報をお届けしています。

バックナンバー

連載:翔泳社の本

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5