- ポートフォリオを「AWS」で作りたいけどそもそもAWSってどういうサービス?
- AWSの各用語の意味は?
この記事を読んでいる方の中には、「エンジニア転職用のポートフォリオにAWSを組み込みたい」と思っている方も多いのではないでしょうか?
[st-kaiwa-sinsai-hatena]でも「AWS」って初めて聞く単語がいろいろ出てきて、用語の意味がとにかく掴みにくいです…[/st-kaiwa-sinsai-hatena]
[st-kaiwa-saborin-nayami]ぼくもWebアプリを作る際にAWSを使ったのですが、最初は聞いたことのないそれぞれの単語の意味を理解するのにかなり苦労しました。[/st-kaiwa-saborin-nayami]
というわけで本記事では「AWSの用語」についてテキストだけではなく図解を交えて解説していきます。
この記事を読めば、テキストだけでは分かりにくかったAWSの各用語について効率よく理解することができますよ。
「AWS」とは?
AWSとは「Amazon Web Service」の略で、インターネット上でサーバーやデータベースなどを手軽に構築できるクラウドサービスです。
[st-kaiwa-sinsai-hatena]イマイチよく分からないのですが…[/st-kaiwa-sinsai-hatena]
[st-kaiwa-saborin-smile]たとえば以前はWebサービスを運用しようと思っても、まずネットワーク回線やサーバーをはじめとした実機を用意しなければならずコストや時間がかかっていました。
しかしAWSが普及したことによって、初期投資・実機不要でITインフラの構築が可能になりました。[/st-kaiwa-saborin-smile]
また使用した分だけ課金される「従量課金性」でランニングコストの削減にもつながるため、多くのWebサービス開発でAWSが採用されています。
[st-kaiwa-saborin-smile]それではここからAWS内の各用語について、イラストを交えて解説していきたいと思います。[/st-kaiwa-saborin-smile]
アベイラビリティゾーン(AZ)
[st-mybox title=”アベイラビリティゾーン(AZ)” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- 複数のデータセンター(AWSの実機サーバーなどが設置されている施設)から構成され、世界各地に点在
- それぞれのアベイラビリティゾーンは物理的に離れている(災害などの影響をうけても他でカバーできるようにするため)
- 後述するEC2を設置する際には、複数のアベイラビリティゾーンを選択する必要あり
[/st-mybox]
[st-kaiwa-saborin-smile]日本の場合は、東京に3つのアベイラビリティゾーンがあります。[/st-kaiwa-saborin-smile]
リージョン
[st-mybox title=”ELB” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- 世界各地にあるAWSサービス提供の拠点
- 複数のアベイラビリティゾーンから構成
[/st-mybox]
「リージョン」とはAWSのサービスを提供している拠点のことで、この記事を書いている時点(2020.11)で世界24ヵ所にあります。
[st-kaiwa-saborin-smile]日本のリージョンは東京にあり、3つのアベイラビリティゾーンから構成されています。[/st-kaiwa-saborin-smile]
VPC
[st-mybox title=”ELB” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- 「Virtual Private Cloud」の略
- AWS内でユーザーごとに隔離された環境を作れる
- 作成するときはIPアドレスで範囲を設定(CIDRブロック)
[/st-mybox]
[st-kaiwa-saborin-smile]「VPC」はAWS上で作業するときにまず設定する、プライベートな土地のようなイメージです。[/st-kaiwa-saborin-smile]
サブネット
[st-mybox title=”サブネット” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- 仮想サーバーであるEC2(後述)などを設置するため、さらにVPC内部に作る領域
- VPCで設定したCIDRブロック内におさまるCIDRブロックを設定
- 作成するときはアベイラビリティゾーンの指定が必要
- インターネットからアクセスできる「パブリックサブネット」か、アクセス不可の「プライベートサブネット」を選べる
[/st-mybox]
「サブネット」はVPCのさらに内部に作成する領域のことで、VPCで指定したCIDRブロックの範囲内であればどれだけでも作ることが可能です。
[st-kaiwa-sinsai-hatena]具体的にどのようなメリットがあるんでしょうか?[/st-kaiwa-sinsai-hatena]
[st-kaiwa-saborin-smile]たとえば社内LANを構築する時に「個人情報を扱う部署のネットワークのみ他部署からアクセスできないよう独立させたい」ということがあります。
その場合はサブネットを分けることで、ネットワークそのものを分離できます。[/st-kaiwa-saborin-smile]
このようにセキュリティ性を高めたいときなども、サブネットの機能が有効です。
EC2
[st-mybox title=”EC2″ fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- 「Amazon Elastic Compute Cloud」の略
- VPC内に仮想的なサーバー(インスタンス)をワンクリックで作れる
- 数を増やしたり(スケールアウト)、高性能にしたり(スケールアップ)も可能
[/st-mybox]
ルートテーブル
[st-mybox title=”ルートテーブル” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- サブネット内にあるインスタンスの通信ルールを定めた表のようなイメージ
- それぞれのサブネットに1つずつ設定する
- インターネットゲートウェイを指定すれば、インターネットにアクセス可能な「パブリックサブネット」となる
[/st-mybox]
ゲートウェイ
「ゲートウェイ」とは異なるネットワーク同士をつなぐものです。
以下のように、それぞれの種類で特徴が大きく異なります。
インターネットゲートウェイ
[st-mybox title=”インターネットゲートウェイ” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- VPCをインターネット接続する
- 各VPCごとに1つだけ設置できる
[/st-mybox]
NATゲートウェイ
[st-mybox title=”NATゲートウェイ” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- プライベートサブネット→インターネットの向きの通信のみ許可
- 稼働時間と通信量に応じて課金(通信していなくてもコストがかかる)
[/st-mybox]
ゲートウェイエンドポイント
[st-mybox title=”ゲートウェイエンドポイント” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- S3などのVPC内部に入れられないサービスに対して設定することで、VPCからでも接続できる
[/st-mybox]
Elastic IP
[st-mybox title=”Elastic IP” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- EC2インスタンスに対して固定的なIPアドレスを指定できる
- IPアドレスを発行した瞬間から課金対象
[/st-mybox]
EC2はいつでも起動や停止ができるのですが、以下のような操作をするとIPアドレスが変わってしまいます。
IPアドレスが変わってしまうケース
- 停止中のインスタンスを再起動する
- インスタンスを終了してから新しいインスタンスを再作成する
操作する度にIPアドレスが変わってしまうと、以前はインターネットで接続できたインスタンスに接続できなくなったというようなこともありえます。
[st-kaiwa-saborin-smile]「Elastic IP」を使うことでインスタンスのIPアドレスを固定化することで、いつでも同じIPアドレスで接続することができるようになります。[/st-kaiwa-saborin-smile]
ELB
[st-mybox title=”ELB” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- 「Elastic Load Balancing」の略
- アクセスを分散することでサーバーの負荷を軽くしてくれる
- 使用した時間とデータ量によって課金される
[/st-mybox]
大量のユーザーが使用するWebサービスの場合、短時間にアクセスが集中したりするとサーバーに負荷がかかってトラブルになる可能性があります。
そのようなことにならないよう、サーバーへの負荷を分散させる役割を果たしているのが「ELB」です。
[st-kaiwa-saborin-smile]ELBには以下の3種類があり、推奨されているのは最新かつ高機能な「Application Load Balancer」です。[/st-kaiwa-saborin-smile]
「ELB」の種類
- Application Load Balancer
- Network Load Balancer
- Classic Load Balancer
Route53
[st-mybox title=”ELB” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- AWS上にDNSサーバーを構成
- 独自ドメインを利用できる
- 名前の由来は53番のポートを使うことから
[/st-mybox]
インターネット上で相手先を確認するときは「IPアドレス」が使われます。
しかし数字が羅列しているだけのIPアドレスは人間にとって使いやすいものではありません。
[st-kaiwa-saborin-smile]そこでIPアドレスをドメイン名に変換するのが「DNSサーバー」であり、AWSではRoute53にあたります。[/st-kaiwa-saborin-smile]
RDS
[st-mybox title=”RDS” fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- 「Relational Database Service」の略
- SQL文で操作するリレーショナル型データベース
- Amazon Aurora や MySQL など複数のデータベースから選択できる
- 有料性で、使用したデータ量に応じて変わる「従量性」もしくは「定額制」から選択
[/st-mybox]
「RDS」はAWS内で使えるリレーショナル型データベースで、基本的にはプライベートサブネットに設置されます。
[st-kaiwa-sinsai-hatena]そもそもリレーショナル型データベースとは何でしょうか?[/st-kaiwa-sinsai-hatena]
[st-kaiwa-saborin-smile]行と列によって構成されるデータベースです。
高機能な表のようなイメージで、登録ユーザーや商品リストなどの管理に適しています。[/st-kaiwa-saborin-smile]
S3
[st-mybox title=”S3″ fontawesome=”fa-file-text-o” color=”#757575″ bordercolor=”” bgcolor=”#fafafa” borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- 「Simple Storage Service」の略
- バックアップデータや処理前後のファイルなどを容量無制限に保存できる
- 入れたデータ量に応じて課金
- VPC内には入れられない
[/st-mybox]
S3はVPC外部に設置できる収納用のスペースで、いわば「貸しトランクルーム」のようなイメージです。
保存できるものは画像やHTMLファイル、バックアップデータなど多岐にわたり、実際に使用したデータ量に応じて課金されます。
[st-kaiwa-saborin-smile]たとえば開発したWebアプリに画像投稿機能がある場合は、
・投稿された画像をリアルタイムでS3に保存
・サムネイル画像を生成
したりすることが可能です。[/st-kaiwa-saborin-smile]
まとめ:【超初心者向け】イラストで覚えるAWS用語集
というわけで本記事では、AWSの各用語についてイラストを交えて解説してきました。
分かりにくいところや訂正するべき箇所がありましたら、コメントで教えていただければ幸いです!
[st-kaiwa-saborin-smile]なお今回の記事執筆にあたっては、以下の本や記事を参考にさせていただきました。[/st-kaiwa-saborin-smile]
参考にした本
「Amazon Web Services 基礎からのネットワーク&サーバー構築」
参考にした記事