図解付き AWS入門 初心者が覚えておくべきAWSの基本

はじめに

当記事の想定としている読者は以下のような方々です。
・AWSってよく聞くがどんなサービスかわからない
・サービスがありすぎて個々がどのように組み合わさっているか理解できない
・クラウドサービスがよくわかってないけど概要くらいは理解したい
・ネットワークの知識がないけどAWSを理解したい

上記のような方を想定して記事を書きました。
ですので既に業務で使用していたり、AWS各種資格などを所持している方向けではありません。
まずはAWSのサービスの概要の図を見てください。
この記事では下記の図を元にして主要サービスを説明していくので並行して図を確認しながら読み進めてください。

図1

AWSとは

AWSとは(Amazon Web Service)の略でクラウドコンピューティングサービスです。
簡単に言うとどこからでもアクセスできるサーバーなどをインターネット経由で貸してくれるサービスです。
Amazonのショッピングセンターで使用されている自社構築していた仮想化基盤を貸し出すビジネスとしてAWSが誕生しました。
AWSはIaaS(Infrastructure as a Service)とうサービスの形態で、インフラ構築に必要なサーバー、データベース、OSなど必要なものが全てAWSで揃えることができます。
昔から貸し出しのサービスはありましたが別の事業者からバラバラに借りなければいけなかったのですが、IaaS(AWS、Google Cloud、Azure、Alibaba Cloudなど)ではこれらが全て提供されています。
オンプレ(自社での環境構築)の場合は、リソースの増加に備えて多めにサーバーを用意したりする必要がありますが、AWSのようなサービスでは必要な時に必要な分だけ増減が簡単に行えるので、コストの削減につながります。
これらのサービスは基本的に重課金制を採用しており、使った分だけ課金されます
クラウドコンピューティングサービスのサービスのトラブルのほとんどは料金にあります。
オンプレは料金が基本的に一定なのに対して重課金制では想像よりも使用量が高くなってしまうケースもよくあります。
だからこそ使用者はAWSの基本的なサービス構造を理解し、適切に運用してそのようなトラブルを回避する必要があります。
他にも、専門技術者が不要というメリットもあります。
一般的なネットワークの知識などは必要ですが、マネジメントコンソールというマウスで直感的に操作できる管理画面が備わっているので、手軽に操作ができます。

プライベートクラウドとパブリッククラウドの違い

まず各種サービスの説明の前にプライベートクラウドとパブリッククラウドの違いを理解する必要があります。
既に知っている方は読み飛ばしていただいても結構です。

プライベートクラウドとは自社で構築したクラウドです。一方、パブリッククラウドとはAWSのようなレンタルできるクラウド。
例えば自社の環境をオンプレからクラウド化する場合。(クラウド化とはインターネット経由で使用できるIT資産にするという意味)
→自前でプライベートクラウドを構築する。大企業などで行うことがありますが高度な専門知識を有しますが自由度は高い。料金が一定。
→AWSのような既存のサービスを使う。セキュリティなどの各種設定なども簡単で自社構築よりは敷居が低いがプライベートクラウドより自由度は劣る。重課金制が一般的。

VPC (Virtual Private Cloud)

VPCとはその名の通り、仮想ネットワークです。この後に説明するEC2やRDSなどのサーバーはVPCを選択しないと作成できません。
サーバーを作成するときに、VPCで決めたネットワークの範囲の中のIPアドレスを割り当てる必要があるからです。
簡単に言い換えると、「サーバーを配置する範囲を決めた大きな仮想ネットワーク」です。
VPCを作成する際はまずリージョンとIPアドレスの範囲を決めます。
IPアドレスはCIDRで定義します。CIDRとはネットワーク長のことです。
CIDR計算法:2(32-CIDR)乗  CIDRが16の場合 2(32-16)で2の16乗なので65536個のIPアドレスをVPC内で使用できる。CIDRが小さくなるほどネットワークが大きくなります。
IPが10.0.0.0/16の場合、10.0.0.0~10.0.255.255が使用可能。IPv4の場合は10進表記で256×256=65536。
VPCではIPv4とIPv6どちらも使うことができます。
VPCをパブリックインターネットに繋げるにはインターネットゲートウェイが必要不可欠です。
外からVPC内のインスタンスにアクセスはできません。なぜならインスタンスはVPC内のみで有効なプライベートIPアドレスしか持っていないからです。
外部からのリクエストはパブリックIPで来ます。インターネットゲートウェイはそれをインスタンスのプライベートIPに変換してリクエストを通しています。

図2

サブネット

サブネットとは大きなネットワークであるVPCを小さく分割したネットワークです。
分割されたサブネット毎にネットワークACLを設定できるのでサブネット内にあるサーバー毎に設定する必要がなくなります。
ネットワークACLとは仮想ファイアーウォールです。細かい設定が可能でサブネット内のサーバーに許可されたアクセス以外はブロックするなどしてセキュリティを強化できます。
また後述するAZをサブネット毎に設定すると高可用性(災害などの思わぬアクシデントがあってもサービスを継続できること)を得ることにつながります。
サブネットはVPCを分割したネットワークですので、CIDRはVPC未満にする必要があります。
最初に紹介した図1を例にしますと、VPCのCIDRは/16になっていますがサブネットはそれよりも小さい/20になっています。
CIDRが/20の場合ですとネットワークの範囲は「2の(32-20)乗=4096」になります。
実際は予約IPというのがAWS側で5つ設定されているので実際に使えるのは「4096-5=4091個」になります。
サブネットAを例にした場合の予約IP
・172.31.16.0 : ネットワークアドレス
・172.31.16.0 : VPCルーター用
・172.31.16.0 : AWSで予約
・172.31.16.0 : 将来の利用を考えてAWSで予約
・172.31.31.255 : ネットワークブロードキャスト用

リージョンとAZ(アベイラビリティゾーン)

リージョンとはデータセンターのようなものです。AWSが仮想サーバーでインターネットからアクセスできると言っても、その元の物理的サーバーは必ずどこかに配置する必要があります。それがリージョンとAZです。
リージョンは複数のAZ郡から成っています。2022年2月現在では26の国と地域に84個のAZがあります。
日本には東京と大阪にリージョンがあります。
サブネット毎にAZを変えれば高可用性を得られると前述しましたが、例えば東京のAZとオハイオ(USA)のAZで2つのサブネットを使っていれば、東京のサーバーが地震などの自然災害で機能が停止してもアメリカのオハイオのリージョンに同時に物理的な被害が及ばない限り、サービスを継続できるということです。

図3

Amazon EC2(Elastic Compute Cloud)

EC2とは簡単に言うと仮想サーバーのことです。ボタン一つで最適なサーバーをVPC上に作成できます。
後述するS3やRoute53とは違い、アンマネージドサービスです。
OSを含むインストールするソフトウェアの運用はユーザーが行います。
要は「サーバーのスペックはボタンひとつで簡単に変更できるようにしたから、用途に合わせて好きにソフトウェア入れたり改造してね」ということです。
そう聞くと難しそうに聞こえますが、AMI(Amazon Machine Image)という便利なサービスがあります。
これはインスタンスのテンプレートがテンプレート集のようなものです。
AWSの公式のAMIから個人や企業が作ったものもあります。ですのでまずはこの中から用途にあったものを探してインスタンスを作成するのが一番簡単かと思います。
*AWSではサーバーをインスタンスと呼びます。
インスタンスは基本的にVPCの中にあるサブネットの中に作ります。サブネット毎にセキュリティ要件を決めれると前述しましたが、セキュリティグループを設定すれば、インスタンス毎に個別に設定もできます。
セキュリティグループはテンプレ化をして保存できるので新たに作成したインスタンスに以前のものをボタン一つでアタッチして使用できます。
作成したインスタンスは起動時にDHCPというサーバーが自動でサブネット内の空いているIPを振り分けてくれます。
つまり再起動毎にIPが変更されてしまいます。これを避けたい場合はインスタンスのIPを固定で変更できないようにすることも可能です。

ELB(Elastic Load Balancing)

ELBとは外部から来るリクエストを分散してくれる機能です。
AZを分けることにより可用性が高まると前述しましたが、図1を見ていただくとわかるように外部リクエストはまずELBを通ってからEC2に送信されます。
ELBがあることによりインスタンスが単一障害になりません。
例えばインスタンスがWEBサーバーとして運用されている場合、複数のAZに複数の同じインスタンスを配置してどれかに障害が起きてもサービスが継続できるような構成にするのが一般的なのですが、ELBが各インスタンスの負荷状況などを考慮しながら各インスタンスに分散してリクエストを送ってくれます。
この負荷状況やサーバーが問題なく動いてくれるか確認する機能をヘルスチェックといいます。
ELBはヘルスチェックしながら負荷分散してくれるのでサービスの可用性を高めてくれます。
ALB (Application Load Balancer)NLB (Network Load Balancer)という種類に分かれており、ALBはHTTP/HTTPSリクエストの負荷分散に使用し、NLBはHTTP/HTTPS以外のTCPプロトコル使用時に選択します。

S3(Simple Storage Service)

S3とは一言で言うとAmazonが提供、管理しているマネージドの「ストレージサービス」です。
マネージドサービスとはAmazonが管理しておりユーザーは可用性と耐久性を保証されています。
この記事では詳しく扱いませんが他にもRoute53(DNSサービス)やDymanoDB(キーバリュー型DB)などもマネージドサービスに含まれます。
最低3つ以上のAZに自動的に複製保存されるので、どれか1つに障害があっても使用に影響がありません。
99.999999999の耐久性を持っておりナインイレブンと呼ばれています。
容量に制限がなく好きな時にスケールアップ・ダウンができます。
非常に多機能です。代表的なものはWEBサーバー機能とクエリ機能です。
HTMLファイルをS3置いて静的なWEBサーバーのように使用することも可能です。
クエリ機能を使えば、保存したデータをSQLなどのDB専用の命令文を使用してデータの分析、集計、検索が簡単に行えます。

まとめ

いかがだったでしょうか。もちろんAWSにはまだまだ紹介しきれていない便利で素晴らしいサービスや機能がたくさんあります。
この記事ではAWSの全くの初心者の方でもサービスの概要が理解できるくらいになるのを目的で書いております。
特にAWSは重課金制ですので各サービスの料金体系は非常に重要ですが、まずはインフラの全体図を理解していただきたかったので、この記事では敢えて紹介は省いております。
詳しい機能や他のサービスの概要は別の記事でじっくり書きたいと思うので、時間がある時にでも読んでいただけたら嬉しいです。

Follow me!

カテゴリー: ITタグ:

関連記事

PAGE TOP