AWS サービスのチートシート

AWS SAA のためのチートシートです！
これで各サービスの概要を掴んでください🫡

### AWSとは
サーバーやネットワーク（インフラ）をインターネット経由で貸してくれるサービスです。AWSのサービスを組み合わせて使う。今まではバラバラの事業者から借りないといけなかったのに、AWS は大体のものが揃ってるから人気になりました。しかも、サービスごとが組み合わせやすくて、AWS外のシステムとも組み合わせやすい

### アベイラビリティゾーン（AZ）
データセンタが集まったもの。アベイラビリティゾーンがある場所は、アベイラビリティゾーンの一つがダメになったとしても、大丈夫なように離してあったり、電源がそれぞれ独立しているもの。さらにサービスを使えなくなることがないように、一つのアベイラビリティゾーンだけ使うのではなく、複数のアベイラビリティゾーンを使う（マルチAZと呼ぶ）


### リージョン
アベイラビリティゾーンがある地名

### VPC
自分達しかアクセスできないネットワークのことで、そのネットワークの中に他のAWS のサービスを入れる箱のようなイメージです。インターネットゲートウェイ(IGW)をつければ、インターネットからでも自分達がアクセスできる。あと、仮想プライベートゲートウェイ(VGW)をつければオンプレミスとも接続できる

### CIDR ブロック
VPCのIPアドレスの範囲のこと

### サブネット
VPCの中に設置するネットワークで、この中にEC2インスタンスなどを設置する、サブネットはいっぱい作ればいい訳じゃなく、一つのサブネットを作ると5個のIPアドレスをサブネットが予約しているのでIPアドレスの無駄遣いになってしまいます。サブネットもAZと同様に同じ役割を持ったサブネットを複数のAZの設置した方がいい

### ルートテーブル
VPCの通信を設定するもの。例えば、IGWやVGWを設定します。ルートテーブルにつき一つ以上のサブネットと紐付ける

### セキュリティグループ
IP アドレスレベルでアクセス制御の設定を、名前をつけて保存できます。

### ネットワークACL
セキュリティグループと違って、インスタンスごとに設定するのではなく、サブネットとして設定することができるのでまとめて設定したい時は便利。こっちはステートレスです

### IGW(インターネットゲートウェイ)
VPCにインターネットからアクセスできるようにする出入り口

### NATゲートウェイ
ルータが識別するためのプライベートIPアドレスをインターネットが識別できるグローバルIPアドレスに変換することができる、これはAZに置くものなのでAZに依存する

### AWS Direct Connect
S3 とオンプレミスを専用線で接続するサービス、AWS側で工事が必要になるため初期費用が高額になります

### VGW(仮想プライベートゲートウェイ)
VPCがDirect Connect を使う時に必要なゲートウェイ

### WAN(Wide Area Network)
ネットワーク同士を繋げて、大きなネットワークにした状態

### VPCエンドポイント
ゲートウェイポイントとインターフェイスポイントの総称

### ゲートウェイポイント
インターネットゲートウェイを使用せずS3とDynamoDBをVPCに繋げる方法。AWS Cloud の中で完結するので、どうしてもインターネットを通してたくない場合に使う

### インターフェイスポイント(プライベートリンク)
ゲートウェイポイントとの違いは、こちら側は、S3とDynamoDB以外のサービスとVPCを繋げたい時に使う

### VPCピアリング
VPC同士をプライベートな接続をするときに使う方法、同一のAWSアカウントじゃなくても使用できる

### VPCフローログ
VPC内の通信を記録しているもの

### AWS Transit Gateway
オンプレミスと複数のVPCをDirectConnectで繋ぐときに設置する中央のハブ。これがあることでルートテーブルやVGWを個別に設定しなくてもよくなる。マルチキャストルーターにすることもできる。

### CloudFront
データをアクセスする人の近くに置いておいて、アクセスする人がすぐ取得できる仕組み(CDN)をAWS ではCloudFrontと呼ばれている

### Route53
IP アドレスとURLを変換するサービス（DNS）、EC2やS3の接続している場所（エンドポイント）に結びつけて使用します。しかし、エンドポイントに集中しないようにルーティングを管理してトラブルを起こさないようにします、SSL証明書は使用はできるが発行はできない

### EC2(Elastic Compute Cloud)
サーバーに必要なもの一式をクラウドで借りられる。アンマネージドサービスで、自分で全て設定できる。AMIを使うとサーバーに必要なソフトウェア（OSとかサーバー）をインストールできる。インスタンスのスペックを決めるのに、インスタンスタイプを選ぶ。起動中のみ料金がかかる

### ELB(Elastic Load Balancing)
一つのサーバーにアクセスが集中しないようにアクセスを振り分けるものをロードバランサーと呼ぶ

### Auto Scaling
稼働状況に応じて、自動的にELBに紐づくインスタンスの数を調整する、故障したら24時間は頑張ります

### ECR(Elastic Container Registry)
Docker イメージを保存することができるサービス

### ECS(Elastic Container Service)
コンテナの中身を使うために必要な物、例えばECRの中に入ってるコンテナをECSを使って起動する、インスタンスストアの中のデータは再起動すると削除される

### Lambda
API Gateway と一緒に使うことでAPI を作成したりできる、バックエンドの処理をやってくれるサービス、よってこれを使うとこちらでサーバーを用意する必要がない。S3と連携をして、例えば「ファイルをアップロードされたら、通知する」とかもできる、小規模のデータ分析にも使われる

### CloudWatch
EC2やEBSなどを代わりに見てくれるサービス、何かトラブルが起きてもあらかじめ設定すればやっといてくれる

### EBS(Elastic Block Store)
EC2インスタンスとRDSインスタンス専用のストレージ、別にS3にお？るいいけど、頻繁にアクセスするデータを置いた方がいい、データをインスタンスを再起動しても保持される、Amazon DLM(Data Lifecycle Manager)をONにするとバックアップを自動化してくれう

### EFS(Elastic File System)
複数のインスタンスから同時にアクセスができるファイルストレージ、例えるとEBSがHDDでEFSがNAS、データ量が増えたら自動的に拡張される

### S3
Google Drive のようにオブジェクト単位に管理できるオブジェクトストレージ。静的Webホスティングを有効すると静的ウェブサイトもホスティングできます

### Storage Gateway
オンプレミスとS3にデータを保管して、オンプレミスからでも、クラウドからでも取り出せるサービス

### Snow Family
超大容量のデータをオンプレミスからクラウドに移す時使うもの

### Fsx
Fsx for Windows ファイルサーバー（Windows Server 用のS3）とFsx for Lustre（Luster ファイルシステム用のS3）

### RDS(Relational Database Service)
AWSが提供している一般的なRDB、読み取り専用のインスタンス（リードレプリカ）が作成でき、マルチAZ構成（リードレプリカと違いマルチAZにすると性能が落ちる）にできるのが特徴、最大35日間毎日自動でバックアップ、手動でスナップショットをとる、それらから復元、任意の時点のデータの復元（ポイントタイムリカバリー）にも対応、データを保存する場所はEBS、フェイルオーバーに60-120秒かかる

### Aurora
Amazon が開発したRDMS、PostgreSQLとMySQL に互換性がある、サーバーを使わないことも可能、不規則な負荷に自動でスケーリングすることも可能

### Redshift
RDBMS とは違い継続的な書き込みや更新には不向きで、一括での書き込みや業務用データの分析に最適化されているサービス、そのため利用料金が高額で年間テラバイトデータ処理あたり1000ドル、PostgrSQL と互換性がある

### DynamoDB
キーバリュー型のNoSQLデータベース、自動的に3つのAZにデータを保存できる

### ElastiCache
インメモリ型のNoSQLデータベース、メモリ上にデータを格納するので処理が高速

### Amazon Neptune
グラフが特化したNoSQLデータベース、（Twitter やFacebook のようなつながりを表現するのに適している）

### Amazon Timestream
時系列データを扱うのに特化したNoSQLデータベース

### Amazon QLDB
変更した履歴などを全て残す台帳NoSQLデータベース

### Amazon DocumentDB
MongoDBに互換性があるNoSQLデータベース

### Amazon Keyspaces
Apache Cassandra に互換性があるNoSQLデータベース

### AWSアカウント
AWS を使い始める時に作成したアカウントで、このアカウントのユーザーをルートユーザーという。このユーザーは誰からも縛られない

### IAMユーザー
AWS を使えるユーザー

### IAMポリシー
ユーザー、グループ、ロールに対して権限（これを許可するとか）を定義する

### IAMグループ
同じ権限を持ったユーザーの集まり

### IAMロール
一時的にAWSを使えるユーザーを作るためもの

### KMS(Key Management Service)
AWSが管理する、暗号を使用するためのサービス。データを暗号化する鍵を、CDK(Customer Data Key)と呼ばれ、その鍵を暗号化する鍵をCMK(Customer Master Key)と呼ばれ、この手法をエンベロープ暗号化と呼ばれています

### CloudHSM
VPC の中に設置する、暗号を使用するための物理的な装置、暗号の標準に準拠している

### AWS Certificate Manager
無料でAWS が認証局になって、ドメインの所有を証明する証明書を発行する、これを利用できるサービスはELB,CloudFront,API Gateway です

### SQS(Simple Queue Service)
システム間でやりとりするデータ（メッセージ）を置いておき、中継する非同期処理を行うサービス

### Step Function
アプリケーションの処理（ステップ）の流れを可視化して操作できるサービス

### SWF(Simple Workflow)
Step Function とは違い、操作はできるが、可視化は出きないサービス

### SNS(Simple Nortification Service)
例えば、CloudWatchが監視してきるインスタンスの設定値を超えたときにメールや、プッシュ通知してくれる

### SES
迷惑メールフィルターなどに引っかからないようなメール配信サービス

### CodeCommit
GitHub のようなリモートリポジトリサービス、GitHub ではなくこれを使う理由はSNSを連携して、リポジトリ内で何か起こったら通知するなどができるからです

### CodeBuild
ビルド環境を構築してくれるサービス

### CodeDeploy
構築したものをデプロイしてくれるサービス

### CodePipeline
CodeCommit、CodeBuild、CodeDeploy を順にやってくれるサービス、例えばCodeCommit じゃなくてGitHub に置き換えるなどもできる

### Elastic Beanstalk
ウェブサーバー構成(ELB,Auto Scaling,EC2)などの構成を簡単に構築できるサービス

### OpsWork
Chef やPuppetを使って運用を運用を自動化する

### EMR
オープンソースのフレームワークである Apache Spark と Hadoop を使用して、膨大な量のデータを迅速かつコスト効率よく処理して分析するサービス

### Kinesis
データベースを抽出、変換、投入をするサービス、つまりデータベースを一箇所に集めたりできるサービス

### Data Pipeline
オンプレミスやAWSなどに定期的にアクセスして、必要に応じて変換し、S3,RDS,DynamoDB などに転送するサービス

### Glue
データベースをクローラーが探索して、そのメタデータをGlue data catalog に保存して分析しやすくする

### S3 Select
S3 のデータを検索できるサービス

### Amazon Athena
S3 のデータの高度な分析できるサービス

### Amazon QuickSight
Redshift、S3、Athena、Aurora、RDS、IAM、CloudTrail、Cloud Directory などのデータを、ダッシュボードにして可視化できるサービス、CloudWatch はログを可視化して、QuickSight ビックデータを分析する

### AWS Directory Service
Microsoft Active Directory(AD)をAWSの他のマネージメントサービスをつなぐためのもの

### Kerberos 認証
パスワードによる認証ではなく、チケットと対象キー暗号化により認証

### AWS Config
インスタンスの追加や、消去などのAWS内のリソース構成の変更を記録

### AWS Systems Manager
リソースの運用情報を統合的に管理

### AWS Trusted Advisor
AWS の最適な状態に基づいて利用状況をチェック

### AWS Shield
マネージド型のDDos攻撃に対する保護サービス

### AWS Firewall Manager
複数のアカウントとアプリケーションにAWS  WAF ルーツを設定できるサービス

### AWS Security Token Service
トークンなどを使用して、一時的にセキュリティ認証を付与できるサービス

### Amazon Inspector
自動的にAWS にデプロイしたアプリのセキュリティやコンプライアンスを評価してくれる

### Amazon Single Sing-On(SSO)
全てのアカウントとユーザーに対するアクセス許可を一元的に管理

### Amazon Cognito
アプリの認証機能を実装できる

### Aurora サーバーレス
自動的に起動、終了、スケーリングもしてくれる