AWSを0から学ぶ（AWSの全体像をざっくり把握しよう）

#AWSの背景・メリット
・クラウドの一種がAWS

・AWSは、既にある程度の設定がされたものの上で作れる

・昔は、どのくらいのデータを使用するかなどの予測が不可欠だった。クラウドは予測が不要な点で、大きなメリットがある。

・200を超えるAWSサービスがある。欲しいサービスを自分たちで選んで使うことができる（アーキテクチャ）

・使った分だけのお支払いになる。従量課金制






#用語の説明


##基本

###EC2
サーバー

###リージョン
大学で例えると大学。
EC2が集まる地域。
日本には、東京リージョンと大阪リージョンがある。

###Availability Zone（AZ）
大学で例えるとキャンパス。




##運用・管理
###CloudWatch
AWSをモニタリングするサービス。作り終わった後も、正しく動くか監視する。
➀情報を集めて表示。：メトリクスで行う。
②アラーム（通知）も行う：定義したルールに基づいて自動で変更。

###Elastic File System　EFS
共有のファイルシステム。


###AWS Support
AWSのサポーターがサポート


###Trusted Adviser
利用者のAWS環境をAWSが自動で精査し、 推奨設定のお知らせをしてくれる機能。
セキュリティやコスト管理などを行ってくれる。



##コンピューティング
###EC2 Auto Scaling
スケーリングとは、需要などの増減のこと。

例えば、月曜に一番アクセス（需要）が来るなら、月曜にキャパシティを増やせばいい。
でも、月曜以外の曜日はキャパシティは無駄になってしまう（使わないから）

そこで、アクセスが増えたら自動的にキャパシティ(EC2インスタンス)を増やすサービスが「EC2 Auto Scaling」という。

これをCloudWatchと併用すると、効果抜群。
CloudWatchでモニタリングし、アクセスが増加したらAuto Scalingに通知する。


###EC2
Amazonが提供している仮想サーバー構築サービス。
インスタンスという単位で呼ばれる。
EC2を使うことで、利用者は物理的な準備が不要になる。（買ってきて、つないだりとか）

・EC2インスタンスのテンプレートがAmazonMachineImage(AMI)。
これをもとに作る。
・InstanceTypeとは、EC２の各種タイプ。（microなど）
・EBSとは、EC2インスタンスなどの仮想サーバのブロックストレージ。
・SessionManagerは、ログインしてアクセスするための仕組み。



###フリート管理
障害が発生したEC2インスタンスを自動で撤去して、新しいインスタンスに中断なしで置き換える。





##データベース
###Relational Database Service（RDS）
データベースの管理関係を自動で行うマネージドサービス。
※マネージドサービスとは、AWSが利用者に変わっていろんなことをすること。

・セキュリティのパッチ（修正プログラム）を定期的に実行。
・自動でバックアップ。
・マルチAZの配置
・フェールオーバーを自動で行う。

※フェールオーバー
データベースはメインとサブの二つを使うのが一般的。
普段はサーバとメインが接続している。
メインでたまったデータはサブにもコピーする。
そして、仮にメインが壊れた時、サブに切り替え、サーバとつなぐ。
この機能をフェイルオーバーという。


※エンドポイントとは
平たく言うと、URL。
データベースに接続するためのURL。DBインスタンスへアクセスするためのDNS名。

##自動化
###CloudFormation
デプロイを自動化。
デプロイとは、自分が作ったプログラムを本番環境にもっていくこと

設計図をテンプレートとしておく。CloudFormationが読み取って勝手につくってくれる。







##ネットワーク
###CloudFront
高速、安全、グローバルなコンテンツ配信ネットワーク
東京のS３のコピーを世界中のＳ３においておくサービス。
初めは該当するS3にデータを取りに行く。
次回から、コピーをエッジロケーションに置いておいて、データが欲しい時にはエッジロケーションに取りに行く。

アメリカにあるＳ３に20回取りに行く場合と、エッジロケーションを経由して20回アクセスした場合では、後者は速度が10倍ほど早くなる。


###Route53
ドメイン（URL）とIPアドレスの紐づけを行う。
DNSと同じような役割。


###Direct Connect
あるネットワークとAWSをつなぐ専用の経路を構築。
物理的な工事が必要。
顧客とAWSのみの専用なので、重要な情報も安全に送ることができる。


###VPC
利用者とAWSをつなぐ専用経路。これにより、重要な情報も安心して送れる。

＜VPC関連用語＞
・Public SubnetとPrivate Subnetという二つの部屋に分けることで、セキュリティを保っている。
publicにはEC2、PrivateにはDBサーバを置く。


・Internet Gatewayは外と通信をする出入口の事。サブネットからインターネットへ接続するためのゲートウエイ。

・ルートテーブルとは、通信経路の判断の設定に使用する。小部屋単位に通信できるかどうかを決める役目。

・セキュリティグループは、ファイアウォール。どんな通信を許可するかを決める。


###Elastic Load Balancing（ELB）
複数のインスタンスにトラフィックを分散する。
簡単に言うと、門番役。
この門番にアクセスすると、門番が処理の振り分けをインスタンスに行う。



##サーバーレス
###Lambda
サーバー管理なしでコードを実行する。
近年はクラウドなどの進歩により、サーバーレスで作ることができる。
（サーバーレスとは、サーバー管理が不要であるという意味。サーバー自体がいらないわけではない。）
準備に必要なのは、プログラムのコードだけ。
コードをLambdaにアップロードすれば、AWSが自動で管理してくれる。


###DynamoDB
最近人気のデータベース
RDSとは別の思想に基づいて作られた。
どんな規模にも対応する高速で柔軟なNoSQLデータサービス。



###SNS
サーバーレスのサービスの一種
メッセージを自動で複製し、あらかじめ登録されているサービスに配ってくれる。
システム側の内容を送ることでできる。






##セキュリティ
###AWSの責任共有モデル
AWSのセキュリティは、AWSだけが頑張るのではなく、お客さんもある程度守る必要があるという考え。


###IAM
認証：ユーザーの登録（IAMユーザー）など。
認可：操作の許可（IAMポリシーに基づいて、認可の操作）

###IAMロール
ヘルメットのようなシステム。あるS３をAさんが使いたいとする。S3・AさんそれぞれにIAMポリシーが設定されているが、このS3を使うときだけIAMロールを引き受けている（S3のヘルメットをかぶっている）時だけ、このS3にアクセスを切り替えられる。



###Inspector
AWSリリースのセキュリティを評価する。



###AWS　Shield
DDosから守るシステム。



##コスト管理

###リザーブドインスタンス（RI）
予約して節約






###スポットインスタンス
AWSキャパシティーの中で誰も使っていない空きを最大90%オフで利用できる。
ただし、緊急で大容量が必要な人がいる場合、そちらを優先するため使えなくなることもある。