派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

AWS文明開化~イマイチ掴めないクラウドの正体とメリットを解説~:AWSってなんでこんなにチヤホヤされてるの?

エンジニアスタイルで実施した読者アンケートで、派遣エンジニアが学びたいテーマの第1位となった「クラウド」。クラウドの中でも注目を集めるAWS(Amazon Web Service)は、学習者も多いサービスです。一方で、いざ勉強をはじめてみると、そのサービスの広範さに戸惑い、諦めてしまった…という方も多いのでは。

そこで本連載では全3回に分けて、AWSの概要からプロジェクトの組み込み方までを図解付きで解説。解説者は、書籍『図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書』の著者・小笠原種高さんです。初回のお題は「AWSはなぜ人気なのか?」。途中で挫折してしまった方も、今一度AWSに挑戦してみませんか?

連載「ゆるく学ぶサーバー入門~イマイチわかりづらいサーバーの基礎を解説~」も併せて読むと、より理解を深めることができます。ぜひご覧ください。

【筆者】小笠原種高さん(ニャゴロウ先生)
技術ライター、イラストレーター。システム開発のかたわら、雑誌や書籍などで、データベースやサーバ、マネジメントについて執筆。図を多く用いた易しい解説に定評がある。主な著書に『なぜ?がわかるデータベース』(翔泳社)、『これからはじめる MySQL入門』『図解即戦力 Amazon Web Serviceのしくみと技術がこれ1冊でしっかりわかる教科書』(技術評論社)がある。

ニャゴロウ先生のつぶやき
そろそろAWSについて勉強をしたいけれど、軽く調べてみてもイマイチその正体が掴めない。メリットもよくわからないし、自分の仕事にどう使えるのか見えてこない。そんな方は多いのではないでしょうか。この連載では、AWSについて解説しながら、クラウドとは結局何なのか、どう付き合っていけば良いのかについてお話していきます。まずはAWSの基礎からはじめましょう。

AWSとはどんなもの?

まずは、軽くAWSの紹介から入りましょう。

AWS(Amazon Web Services)とは、Amazon Web Services社が提供するクラウドプラットフォームです。代表的なサービスは、クラウドコンピューティングのレンタルサービスです。

クラウドコンピューティングのレンタルとは、簡単にいえば、サーバーやネットワークなどをインターネット経由で貸してくれるサービスのことを言います。

(出典)『図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書』 p.10より

Amazon Web Services社は、皆さんご存じの"あの"Amazonの系列会社です。特にコロナ禍となってから、利用している人も多いでしょう。Amazonは、巨大なECサイト(電子商取引をするサイト)ですから、これを運営していくには、さまざまな技能やリソースが必要になります。Amazonは、そうした自社のノウハウを活かして、クラウドプラットフォームとして提供しているのです。

「サーバーやネットワークを貸してくれるなら、レンタルサーバと同じではないか?」と思われるかもしれませんね。そもそも、「クラウドコンピューティング」って何者なのでしょう。オンプレミス(自社構築)でサーバーを構築することと何が違うのでしょうか。

コンピューティングとは何か

「コンピューティング」とは、コンピュータを使って、さまざまなデータを処理することを指します。 、サーバーのリース契約では、サーバー機器を物理的に借りますが、コンピューティングは、「処理すること」自体を指すので、AWSでは、何かを物理的に借りるわけではありません 大雑把ですが、「コンピューティングを借りる=何かの処理(コンピューティング)をお願いできるサービス」と捉えると、理解しやすいでしょう。

ですから、AWSが貸してくれるのは、サーバーだけではありません。考え方が、物理的な機器単位ではなく、「何かを処理する」というサービス単位なので、サーバーを使うのに必要なネットワークはもちろんのこと、サーバーにインストールするApacheなどのソフトウェアもセットになっていますし、データベースや、機械学習、管理ツールなど、コンピューティングのために必要なものを一式丸ごと借りられます。

*これは、コンピューティングに関わるサービスに関する話であり、Amazonが提供するサービスの中には物理的に何かを借りるサービスも存在する。

AWSは”ツール”を借りるサービス

このように「何かの処理」をお願いできるのですが、「やっておいてね」というスタイルのサービスではありません。あくまで、借りられるのは「処理できるツール」だけであり、自分で設計し、構成する必要があります。

なんでも揃っているスーパーで、野菜をあらかじめ切って提供してくれるけれど、作る料理は自分で考えなければいけないし、どの材料をどのくらい使うかを自分で設計する必要があると喩えればわかりやすいでしょうか。

具体的には、AWSには、200を超えるサービスが提供されており、それらを自分で組み合わせて借りることができます。Amazon EC2(以下EC2)やAmazon S3(以下S3)という言葉を聞いたことがあるのではないでしょうか。それらは、AWSで提供されているサービスの名前です。 EC2ならば、サーバーに必要なもの一式が借りられるサービスですし、S3はストレージが借りられるサービスです。


(出典)『図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書』 p.11より

クラウドであるということ

では、「クラウド」とは何でしょう。

クラウドとは、「いつどこでもインターネット回線を介してアクセスできる環境」のことです。Microsoft社のMicrosoft 365や、ファイルのストレージサービス、音楽の配信サービス、画像の保存サービスなども、クラウドと呼ばれていますね。

つまり「クラウドコンピューティング」ならば、「コンピューティング環境をインターネット越しに使える」ということなのです。

ですから、AWSでは、サービスを借りたり、それらを設定したりするのは、すべて「マネジメントコンソール」と呼ばれる画面からインターネット越しに行います。データセンターなどに赴く必要はなく、自分の会社や自宅から操作できます。

(出典)同人誌「空飛ぶエンジニア用語図鑑」より

AWSは、なぜ使われるのか

ここまでは、少し聞いたことのある話かもしれませんね。さて、ここからが本題「AWSは、なぜ使われるのか」についてです。

AWSが使われる理由はいくつかあります。

まず単純に便利なのです。

1:マシンの準備や、インストール作業がない

通常サーバーを構築するとなると、まずはサーバー本体を物理的に用意しなければなりません。サーバー本体の手配ができたら、次に、OSをはじめとした色々なソフトウェアをインストールする必要があります。意外とこれは手間なものです。インストール待ちの時間もありますから、ほぼ1日がかりの作業と言って良いでしょう。

ところがAWSのクラウドコンピューティングサービスであれば、マネジメントコンソールからクリックするだけで、こうしたサーバーもソフトウェアも準備できます。もちろん細かい設定作業は、どちらにせよ必要なのですが、インストール作業がないというだけで非常に手間が省けます。

2:従量制なので、気軽に始められる

料金も多くのサービスが、「使ったぶんだけの従量制」なので、気軽にはじめて気軽に止めるということができます。

例えば、従来の、「5年間サーバーをリースする」ような仕組みなら、見積もりは5年先を見越して綿密に行わなければなりません。一度借りたら簡単に変更できないので、責任重大です。

しかし、AWSは従量制ですし、基本は「使った分だけ払う」「直ぐに始められるし、月単位で止められる」ので、とりあえず小さくはじめておいて、必要に応じて大きくすることもできます。


(出典)『図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書』 p.24より

3:サーバーの専門家でなくても始められる

インストール作業や、綿密な見積もりが不要であるということは、サーバーの専門家でなくともこうした準備が進められるということでもあります。

もちろん、顧客に納品するような大掛かりなものは、社内のサーバー担当者がしっかり設計をする必要がありますが、実験的に用意をしたいだけだったり、社内で少し使いたいだけだったりというようなときには、ちょっとわかる人がいれば、サーバーを用意できます。


(出典)『図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書』 p.13より

4:スケールイン/アウトが容易である

スケールインやスケールアウト(サーバの性能を上げたり下げたりすること)が容易であるということも大きな特徴でしょう。AWSには、スケールしやすい仕組みが整っています。

例えば、CPUやメモリの性能を途中であげたり、下げたりしたくなった場合にもコントロールパネルからクリックで変更することができます。

また、サーバーの台数を増やすことも可能です。もちろんそのためにはそのような作りにしておく必要はありますが、通常の物理的なマシンよりは、遙かに容易です。

5:サービスの種類が豊富

AWSは色々なサービスの集合体です。サーバーも貸してくれますし、ストレージも貸してくれます。データベース機能も貸してくれれば、人工衛星地上局の施設に必要なものも貸してくれるのです。サービスの数、なんと240種類以上!コンピュータに関わるありとあらゆるサービスが用意されています。HDD(ハードディスク)を物理的にトラックで運ぶサービスというものもあります(!)。

AWSだけで、ほとんど必要なツールは揃ってしまうので、あちらこちらで契約する必要がありません。 例えば、全部自前で用意する場合は、A社でサーバー(物理的な機器)を買って、B社で回線を契約して、C社でドメインを購入し……、と複数の会社に発注しなければなりませんが、AWSはセットで丸ごと貸してくれるので、そうした煩雑さがないのです。

また、自由度が高いので、これらのサービスを組み合わせやすい特徴もあります。


(出典)『図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書』 p.12より

AWSを今すぐ使うべきか?

AWSの良さを色々お話してきましたが、では全てのサーバーをAWSに移行すればよいかというと、それは早計かと思います。チョットマッテ欲しい!


(出典)同人誌「明後日から使えるAWS入門」より

確かに便利で手軽なAWSですが、どうしても、その代償としてランニングコストは高めです。そりゃそうです。自社で面倒なことを用意してくれるのですから、その分はコストに反映されるのは当たり前のことです。サーバーの専門家を雇う人件費も含めたコストで考えたとしても、必ずしもAWSが正解とも限りません。オンプレミスで構築した方が良いケースもありますし、AWSとオンプレミスを併用する方法もあります。

また、レンタルのクラウドコンピューティングを提供しているのは、AWS以外にGoogle CloudやMicrosoft Azureなども存在します。「マルチクラウド」と言って、複数のクラウドプラットフォームを使うこともあります。それぞれ個性が違うので、どれが自社の業務に最適であるかは、知識を十分に持った人が、きちんと設計して選ぶべきでしょう。

そもそも、サーバー構成やネットワーク構成は、サービスやシステムによって異なるものです。 大事なのは、「自分が構築したいシステムのインフラが、きちんと設計できていること」であり、そのために適切な方法を選択できることです。AWSに移行した方が良いプロジェクトもあれば、そうでないプロジェクトもあります。

AWSはサーバー構築に大きな選択肢を与えてくれていますが、最終的に選ぶのは私たちなのです。

ニャゴロウ先生のまとめ
「AWSはなんでこんなにチヤホヤされてるの?」 AWSは、手軽で便利です。従来のサーバー構築方法に比べて、大きく手間や時間が省けます。 その代わり、長期に渡って使う場合には、ランニングコストがかさみがちなので、オンプレミスや、他のベンダーなども含めて、「どのような構成が自社にとって良いのか」を考えて設計すると良いでしょう。

次回は、「作っては捨てる時代がやってきた」として、AWSを使う上で欠かせない「クラウドネイティブ」という考え方についてお話します。お楽しみに!