クラウドサービスと仮想化

Skip to content

これは機械翻訳されたテキストであり、誤りを含む可能性があります!

クラウドサービスと仮想化は密接に関連しています。どちらも、すべてのハードウェアを所有せずにデータリソースを使用することです。しかし、いくつかの重要な違いがあります。

仮想化とは?

仮想化とは、1つの物理マシン上で複数の「仮想」マシンを実行することを意味します。Webサーバー、データベース、ファイルサーバーのためにそれぞれ個別の物理サーバーを持つ代わりに、これらすべてを1つのマシン上で仮想マシンとして実行できます。

これを可能にするソフトウェアは ハイパーバイザー と呼ばれます:

タイプ 説明
タイプ1 (ベアメタル) 通常のOSの下ではなく、ハードウェア上で直接実行されます Proxmox, VMware ESXi
タイプ2 (ホスト型) 通常のオペレーティングシステム上で実行されます VirtualBox, VMware Workstation

Type 1 vs. Type 2

  • Type 1 は、本番環境やサーバー室で使用するものです。Proxmox はサーバーに直接実行されます。
  • Type 2 は、ご自身の PC でテストするために使用するものです。VirtualBox は Windows または macOS の上に実行されます。

仮想マシン (VM) とは何ですか?

VM は、別のオペレーティングシステム内で実行される完全なオペレーティングシステムです。独自の (仮想) メモリ、CPU、およびディスクを持ちますが、物理ハードウェアは他の VM と共有します。

VM の利点:

  • 分離 - 各 VM は独立しています。1 つの VM がクラッシュしても、他の VM に影響はありません。
  • 柔軟性 - 同じマシン上でさまざまなオペレーティングシステムを実行できます (例: Ubuntu と Windows Server)。
  • スナップショット/バックアップ - VM のスナップショットを取得し、問題が発生した場合にロールバックできます。
  • リソースの活用 - 多くの RAM と CPU を持つ物理マシンは、多くの VM を実行できます。

コンテナとは?

コンテナはVMよりも軽量です。ホストマシンのオペレーティングシステムカーネルを共有しますが、隔離された環境で実行されます。

プロパティ VM コンテナ
サイズ 大きい (OS全体) 小さい (アプリケーションと依存関係のみ)
起動時間
隔離 強い (独自のOS) 良好、ただしOSカーネルを共有
使用例 完全に独自のOSが必要な場合 単一アプリケーションとマイクロサービス
Proxmox VM, VirtualBox Docker, Podman

Når bruker vi hva?

  • VMを、完全なオペレーティングシステムが必要な場合(例:Windows ServerやLinuxサーバーで完全な制御が必要な場合)に使用します。
  • アプリケーション(例:Webサーバー、データベース、Grafana)の実行のみが必要な場合は、**コンテナ**を使用します。

実際には、両方を頻繁に使用します。DockerコンテナのホストとしてVMを使用します。

クラウドサービス

クラウドサービスとは、他者がハードウェアを所有し、運用し、必要なものをインターネット経由でレンタルすることを意味します。物理サーバーを購入して維持する代わりに、クラウド内の仮想マシンを使用するために料金を支払います。

サービスモデル

クラウドサービスには、主に3つのモデルがあります。

モデル 完全名称 提供されるもの 自身で管理するもの
IaaS Infrastructure as a Service 仮想マシン、ネットワーク、ストレージ OS、アプリケーション、設定 Azure VM, AWS EC2
PaaS Platform as a Service コードを実行するための完成されたプラットフォーム アプリケーションのみ Azure App Service, Heroku
SaaS Software as a Service ブラウザ経由で使用する完成されたアプリケーション 技術的なものは何も Microsoft 365, Google Docs

En enkel måte å huske det på

  • IaaS = あなたは空の機械を借りる。すべて自分でインストールして設定します。
  • PaaS = あなたは完成された環境を借りる。あなたのコードを入力するだけです。
  • SaaS = あなたは完成されたアプリを借りる。ログインして使用するだけです。

配信モデル

クラウドサービスは、さまざまな方法で提供できます。

モデル 説明
パブリッククラウド すべての人に利用可能な共有インフラストラクチャ Azure, AWS, Google Cloud
プライベートクラウド 企業専用の専用インフラストラクチャ 学校のサーバールームのProxmox
ハイブリッドクラウド パブリックとプライベートの組み合わせ 一部のサービスをローカルに、一部をAzureに

VPS: 一般的なクラウドソリューション

VPS (Virtual Private Server) は、最も一般的な IaaS ソリューションの 1 つです。クラウドプロバイダーから仮想マシンをレンタルし、まるで自分自身のサーバーを持っているかのように、完全に制御できます。

典型的な用途:

  • Web サーバーの実行
  • VPN サービスのセットアップ
  • アプリケーションのホスティング (例: Flask + データベース)
  • 自分のハードウェアを危険にさらすことなく、テストを行う

一般的な VPS プロバイダー:

プロバイダー 利点
Linode (Akamai) シンプル、価格が良い、優れたガイド
DigitalOcean 使いやすい、優れたドキュメント
Hetzner 安価、ヨーロッパ (GDPR 互換)
Azure Microsoft エコシステムとの統合

Kostnader i skyen

クラウドサービスには費用がかかり、注意しないとすぐに高額になる可能性があります。使用後にオフにする仮想マシンよりも、24時間365日稼働する仮想マシンのほうがコストがかかります。常に料金を確認し、コストに関するアラートを設定してください。

ローカル vs. クラウド

多くの企業が、ローカルサーバーとクラウドサービスの組み合わせを使用しています。考慮すべき要素を以下に示します。

要素 ローカル (オンプレミス) クラウド
コントロール ハードウェアとデータに対する完全な制御 ベンダーに依存する
コスト 最初に大きな投資が必要 継続的な月額コスト
スケーラビリティ 物理的なハードウェアによって制限される 必要に応じてスケールアップおよびスケールダウンが可能
メンテナンス すべてを自分で修正する必要がある ベンダーがハードウェアを処理する
プライバシー データの保存場所を把握できる データが他の国に保存される可能性がある

Easy 課題 1 - 自分のマシンで VM を実行する

VirtualBox (無料) をダウンロードし、Ubuntu Desktop や Linux Mint などの Linux ディストリビューションのインストールを試してください。

  • VM に割り当てる RAM と CPU はどれくらいにしますか?
  • VM が実行されている間、PC が遅くなることに気づきますか?
  • マシンの RAM よりも多くの RAM を VM に割り当てようとするとどうなりますか?

これにより、VM が物理マシンのリソースをどのように共有するかを理解できます。

Easy 課題 2 - Docker でコンテナを起動する

Docker がインストールされている場合 (または Docker がインストールされた VM にアクセスできる場合)、以下を実行してみてください。

docker run -d -p 8080:80 nginx # nginxコンテナをバックグラウンドで実行し、ポート8080をポート80にマッピングします

次に、ブラウザで http://localhost:8080 にアクセスしてください。これで、コンテナでWebサーバーを実行できるようになりました! Nginxで完全なVMをセットアップするのにかかった時間と比較してください。

Easy 課題3 - 既にどのようなクラウドサービスを利用していますか?

日々の生活で利用しているサービスについて考えてみましょう。

  • Microsoft 365 (Word, Teams, OneDrive) は SaaS です
  • GitHub Pages でウェブサイトをホストすることは PaaS です
  • 学校で Proxmox 上に VM を作成する場合、それは実質的に IaaS です (ただしローカル環境のみ)

他の利用しているサービスを分類できますか?

Easy 課題 4 - データの保存場所はどこですか?

Microsoft Privacy Dashboard にアクセスして、Microsoft があなたについて保存している内容を確認してください。 また、あなたが使用しているクラウドサービスの利用規約も確認してください。

  • データは世界のどこに保存されていますか?
  • アカウントを削除した場合、データはどうなりますか?
  • あなたは自分のデータを所有していますか、それともプロバイダーが所有していますか?

これらの質問は、GDPR およびプライバシーを考慮すると特に重要です。

要約

  • 仮想化 を使うと、VMまたはコンテナとして、1つのハードウェア上で複数のサービスを実行できます。
  • クラウドサービス とは、他の人がハードウェアを所有し、必要なものをレンタルすることを意味します。
  • IaaS、PaaS、SaaS は、自分でどの程度の責任を負うかを説明します。
  • 実際には、多くの人が ハイブリッド ソリューションを使用しており、オンプレミスとクラウドベースのサービスを組み合わせています。
  • オンプレミスとクラウドの選択は、制御、コスト、スケーラビリティ、プライバシーに関するものです。