WEBVTT

00:00.330 --> 00:03.900
講師：クラウド・コンピューティングが意図したコスト削減と効率性を得るためには､

00:03.900 --> 00:06.540
仮想化に大きく依存する｡

00:06.540 --> 00:08.280
現在では､ 仮想化を使用することで､

00:08.280 --> 00:12.210
1台の物理サーバー上に多数の論理サーバーを配置することができる｡

00:12.210 --> 00:15.150
その結果､ データセンター内に必要なスペース､ 電力､

00:15.150 --> 00:18.060
冷却の物理的な量を削減することができる｡

00:18.060 --> 00:22.950
さらに､ 仮想化を使うことで､ 必要なときにいつでも追加の仮想サーバーを立ち上げることができ､

00:22.950 --> 00:25.770
より高いレベルの可用性を実現できる｡

00:25.770 --> 00:27.870
メモリとCPUリソースを動的にプロビジョニングできるこの機能は､

00:27.870 --> 00:31.920
クラウド・コンピューティングの重要な利点のひとつだ｡

00:31.920 --> 00:33.690
さて､ クラウド・コンピューティングにはさまざまな利点がある一方で､

00:33.690 --> 00:37.680
考慮しなければならないセキュリティ上の問題も数多くある｡

00:37.680 --> 00:40.620
物理サーバーと同じセキュリティ問題のほとんどは､

00:40.620 --> 00:43.140
クラウド環境にも持ち越される｡

00:43.140 --> 00:47.130
経営者は､ クラウドに移行すればすべての問題が解決すると考えていることが多いが､

00:47.130 --> 00:49.260
実際には決してそうではない｡

00:49.260 --> 00:54.270
仮想化を使用する場合､ 1つまたは複数の論理サーバーが1つの物理サーバー上に存在する｡

00:54.270 --> 00:58.890
そのために､ ハイパーバイザーと呼ばれる特殊なソフトウェアを使用する｡

00:58.890 --> 01:00.870
ハイパーバイザーは､ プロセッサ､

01:00.870 --> 01:05.700
メモリ､ ハードディスクの可用性など､ すべてのリソースの配分を制御する｡

01:05.700 --> 01:08.880
基本的に､ ハイパーバイザーは物理マシンをエミュレートするため､

01:08.880 --> 01:15.060
オペレーティング・システムとそのすべてのアプリケーションは､ 仮想環境内で動作していることに気づかない｡

01:15.060 --> 01:17.700
現在､ ハイパーバイザーは､ タイプ1またはベアメタル・ハイパーバイザーと､

01:17.700 --> 01:22.230
タイプ2またはホステッド・ハイパーバイザーの2つに分類される｡

01:22.230 --> 01:23.730
ベアメタル型とホスト型ハイパーバイザーを比較した場合､

01:23.730 --> 01:25.710
セキュリティの観点からの唯一の主な違いは､

01:25.710 --> 01:34.080
ホスト型では基盤となるオペレーティング・システムも適切にセキュリティ保護され､ パッチが適用されていることを確認しなければならないことだ｡

01:34.080 --> 01:35.730
パフォーマンスを考えれば､

01:35.730 --> 01:39.990
ベアメタルはホスティングされたものよりも高速で効率的だ｡

01:39.990 --> 01:45.780
もうひとつの仮想化オプションは､ コンテナ・ベース仮想化（コンテナ化）と呼ばれるものだ｡

01:45.780 --> 01:48.780
このタイプでは､ ハイパーバイザーは全く利用されない｡ その代わりに､

01:48.780 --> 01:51.930
各コンテナは､ 各コンテナのベースとして共通のオペレーティング・システムに依存する｡

01:51.930 --> 01:55.620
各コンテナは同じ基礎となるオペレーティング・システムを共有するが､ 各コンテナは､

01:55.620 --> 02:02.820
必要に応じてカスタマイズできる独自のバイナリ､ ライブラリ､ アプリケーションを持つことができる｡

02:02.820 --> 02:09.120
現在､ コンテナベースの仮想化は､ Linuxを基盤とするオペレーティング・システムでほぼ独占的に使用されている｡

02:09.120 --> 02:14.460
コンテナ・ベースの仮想化では､ 個々のコンテナに独自のオペレーティング・システムのコピーを必要としないため､

02:14.460 --> 02:19.290
タイプ1やタイプ2の仮想化よりもリソースの使用量が少なくて済む｡

02:19.290 --> 02:25.110
多くのクラウド・サービス・プロバイダーは､ ハイパーコンバージド・インフラストラクチャによって仮想化をさらに一歩進めている｡

02:25.110 --> 02:27.000
これにより､ プロバイダーはハードウェアを変更することなく､

02:27.000 --> 02:31.410
ストレージ､ ネットワーク､ サーバーを完全に統合することができる｡

02:31.410 --> 02:34.860
その代わりに､ ソフトウェアと仮想化技術に依存して､

02:34.860 --> 02:36.750
すべての統合を行っている｡

02:36.750 --> 02:38.940
ベンダーのソリューションに煩わされることなく､

02:38.940 --> 02:43.110
単一のインターフェイスやデバイスからこれらすべてを管理することができる｡

02:43.110 --> 02:45.330
アプリケーション仮想化も仮想化の一種で､

02:45.330 --> 02:50.040
基盤となるホストのセキュリティを強化するためによく使われる｡

02:50.040 --> 02:58.050
アプリケーションの仮想化とは､ コンピュータ・プログラムを実行するオペレーティング・システムからカプセル化するソフトウェア技術である｡

02:58.050 --> 02:59.790
完全に仮想化されたアプリケーションは､

02:59.790 --> 03:02.130
あたかもインストールされているかのように実行されるが､

03:02.130 --> 03:04.890
従来の意味ではインストールさえされていない｡

03:04.890 --> 03:06.690
アプリケーションの仮想化により､ Windows

03:06.690 --> 03:11.490
XPやWindows 7のような旧式のオペレーティング・システム向けに設計されたレガシー・アプリケーションを､

03:11.490 --> 03:20.280
よりモダンなオペレーティング・システム上で実行したり､ Androidアプリケーションのようなクロスプラットフォーム・ソフトウェアをWindowsマシン上で実行したりすることができる｡

03:20.280 --> 03:24.840
多くのクラウド・プロバイダーは､ VDI（仮想デスクトップ・インフラ）も提供している｡

03:24.840 --> 03:31.530
現在VDIは､ クラウド・プロバイダーが集中管理されたサーバーからエンドユーザーに完全なデスクトップ・オペレーティング・システムを提供することを可能にしている｡

03:31.530 --> 03:34.200
この方法を使うことには､ セキュリティ面で多くの利点がある｡ 

03:34.200 --> 03:36.390
たとえば､ ある組織では､ 朝ログオンすると､

03:36.390 --> 03:41.610
各ユーザーに新しい仮想デスクトップ・イメージを作成していた｡

03:41.610 --> 03:43.590
このデスクトップは永続性がないため､

03:43.590 --> 03:46.170
たとえ攻撃者に悪用されたとしても､ ユーザーがログオフするとすぐに､

03:46.170 --> 03:50.160
あるいは毎日午前0時に破棄されるため､ マルウェアがインストールされていたとしても､

03:50.160 --> 03:56.880
エンドユーザーのデスクトップに永続的にとどまる攻撃者の能力を効果的に破壊することができた｡

03:56.880 --> 04:00.240
仮想化のもうひとつの素晴らしい使い方は､ サンドボックスを作ることだ｡ 

04:00.240 --> 04:01.680
サンドボックスは､ ウイルス､

04:01.680 --> 04:09.630
ワーム､ トロイの木馬､ その他のマルウェアをゲスト・オペレーティング・システム内で分析できる隔離された環境を作ることができる｡

04:09.630 --> 04:14.400
この仮想サンドボックスは隔離された仮想マシン内にあるため､

04:14.400 --> 04:22.260
ホストOSやハイパーバイザーをホストしている自分のコンピューターに感染することはない｡

04:22.260 --> 04:24.120
サイバーセキュリティ・アナリストとして働く場合､

04:24.120 --> 04:27.240
マルウェア分析を行うためにサンドボックスを多用することになる｡

04:27.240 --> 04:31.680
特に動的マルウェア分析を行う場合は､ マルウェアの一部を取得し､ それを実行して､

04:31.680 --> 04:37.710
そのマルウェアが特定のゲストOS上で実行されたときに何が起こっているかを特定する｡

04:37.710 --> 04:39.540
仮想マシンのもう一つの良い使い道は､

04:39.540 --> 04:42.030
クロスプラットフォームの仮想化である｡

04:42.030 --> 04:45.870
例えば､ 私はMacBook Proをメインマシンとして使っている｡ 

04:45.870 --> 04:50.040
つまり､ 異なるオペレーティング・システム用のソフトウェア・アプリケーションをテストしたい場合､

04:50.040 --> 04:52.080
ウィンドウズ用ラップトップ､ リナックス用ラップトップ､

04:52.080 --> 04:58.560
マック用ラップトップのように､ それぞれのオペレーティング・システム用に新しいマシンを用意することができる｡

04:58.560 --> 05:00.450
しかし､ 仮想化を使うのであれば､

05:00.450 --> 05:06.120
VMware､ Parallels､ VirtualBoxのようなソフトウェアを使ってMacBook

05:06.120 --> 05:08.100
Pro上でホストシステムを使い､

05:08.100 --> 05:15.510
既存のMac OS環境の上にゲストOSをインストールすることで､ クロスプラットフォーム仮想化を行うことができる｡

05:15.510 --> 05:17.040
これによって､ オペレーティング・システムに関係なく､

05:17.040 --> 05:22.320
すべてのソフトウエアをテストし､ それらがどのように相互作用するかを確認することができる｡

05:22.320 --> 05:26.220
というのも､ ウェブ開発者としてウェブサイトを作成する際､

05:26.220 --> 05:28.980
それがWindows 10､ Windows

05:28.980 --> 05:32.940
11､ Mac､ Chromebook､ iPhone､

05:32.940 --> 05:41.670
Androidデバイス､ その他あらゆるデバイスで動作することを確認したいからである｡

05:41.670 --> 05:44.430
仮想化のもう一つの大きな用途はトレーニングだ｡ 

05:44.430 --> 05:51.600
これらの仮想マシンを使って､ 実稼働中のオペレーティング・システムで練習ができるように設定されたラボ環境を作ることができる｡

05:51.600 --> 05:53.220
例えば､ CompTIAの各種資格取得のために勉強する場合､ diontraining.comのコースを購入すれば､

05:53.220 --> 05:57.900
CompTIAの各種資格取得のための勉強ができます｡

05:57.900 --> 05:57.900
comには､

05:57.900 --> 06:00.480
実習ラボが組み込まれている｡

06:00.480 --> 06:03.390
これらのラボでは､ 私たちのクラウドベースの環境にログインし､

06:03.390 --> 06:08.700
Linuxシステム､ Windows 10システム､ Windows

06:08.700 --> 06:18.900
Serverシステムなどのアクションを安全かつセキュアな方法で実行することができます｡

06:18.900 --> 06:20.850
トレーニングやラボ環境に仮想マシンを使うことのもう一つの利点は､

06:20.850 --> 06:22.590
様々な時点でスナップショットを取り､

06:22.590 --> 06:28.110
そのスナップショットを取ったところからまた再開できることだ｡

06:28.110 --> 06:31.200
例えば､ 以前私が個人的に講義をしていたとき､ ウィンドウズ7の壊れたマシンを実際に作り､

06:31.200 --> 06:38.040
A+の生徒たちにトラブルシューティングをさせるためにさまざまな問題を用意した｡

06:38.040 --> 06:40.260
彼らに仮想マシンを渡し､

06:40.260 --> 06:47.220
電源を入れ､ 私が壊した最後のセーフポイントからリストアする｡

06:47.220 --> 06:50.430
これは､ トレーニングの中で仮想マシンを使用する素晴らしい方法だ｡

06:50.430 --> 06:52.770
さらに勉強を続け､ LinuxやWindows､

06:52.770 --> 06:55.290
サーバー環境､ Mac OSなどについて学び始めると､

06:55.290 --> 06:59.370
それらのゲストOSを含むさまざまな仮想マシンをスピンアップし､

06:59.370 --> 07:04.680
安全でセキュアな環境でスキルを練習することができる｡

07:04.680 --> 07:11.220
多くの人がエミュレーションと仮想化を混同しているからだ｡

07:11.220 --> 07:15.330
エミュレーションとは､ 他のシステムを模倣したシステムを使用することである｡

07:15.330 --> 07:17.580
仮想化では､ 特定のハードウェアの仮想インスタンスが作成され､

07:17.580 --> 07:20.580
使用される｡

07:20.580 --> 07:25.440
つまり実際には､ ソフトウェアで表現された新しい物理的なマシンを使っていることになる｡

07:25.440 --> 07:27.570
しかし､ エミュレーターでは､ あるソフトウェアがリアルタイムで環境を翻訳し､

07:27.570 --> 07:31.920
それが何か別のものであるかのように装っている｡

07:31.920 --> 07:33.780
例えば､ 古いスーパーファミコンのゲームをMacBook

07:33.780 --> 07:39.510
Proでプレイしたい場合､ OpenEmuのようなスーパーファミコンのエミュレーターをダウンロードすれば､

07:39.510 --> 07:44.970
ゲームのコードをリアルタイムでMacが理解できる命令に翻訳してくれる｡

07:44.970 --> 07:49.560
仮想化では､ 実行中のソフトウェアが物理的にマシンのハードウェアにアクセスできるため､

07:49.560 --> 07:52.860
エミュレーターを使うよりもはるかに高速に動作する｡

07:52.860 --> 07:56.970
では､ 仮想化ではなくエミュレーターを使いたいのはどんな場合だろうか？

07:56.970 --> 08:00.750
スーパーファミコンのような他のハードウェア向けのOSをMacやWindowsマシンで動かす必要がある場合は､

08:00.750 --> 08:05.400
エミュレーターを使うことになる｡

08:05.400 --> 08:09.090
ARMプロセッサー上で動作するように設計されたアンドロイドのように､

08:09.090 --> 08:17.550
異なるオペレーティング・システム向けのソフトウェアを実行したいが､ インテル・プロセッサーとウィンドウズ・オペレーティング・システムを使用している場合は､

08:17.550 --> 08:20.190
やはりエミュレーターが適している｡

08:20.190 --> 08:23.250
一方､ 高速で優れたパフォーマンスが必要な場合は､

08:23.250 --> 08:25.590
仮想化ソリューションを使用したい｡

08:25.590 --> 08:33.060
しかし､ 仮想化では､ プロセッサーの特定のハードウェア用にコード化されたソフトウェアの実行に制限されることを忘れないでほしい｡

08:33.060 --> 08:37.920
通常､ 私たちの多くはx86またはx64ベースのプロセッサーを使用しているため､ Windows､

08:37.920 --> 08:40.650
Linux､ Mac､ またはこれら3つのオペレーティング・システムのどれかを､

08:40.650 --> 08:45.660
これらのタイプのシステム上で仮想化を使って実行しても問題なく動作する｡

08:45.660 --> 08:49.050
しかし､ ARMプロセッサー用に設計されたオペレーティング・システムを実行しようとする場合､

08:49.050 --> 08:52.620
仮想化ではうまくいかず､ エミュレーターを使わなければならない｡

08:52.620 --> 08:55.110
一般的には､ エミュレーターの代わりに仮想化を使うことが多いだろう｡

08:55.110 --> 08:57.120
なぜなら､ 仮想化の方が高速で効率的だし､

08:57.120 --> 09:03.240
ほとんどのものがx86またはx64プロセッサー上で動作するように書かれているからだ｡

09:03.240 --> 09:06.540
しかし､ 別のプロセッサーで何かを実行する必要がある場合は､

09:06.540 --> 09:08.990
エミュレーターを使うことになる｡
