AWS用語解説

# AWS
Amazonが提供しているクラウドサービス

- フルマネージド型サービス

ハードウェアリソースを購入、管理が不要。
必要なリソースを柔軟に変更することが可能。
OSのアップデートなどもAWS側が対応してくれるため、開発に注力できる。

- 信頼性とセキュリティ

各サービスごとにSLA（Service Level Agreement）が定義されている。また`リージョン`、｀アベイラビリティゾーン｀を利用することでシステムの分散配置が可能。


- Web API

すべてのサービスはWebAPIが提供されており、SDKを組み込むことで各プログラミング言語から容易にAWS操作が可能。


# 各種サービス概要

## EC2 （Elastic Compute Cloud）
"Elastic"とは伸縮可能という意味。
なのでそのまま意訳すると、拡張可能なクラウド上のコンピュータ。
EC2はサービス名であり、そこから作成した各仮想サーバのことを`インスタンス`と呼ぶ。
インスタンスに、CPU、メモリ、ストレージ、ネットワーク、などのリソースキャパシティなどを組み合わせたものを`インスタンスタイプ`と呼ぶ(t2.micro等)。

EC2の購入オプションは以下が選択可能であるが
リリース直後はリソース負荷が定まらないため、オンデマンドインスタンスでリソース使用状況を分析後、最適なインスタンスタイプをリザーブドインスタンスで購入するのがベター。

|オプション|内容|
|:--|:--|
|オンデマンドインスタンス|時間単位の固定単価で料金が計算される。|
|リザーブドインスタンス|長期間（1年or3年）の利用を予約したインスタンス。|
|スポットインスタンス|入札形式で提供されるインスタンス。AWSで余剰のインスタンスを入札制で大幅に安い価格で利用できる仕組み。オンデマンドインスタンスより高くなる場合もある。必ず利用できる保証がないため、遅延許容タスクや検証用などで利用される。|


## EBS （Elastic Block Store）
Amazon EC2向けの永続的なブロックストレージ。
基本的にEC2とセットで利用。
スナップショット機能を有しており、EC2のバックアップがこれに当たる。作成したスナップショットはS3に差分的に保存されるためS3の利用料も最小限に抑えられる。
※EC2上にもデータ保存領域はあるが、EC2が停止するとデータも消えるため当サービスで永続的にデータ保存する必要がある。

|種類|費用|IOPS(I/O per Second)|用途|
|:--|:--|:--|:--|
|マグネティックボリューム|安い|低い|アクセス頻度が低い（従来の磁気ディスクに相当）|
|汎用ボリューム|普通|普通|一般的|
|プロビジョン度IOPSボリューム|高い|高い|アクセス頻度が高い|

## ELB （Elastic Load Balancing）
仮想ロードバランサー。
スケールアウト（サーバー数を増やす）したEC2に対し、クライアントからのアプリケーションに対するリクエスト分配を行う役目を担う。

ELBの利用料金は以下の組み合わせで決定される。

- 利用時間単位
- 処理したデータ量単位

## S3 （Simple Storage Service）
オンラインストレージ。
EBSとの違いは容量が無制限なこと、利用料が安価（以下）なこと
使い分けとしては、アプリケーションからのアクセス頻度が高いデータをEBS、バックアップなどのデータをS3に置く構成が基本らしい。

|サービス|値段/1GB|
|:--|:--|
|S3|＄0.025|
|EBS|$0.12|

## Glacier
S3よりも安価なストレージサービス。アクセス頻度が少ない場合などに利用。オンプレミスでいえば、DATなどの外部媒体に相当するといえる。

## Route53
AWSが提供するDNSサービス。
"53"はDNSの送信元ポートが53というのが由来。

## RDS（Relational Database Service）
セットアップや拡張、運用が容易な、フルマネージド型のリレーショナルデータベースサービス。

- 互換性

「MySQL」、「PostgreSQL」、「Oracle」、「SQL Server」等のメジャーデータベースエンジンが選択可能。2015年からは「Amazon Aurora」が利用可能になった。

- 信頼性

自動バックアップ機能により、DBスナップショットとトランザクションログを保存される。
また、データベース構築時に、「Multi-AZ配置」と呼ばれるレプリケーションによる冗長化構成を選択できる。

- セキュリティ

EC2などと同様に`セキュリティグループ`を設定しアクセス元の制御を行う。また`KMS`に格納されたキーを使い、DBインスタンスの暗号化が可能。

- セキュリティ
SSL証明書を設定することでコンテンツを暗号化可能。
アクセス元の地域を指定したアクセス制御が可能。

- ストリーミング

動画や音声などのストリーミング配信に対応。

- レポート

キャッシュの利用状況、リアルタイムモニタリング、人気コンテンツの統計情報、リファラーの統計情報、リクエスト数及びデータ転送量、クライアントデバイスの統計情報などのレポート確認が可能。

## IAM
認証、認可、アクセス管理、ポリシー管理のサービス

## KMS
暗号鍵作成、管理、運用のマネジメントサービス

## Inspector
EC2の脆弱性診断サービス

## ACM
常時SSLを実現するサービス

## cloud9
クラウド上でIDEを提供。
もとは独立していたがAmazonに買収され、awsサービスの一つに。

## AWS Dicrect Connect
オフィスなどの拠点と専用線で接続するための接続ポイント。

## ENI （Elastic Network Interface）
ネットワーク・インターフェースに該当するサービス。
EC2を作成すると一緒に作られ、アタッチされる。

## SQS（Simple Queue Service）
- マネージド型のメッセージキューイングサービス

|キューの種類|内容|
|:--|:--|
|標準キュー|配信順序はベストエフォート型。配信は少なくとも 1 回行われる|
|SQS FIFO キュー|メッセージが送信される順序のとおりに 1 回のみ確実に処理される。|


## AMI（Amazon Machine Image）
- EC2の元になるテンプレートに当たるもの（EC2はテンプレートから生成されたインスタンスとも呼ばれる）
- テンプレート情報としてはソフトウェア構成 (オペレーティングシステム、アプリケーションサーバー、アプリケーションなど) が記録されている

## Amazon Rekognition
- 画像分析及び動画分析サービス
- 指定した画像のラベル検出可能
- 2つの画像の近似値比較が可能

## Amazon Cognite
### Cognito Identity 

- AWS のサービスを利用するユーザーに 一意のアイデンティティ を与えるためのサービスで以下のどちらかの方法でIDを発行する
    - 匿名ユーザーとして ID を発行する
    - パブリックなログインプロバイダのユーザー ID と紐付ける

## ECS （Elastic Container Service）

- コンテナ（主にDocker）を利用したサービス


## API Gateway
- apiを簡単に作成する機能
- lambdaと組み合わせてサーバレスアーキテクチャを実現したりする

## リージョン（region）
AWSが運営されている各拠点のこと。
リージョンによって、提供されているサービスの種類や価格が若干ことなる。
遠隔にあるリージョンを利用すると遅延が大きくなるため、日本国内で利用する場合、通常は`東京リージョン`を選ぶ。
リージョンは完全に独立しており、互いに接続されていないため、リージョン同士で通信したい場合はインターネットを経由する。
他の国のリージョンと組み合わせて冗長構成を採ることで、地球規模の可用性が実現可能。

## アベイラビリティゾーン（AZ）
それぞれのリージョンにおいて実際にサービスを提供する拠点（データセンター）。
電気的、物理的、ネットワーク的に隔離されている。
サーバーを冗長構成にしたい場合、異なるアベイラビリティゾーンに設置することで
障害対策になる。

## VPC
EC2やRDSのインスタンスを入れておく領域。
リージョンの中に置く。

## インターネットゲートウェイ
VPCからインターネットへ接続するための接続ポイント。

## セキュリティグループ、ネットワークACL
AWSが提供するファイアウォール機能。
以下目的、用途に応じて使い分ける。

||セキュリティグループ|ネットワークACL|
|:--|:--|:--|
|対象|EMI単位（≒EC2単位）|サブネットごと。1つのサブネットに1つだけ設定可能。|
|ステート|`ステートフル`であり、応答パケットは自動的に通る。|`ステートレス`であり、応答パケットは自動的に通らない。|
|デフォルト|`SSH`が通過可能|全ての通信が通過可能|
|用途|EC2インスタンスの特性に応じて他プロトコル（webサーバの80、443など）のルールカスタマイズを行う。|接続先や接続元のIPアドレスを制御したい場合|

## Elastic IP
パブリックIPを固定化するための仕組み。
※EC2インスタンスに割り当てられるパブリックIPアドレスはデフォルトで動的に割り当てられ、起動し直すたびに変更される

# 参考

- Amazon Web Servicesネットワーク入門 
- ELB　を導入するメリット https://dev.classmethod.jp/cloud/aws/benefit_elb_with_one_ec2/