【AWS】VPC・EC2・IAM・RDSまとめ
AWSを2週間ほど学習してきた、そのまとめ記事です。
AWS基礎の全体像をサクッと理解できる様にするため、この記事の内容はざっくりしています。
インフラの知識が乏しい僕なりにイメージで理解できる様にしました。
AWS - Amazon Web Services ってなに?
AWSはクラウドコンピューティングサービス。
つまり、ハードウェアとかソフトウェア要らずで、インターネットからサーバーを作成できたり、データベースの利用などもできるサービス。
他にも様々なサービスを利用可能。
→とりあえずアカウントがあれば、インストールとか無しで色々できる!!
AWSを使うメリット↓
- 機能が豊富・・・インフラ、機械学習、IoTなど沢山のサービスがある。
- コスト・・・従量課金で使った分だけ払う。サーバーなどのハードウェアを買わなくて良い。
- セキュリティが強い・・・軍隊、銀行の要件を満たすほど、セキュリティ強い。
- 拡張が簡単・・・CPUのスペック・ストレージの容量などの拡張が簡単
→「使えるもの多い、無駄にお金を払わなくていい、安全、簡単」
面倒くさいことはせずに、ネットに繋がってて、アカウントがあれば沢山のサービスが安全に簡単に利用できるもの。
ここからは僕が学んだAWSのサービス達ついて書きます。
VPC
ユーザー専用のネットワーク環境。
つまり、自分専用のネットワーク環境。
→僕はインターネットの環境から自分の領域を分ける枠みたいなイメージで理解しました。
VPCはネットワークの設定を行うもので、VPCで色々なもの(サブネットとかインターネットゲートウェイとか)を設定していく。
Internet Gateway - インターネットゲートウェイ
VPCのコンポーネント(部品)の1つ。
VPC内部とインターネットを通信をするためのもの。
VPCにインターネットゲートウェイをアタッチ(取り付け)することで、インターネットとVPC内部が通信可能になる。
→gatewayが「門、通路」のような意味なので、VPCを「家」とするとインターネットゲートウェイが「玄関」、インターネットが「外」みたいなイメージ。
サブネット
一つの大きいネットワークを小さく分割したネットワーク。
VPCでは、VPC内にIPアドレスでネットワークの範囲を指定して、それをさらに分割してサブネットを作成する。
サブネットには「パブリックサブネット」と「プライベートサブネット」と呼ばれる2種類のサブネットがある。
- パブリックサブネット・・・外のネットワークと接続しているサブネット
- プライベートサブネット・・・外のネットワークと接続していないサブネット(NATゲートウェイ使用で接続可能)
→インターネットゲートウェイの時と同じく、VPCを「家」とすると、サブネットは「部屋」みたいなイメージ。
Route table - ルートテーブル
サブネットに関連づけて使用する。
サブネット内からどこに通信するかの宛先を決めるためのもの。
ENI
インターネットと通信するためのパブリックIPアドレス・VPC内で通信するためのプライベートIPアドレスを設定できるもの。
後述するEC2のインスタンスにアタッチ(取り付け)する。
Elastic IP address
固定されたパブリックIPアドレス。
これも後述するEC2インスタンスにアタッチ(取り付け)する。
このElastic IPアドレスをEC2にアタッチ(取り付け)すると、ENIのパブリックIPアドレスは開放される。
EC2
AWS上に仮想サーバーを簡単に構築・利用できるサービス。
インスタンスという単位でサーバー環境を構築する。
仮想サーバーとは・・・物理サーバーに論理的なサーバーを作る
仮想サーバーに必要なもの「OS・CPU・メモリー・SSD・NIC」をAWSのEC2の各サービスで対応させている。
ここから仮想サーバーと比べてEC2をより具体的に見ていきます。
AMI
仮想サーバーの「OS」に当たる部分。
実際にはOSだけでなくソフトウェアが搭載されているものもある。
OSを選択したり、すでにソフトウェアが搭載されているものを選択したりして使う。
インスタンスタイプ
仮想サーバーの「CPU・メモリ」に当たる部分。
CPUとメモリのスペックを選ぶ。
EBS
仮想サーバーの「SSD」に当たる部分。
外付けディスクのことで、EC2にアタッチ(取り付け)して使う。
「SSDタイプ」と「HDDタイプ」がある
- SSDタイプ・・・読み書きが速い、保存できるデータ量が少ない、高い
- HDDタイプ・・・保存できるデータ量が多く、安い
スナップショットができる
スナップショットとはデータの差分バックアップ。
→もうすでにバックアップがあるデータは新しくバックアップせずに、新しく追加・変更されたデータだけをバックアップするって感じ
NIC
仮想サーバーの「NIC」に当たる部分。
(VPCのところにも書いたけど、一応)
インターネットと通信するためのパブリックIPアドレス・VPC内で通信するためのプライベートIPアドレスを設定できるもの。
EC2の良い点↓
- 構築に時間がかからない
- システムが止まらない様に障害に強くする冗長化が簡単に出来る
- 本来は物理的にセットする必要があるハードディスクやメモリの増設が簡単にできる
→とりあえずEC2は物理的なサーバーなしで、インターネット上でサーバーを作成し操作できるサービス
IAM - アイアム
AWSのアクセス権限管理サービス。
IAMには「IAMユーザー・IAMポリシー・IAMロール」といった機能がある。
IAMユーザー
AWSを利用できるアカウント。
通常はこのアカウントを使ってAWSを使用する。
IAMの話をする前に「ルートユーザー」について話しておく。
ルートユーザー
メアド、パスワード、クレカを登録して利用するアカウント。
AWSを初めて利用する際に、最初に作ることになるアカウント。
全ての権限を持ち、日常的には使わない。
ルートユーザーでIAMユーザーを作成し、各権限を与える。
IAMユーザー
通常はこのアカウントを使う。
AWSの何が利用出来て、出来ないかの権限は設定されている。
権限があるものだけ利用することができる。
IAMユーザーを複数まとめて「IAMグループ」として管理することもできる。
IAMポリシー
JSON形式の設定ファイル。
AWSで操作できる権限を設定するもの。
IAMユーザーとIAMポリシーにアタッチ(取り付け)して使うことができる。
IAMロール
IAMポリシーをまとめたもので、AWSのサービス・アカウントに権限を付与する仕組み。
RDS
AWSのリレーショナル型データベースサービス。
クラウドサービスモデル(IaaS, SaaS, PaaSとか)のPaaSにあたる。
つまり、ユーザーが用意するのはアプリケーションとデータだけでOK。
→データベースのインストール、バックアップなどの設定をしなくていい!!
RDBMSを選べる
RDBMSとは、「リレーショナル型データベースを管理・操作するソフトウェア」のこと。
Amazon Aurora、Mysql、Oracleなどなど...が選べる。
RDSの機能
RDSを使用することで大変だったことをやらずに済む様になった。
具体的には以下のもの
- エンドポイント通信・・・DNS通信
- リードレプリカ・・・更新用DBから複製した参照専用DBを作成して使い分け、負荷分散を行う
- 自動パッチ作業・・・修正・変更のための後付けプログラムを取り付けるパッチ作業を自動でやってくれる
- 自動バックアップ・・・手間のかかるバックアップも自動でやってくれる
まとめ
AWSは機能が豊富で、今までめんどくさかったことをやらずにできるサービス。
僕はインフラの知識が乏しく、AWSを学習していて「何これ?」みたいな用語がたくさん出てくるので、インフラ学習と平行してAWSを学習するのが良さそうと感じました。
僕の理解が間違っているところがあれば、ぜひご指摘お願いします。
意図しない課金だけには気をつけて、学習をしていきます。
この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
Discussion