AWSのサービスの概要

# はじめに
 ここ最近AWSに触れることが増えてきたのですが、サービスの違いや概要がわからず新しいものを使うたびに調べているのでAWSのドキュメントにあるサービスの一部の説明を簡単にまとめました。
 誤った情報があった場合はご指摘いただけるとありがたいです。
# コンピューティング
## Amazon EC2
- 主要なコンピューティングリソース。
- リモートでアクセスできる専用の<font color="DeepPink">仮想サーバ</font>が提供される。
- GPU処理向けに最適化されたインスタンスが提供される。

## Amazon ECS
- Dockerコンテナをサポートし、EC2インスタンスのマネージドクラスターでアプリケーションを簡単に実行できる<font color="DeepPink">コンテナ管理サービス</font>
- シンプルなAPIを使うことで既存のソフトウェア配信プロセスに独自のスケジューラを統合できる

## AWS Lambda
- <font color="DeepPink">サーバのプロビジョニングや管理を行わずにコードを実行</font>できるイベントドリブン型のタスクコンピューティングサービス.
- コードをアップロードするとそのコードの実行とスケーリングに必要なものがlambdaによって実行される.

***プロビジョニング?***
必要に応じてネットワークやコンピュータの設備などのリソースを提供できるよう予測し準備しておくこと.

# ストレージとコンテンツ配信
## Amazon EBS
- <font color="DeepPink">EC2と組み合わせて使用</font>できる永続的な<font color="DeepPink">ブロックストア</font>.
- ハードドライブに類似している.
- データベース, ファイルシステム, ブロックレベルのストレージが必要なアプリケーションに適している.

## Amazon S3
- ファイルのアップロード, 削除, 変更したファイルを再アップロードできる<font color="DeepPink">静的ファイルのバケット</font>.

## Amazon Glaicier
- <font color="DeepPink">データのアーカイブとバックアップ</font>に使用されるデータストレージ.
- 設定することでS3からGracierへの一方向の移行が可能になる.

***アーカイブとバックアップの違い?***
アーカイブは使用頻度が低いデータや、法令などで一定期間、保存を義務づけられたデータを外部記憶媒体に移し替えて保管すること.
バックアップは情報システムに障害が発生した場合に備え、システムや重要なデータを出来るだけ早く復旧させる目的で、外部記憶媒体に同じデータを記録すること.
[参照URL](http://www.mediaconvert.jp/column03.html)

## AWS Import/ExportSnowbal
- 安全なアプライアンスを使用したペタバイト規模の<font color="DeepPink">データ転送ソリューション</font>.AWSクラウド内外に大容量データを転送できる.
- データをシンプル, 迅速, 安全に転送できる.
- クラウド移行, 災害対策, データセンタの撤去, コンテンツ配信に利用される.

## Amazon Cloud Front
- ウェブサイトやAPI, ビデオコンテンツ, その他のウェブアセットの配信を高速化する<font color="DeepPink">グローバルコンテンツ配信ネットワークサービス</font>.
- エッジロケーションのグローバルネットワークを利用し, 動的コンテンツ, 静的コンテンツ, ストリーミングコンテンツ, インタラクティブコンテンツを含むウェブサイト全体を配信できる.
# データベース
## Amazon RDS
- クラウドベースのコンピューティングソリューションで簡単にリレーショナルデータベースをスケールできる.
- データベース管理タスクが管理される
- SQL, MySQLなど広く普及しているデータベースエンジンとともに使用できる.

## Amazon DynamoDB
- 1桁台のミリ秒単位のレイテンシーを必要とするすべての規模のアプリケーションに対応した高速かつフレキシブルな<font color="DeepPink">NoSQLデータベースサービス</font>.
- IoT, ゲームなど様々なアプリケーションに使える.

## AWS Databese Migration Service
- データベースを簡単かつ安全に<font color="DeepPink">AWSに移行できる</font>.
- 商用データベース及びオープンソースデータベースとの間でのデータ移行.
- サポートされているデータソースからAmazon Redshiftへのデータストリーミング.
- ペタバイト規模のデータウェアハウスにおける統合と簡単な分析が可能

## Amazon Redshift
- 高速でペタバイトスケールの<font color="DeepPink">フルマネージドデータウェアハウス</font>.
- 既存のビジネスインテリジェンスツールを使用してデータを分析できる.
- <font color="DeepPink">列指向のストレージ</font>と<font color="DeepPink">超並列処理</font>のアーキテクチャを使用してデータとクエリが複数のノードに並列化および分散されるため, どのようなボリュームのデータでも一貫して高いパフォーマンスが実現される.

# ネットワーキング
## Amazon VPC
- AWSクラウドの隔離されたプライベートなセクションのプロビジョニングができる<font color="DeepPink">クラウドベースの仮想ネットワーク</font>.
- Elastic IPアドレスをアタッチしてインターネットからアクセスを可能にする.
- インターネット, 企業データセンター, 他のVPCに接続できる

***Elastic IPアドレス?***
インターネットからアクセス可能で動的なクラウドコンピューティングのために設計された静的IPv4アドレス

## AWS Direct Connect
- 自社のネットワークとAWS Direct Connectロケーションの間に<font color="DeepPink">専用ネットワーク接続を確立できる</font>.
- AWSとデータセンター, オフィス, コロケーション環境との間にプライベート接続を確立できる.
- 複数の仮想インタフェースに分割できる.
- VPCへのプライベート接続ができる.
- ネットワークの分離を維持しつつ同じ接続を使用してパブリックリソースにはパブリックIPアドレス空間を使用してアクセスし, プライベートリソースにはプライベートIP空間を使用してアクセスできる.

## Amazon Route53
- パブリックDNSレコードとドメイン名に記載されたIPアドレスを作成及び管理する<font color="DeepPink">スケーラブルなDNS</font>.
- DNSサービスのグローバルネットワークを利用して低レイテンシーでDNSクエリに応答し<font color="DeepPink">AWSリソースやAWS以外のインフラストラクチャ</font>へのユーザリクエストが解決される.

# 管理ツール
## Amazon Cloud Watch
- CPUやネットワーク使用率などのシステムメトリックストページのロード時間やクエリの実行時間などの<font color="DeepPink">カスタムメトリックスがモニタリング</font>される.
- リソース使用率, 動作パフォーマンス, 全体的なリソース消費パターンを<font color="DeepPink">表示</font>する.
- CPU使用率, ディスクの読み取りと書き込み, ネットワークトラフィックなどの<font color="DeepPink">定量化</font>

## AWS Cloud Formation
- 開発者やシステム管理者が関連するAWSリソースのコレクションを簡単に作成及び管理しプロビジョニング, 更新できるようにする.
- 簡単なjsonまたはyaml形式のテンプレートを使って<font color="DeepPink">AWSリソースをデプロイできる</font>.
- インフラストラクチャにバージョン管理を適用するなど, リソースの変更ができる.

## AWS Trusted Advisor
- AWS環境を最適化することで<font color="DeepPink">コストの削減, パフォーマンスの向上, セキュリティの強化をサポートするオンラインリソース</font>.
- ユーザのAWS環境を分析して推奨ベストプラクティスをコスト最適化, パフォーマンス, セキュリティ, 耐障害性の4つのカテゴリで提供している.

# セキュリティとアイデンティティ
## AWS IAM
- AWSの各種サービスやリソースへの<font color="DeepPink">ユーザアクセスを安全に管理するために使用されるツール</font>.
- ユーザ, ユーザグループ及びAWSリソースへの<font color="DeepPink">アクセスを許可, 拒否する権限を作成</font>し, 管理するのに役立つ.

## AWS WAF
- アプリケーションの可用性, セキュリティの侵害, リソースの過剰消費などの一般的なウェブの脆弱性から<font color="DeepPink">ウェブアプリケーションを保護するためのウェブアプリケーションファイアウォール</font>.
- カスタマイズ可能なウェブセキュリティルールを定義することによってどのトラフィックをウェブアプリケーションに許可, ブロックするかを制御できる.
- 特定のアプリケーションのために設計されるルールを作成できる.

# 分析
## Amazon EMR
- 企業, 研究者, データアナリスト, 開発者が<font color="DeepPink">たいりょうのデータを簡単かつコスト効率よく処理できるウェブサービス</font>.
- データ集約型のタスクを実行するために必要なキャパシティを即時にプロビジョニングできる.

## Amazon Kinesis
- ストリーミングデータのロードと分析を簡易化し, 特定のニーズに合わせたカスタムストリーミングデータアプリケーションの構築を行うためのサービスを提供するAWSの<font color="DeepPink">データストリーミング用プラットフォーム</font>.

### Kinesis Firehose
- <font color="DeepPink">ストリーミングデータをAWSにロードする</font>最も簡単な方法.
- データのスループットに合わせて自動的にスケールするふるマネージドサービス.

### Kinesis Analytics
- 標準のSQLを使用してリアルタイムで<font color="DeepPink">ストリーミングデータを処理</font>する方法.

### Kinesis Streams
- 特定のニーズのために<font color="DeepPink">ストリーミングデータを処理する</font>方法

# アプリケーションサービス
## Amazon API Gateway
- バックエンドサービスの入り口として機能する<font color="DeepPink">RESTfulAPIの作成, 管理, 配置</font>が行える.
- AWSのサービスを公開できる.
- トラフィック管理認証とアクセスコントロール, モニタリング, APIバージョン管理など最大数十万個の<font color="DeepPink">同時APIコールの受け入れと処理に関するすべてのタスクを処理できる.</font>

***RESTfulAPI?***
RESTの原則に沿って構築されたwebシステムのHTTPでの呼び出しインタフェースのこと
***REST?***
分散型システムにおける複数のソフトウェアを連携させるのに適した設計原則の集合, 考え方

## Amazon SQS
- アプリケーションアーキテクチャの様々なコンポーネント間でやりとりされる<font color="DeepPink">メッセージを保存するスケーラブルなメッセージキューシステム</font>.
- あるコンポーネント間で生成されたメッセージが迅速かつ確実にキューに入るので別のコンポーネントでも処理できる.

# エンタープライズアプリケーション
## Amazon Work Spaces
- AWSクラウドで実行される<font color="DeepPink">マネージドデスクトップコンピューティングサービス</font>
- クラウドベースの仮想デスクトップ.