2022年、AWSを図解で学ぼう~最短1日で基礎が身に付く

第3回EC2に触れる1日~AWSがわかれば、Linuxは勉強しなくていいの……? EC2を学ぼう

AWSの概要については、掴めてきたでしょうか。

3回目となる今回からは、もう少し踏み込んで、個々のサービスの話をしていきます。もちろん最初に取り上げるサービスは、AWSの代表格と言っても良いAmazon EC2なのですが、最近では、その使い方にも変化が出てきています。EC2の概要を説明しながら、⁠AWSを使うには、何を学ぶべきか」もお話します。

Amazon EC2とは

Amazon Elastic Compute Cloud(Amazon EC2)は、コンピューティングキャパシティを提供するサービスです。簡単に言えば、サーバに必要なもの一式をクラウドで借りられるということです。

この程度の説明では、シンプルなレンタルサーバと同じようなものだと感じるかもしれませんが、AWSの場合は、サーバ機能以外にもいろいろ借りられますし、ネットワークの設計なども自分で行えます。借りた道具を使って自分でサーバを作るようなイメージだというとわかりやすいでしょうか。

ただし、その作業自体は、簡単です。第1回でも軽くご紹介しましたが、Linuxのコマンドをひたすら入力する必要はなく、AMIと呼ばれる仮想イメージ(OSやソフトの組み合わせ)インスタンスタイプ(サーバースペック)などを、ポチポチとマウスで選択すれば、即時に作成されます。操作は、マネジメントコンソールと呼ばれるグラフィカルな画面で行います。

そのため、インストールの待ち時間というものは発生しません。また、リモートで操作できるので、わざわざデータセンターや顧客の社屋に出向いて、ブンブン煩いなかで作業をしなくても良いのです。

まずはマウスで選ぶだけ!
まずはマウスで選ぶだけ!

インスタンスとインスタンスの種類

EC2でサーバを立てる場合、⁠インスタンスを作る」と言います。厳密には、サーバ=インスタンスではないですが、おおよそ「マシンを作る」や、⁠サーバを立てる」と同義と思って良いでしょう。

インスタンスを作る場合、いくつかの設定項目があります。

 インスタンスの作成例
図 インスタンスの作成例( 図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書 より引用)

自分の会社で、サーバを立てる時にも、物理マシンのスペックやOS、インストールするソフトウェアなどを選ぶように、EC2でも選びます。

たとえば、「インスタンスタイプ」とは、マシンの用途です。CPU、メモリ、ストレージ、ネットワークキャパシティなど複数のスペックで用意されており、用途に応じて組み合わされています。そこから選ぶわけです。

選び方は、⁠値段が高いけれど処理が速い」⁠処理はそこそこだが、値段が安い」など、何に使うのかを考えて選ぶと良いでしょう。

インスタンスタイプを選んだら、「インスタンスサイズ」を選びます。こちらは、マシンの性能です。たとえば、⁠T2」というよく使われるインスタンスタイプがありますが、T2には、⁠nano」⁠micro」⁠large」など7種類のサイズが用意されており、スケールに合わせて選ぶことができます。

AMIはインスタンスを作るための金型のようなもの

Amazonマシンイメージ(AMI)とは、ソフトウェア構成を記録したテンプレートです。インスタンス(仮想サーバ)を作るための金型のようなもので、マーケットプレイス(AMIが配布されている場所)から、ダウンロードすることもできますし、自分で作ることもできます。

とくに、マーケットプレイスで、各種ソフトウェアの公式が配布しているものが、大変有用で、さまざまなディストリビューションのLinuxや、Windowsサーバ、WordPress、Movable Typeなどがあります。

 AMIはインスタンスを作るための金型のようなもの
図 AMIはインスタンスを作るための金型のようなもの( 図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書 より引用)

駆け出しエンジニアがAWSを学ぶのに、Linuxの知識は必須か?

最近、駆け出しエンジニアの方を中心に、Linuxやネットワークの学習をスキップして、AWSやDockerの学習から始めるケースがあるようです。これについて、侃々諤々の議論もあるようですが、私としては「用途によるかなあ……」という意見です。

ご紹介したようにEC2は、ボタンをポチポチするだけで、簡単にサーバが立てられます。社内のサーバ職人のような人にお伺いを立てなくても、プログラマが気軽に作れるわけです。なので、実験をしたり、ちょっとした用途には、大変良いでしょう。

しかし、顧客が絡んだら話は別です。自分が理解できていないものを顧客に納品すべきではありません。あなたが町の定食屋に入った時に、得体の知れない宇宙生物のお肉を出されても、困ってしまうでしょう。

食べることのリスクや、メリット、調理法がわかっているのならともかく、自分も、定食屋の人も、どちらもわからないようなものを、⁠今日のA定食です」と出されて、⁠ハイそうですか」と、食べるでしょうか。宇宙生物のお肉を食べて、何が起こるのかわからないのと同じように、サーバやネットワークを理解できていないなら、納品しないべきです。何が起こるかわかりません。

AWSの知識、Linuxの知識、用途によってしっかり学ぼう
AWSの知識、Linuxの知識、用途によってしっかり学ぼう

AWSは、大変簡単・便利なものではありますが、一方で、自由度も高く、自分で設計するものです。

私の書いた「図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書」でも、⁠実用的でない」と感想を持つ方がいらっしゃいますが、AWSを使用する上での必要な知識は、書いてあります。本書の内容で、⁠自分でインスタンスを立てられないな」と思ったのなら、それはAWSの知識不足ではなく、サーバやネットワークの経験・知識の不足です。

サーバは、自分のプロジェクトに合ったものを、自分で考えて立てるべきもので、誰かが「これがオススメです」というものを選ぶようなものではありません。似た例を参考にできたとしても、設計するのは自分自身です。

急がば回れという言葉もありますから、具体的なイメージがわかない場合は、サーバ構築の知識を増やして、もう一度挑戦すると良いでしょう。

文中の図は図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書より引用しております。おかげさまで発売後わずか2年ですが、10刷を迎える大ヒットとなりました。

この連載は、その10刷記念として企画されたものです。書籍のほうもよろしくお願いしますね!

おすすめ記事

記事・ニュース一覧