はじめに
AWSを勉強し始めてでてきた用語が覚えられないので、まとめてみました。
AWS IAM
IAMとはAWSの操作をよりセキュアに行うための認証の認可を管理するためのサービスのことです。
認証:本人性の確認(Aさんですか?)
認可:リソースに対する利用権限の付与(Aさんはサーバーを起動できるが、削除できない)
IAMに関連する用語
- IAMポリシー
AWSのアクセス権限のリストを指します。IAMユーザーやIAMグループにはデフォルトのアクセス許可がないため、IAMポリシーでアクセス許可を設定し、ポリシーを割り当てる必要があります。 - IAMユーザー
AWSで作成するユーザーまたはアプリケーションのこと。基本的に人に対して使われます。 - IAMグループ
IAMユーザーをまとめる(部署など)グループのこと。IAMロールを所属させることはできません。IAMグループに関連付けられたポリシーはIAMユーザーに引き継がれます。 - IAMロール
ユーザーやグループではなく、EC2などのAWSのサービスや他のアカウントに対してにAWS の操作権限を付与するための仕組みです。例えば、IAMロールを使用してAWSのサービスに一時的にデータへのセキュリティ認証情報を渡すことでデータとAWSサービスとのやり取りができるようになります。ハッキングされた場合でもロールを停止させればアクセスを止められます。IAMユーザーがもつアクセスキーを埋め込んで直接アクセスするということもできますが、それは非推奨です。 - ルートユーザー
AWSのリソース・サービスすべてに完全なアクセス権を持つユーザーのことを指します。
メールアドレスとパスワードでサインインするとルートユーザーとして作業できますが、権限が強すぎるので極力ルートユーザーを使わないようにしたほうがいいです。AWSアカウントの解約などルートユーザーでないとできないこともあります。
AmazonVPC(VietualPrivateCloud)
AmazonVPCとはユーザー専用のプライベートなクラウド環境を提供するサービスのことです。外部に公開することも可能です。
VPCにEC2といった仮想マシンやRDSなどのデータベースを立てることができます。
VPCに関連する用語
- リージョン
地理的に大きく離れたデータセンターの集合体をリージョンと呼びます。 - アベイラビリティゾーン(AZ)
リージョンをさらに小さくした区分のことを指します。AZを跨いで障害が起こらないようになっています。 - サブネット
VPCを区切りたいときにサブネットを使用します。リージョンやAZは物理的に区切られていますが、サブネットは論理的に区切られています。一つのサブネットは一つのAZに作られます。AZを跨いでサブネットを作成することはできません。
例えば、データベースサーバーをインターネットからアクセスさせないようにし、Webサーバーはインターネットに公開したい場合、サブネットを一つのAZで2つに分けることで、サブネットごとに公開の制御ができます。インターネットからのアクセスを受け付けるのはパブリックサブネット、受け付けないのはプライベートサブネットと呼びます。 - セキュリティグループ
VPC内のインスタンス(サーバー)のトラフィックを制限するファイアウォール機能を指します。デフォルトは全部しまっています。 - ネットワークACL
サブネット単位でしていできるファイアウォール機能を指します。 - NATゲートウェイ
プライベートサブネットにあるインスタンスがインターネットにアクセスする場合に必要となるゲートウェイを指します。同じAZ内のパブリックサブネットにNATゲートウェイを立ててそこを介してプライベートサブネットとインターネットのアクセスを行うようです。 - ルートテーブル
サブネット内にあるインスタンス等がどこに通信にいくかのルールを定めたものです。IPアドレスを見て、どこに通信をさせるかが書かれている表です。表にない宛先には通信できません。 - CIDR(読み:サイダー)
一つのVPCには一つのCIDR(ネットワークアドレス10.0.0.0/16のようなもの)を定義します。サブネットにはVPCより小さいCIDRを割り当てます。プライベートサブネット、およびパブリックサブネットのアウトバンドトラフィックにVPCのCIDRを指定すると、お互いのサブネットにアクセスできる。 - インバウンドトラフィック・アウトバンドトラフィック
インバウンドは外部からのアクセス、アウトバンドは外部へのアクセスのことを指します。
Amazon EC2(Elastic Compute Cloud)
1時間または秒単位で課金される仮想サーバーのことです。起動している間は支払いが発生します。
EC2に関連する用語
- インスタンスタイプ
仮想サーバーのマシンスペック(CPUやメモリの性能など)のことを指します。 - 「c5n.xlarge」というインスタンスタイプでは
- c:インスタンスファミリー(バースト可能であったり、ストレージ可能であったり、用途によって様々なインスタンスファミリーを選べる)
- 5:インスタンス世代(最新を選ぶ)
- xlarge:インスタンスサイズ(メモリ・CPUが増える)
さいごに
VPCのあたりが特に複雑でいつも忘れてしまいます。今回まとめたことによってだいぶ頭が整理されました
特にVPCについて以下が参考になりました。
https://d1.awsstatic.com/webinars/jp/pdf/services/20201021_AWS-BlackBelt-VPC.pdf