AWS について簡単にまとめてみた

# 背景/目的

約半年ほど前からAWSを使用してwebアプリを作成していたが毎度毎度
付け焼刃の知識でやりくりしてきたのでここら辺で体系立ててまとめようと重い執筆

# クラウドとは

「クラウド」とは、クラウドサービスプラットフォームからインターネット経由でコンピューティング、データベース、ストレージ、アプリケーションをはじめとした、さまざまな IT リソースをオンデマンドで利用することができるサービスの総称

AWSは現在40 以上のクラウドサービスがある。
これらのサービスを組み合わせることで一つのサービスを作ることが出来る。

dropboxやyoutubeをはじめheroku,GKE,AKS何かもクラウドサービス

IaaSやPaaSだったり、SaaS、DaaSなどのクラウドサービスがあるがAWSは
AWSのEC2はIaaSの代表でそれぞれ専門のサービスはIaaSのものもある。
さらにいうとAWS LambdaはFaaS(Function as a Service)だ。
(これが複雑にしている要因でもありそうですね。。)

[クラウドコンピューティングのタイプ](https://aws.amazon.com/jp/types-of-cloud-computing/)

# AWSとは

Amazon Web Servicesの略
AWSとは、Amazonが提供しているWebサービスの総称。
Amazonが自社サイト「Amazon.com」を運営しているノウハウを活用して、開始されたサービス

下記記事なんかにはAWSの歴史等が公式で書かれている。面白いので是非。
[AWS 10年の歩み ~沿革~](https://aws.amazon.com/jp/aws_history/details/)

# 何がいいの？

* 必要なサービスのみを選べる！
* 従量課金制！
* セキュリティレベルの高さ！
* パフォーマンスが高い！

# 何があるの？

### コンピューティング
#### Amazon EC2　(2006/8 ~)
仮想サーバー
AWSを利用する９割くらいの人がこの機能を使用しているのではないでしょうか？

##### Amazon Lightsail
仮想サーバ
Lightsailでは、ユーザーインタフェースが極力簡略化されており、
少ない操作で簡単にサーバーを作成することができる。

##### Amazon Elastic Container Service
Dockerベースのアプリケーションのビルド、実行とそしてスケールを助けるためのサービス

##### AWS Lambda
サーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービス

##### AWS Batch
科学技術計算・ハイパフォーマンスコンピューティング用途で真価を発揮する、
大規模なスケール、ジョブの依存定義 が可能なマネージド 並列分散 処理基盤。

##### AWS Elastic Beanstalk
ウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS など使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービス

### ストレージ
##### Amazon S3 (2006/3 ～)
安さと高可用性を兼ね備えたインターネットストレージサービス
99.999999999%の耐久性を公式で謳っている。

##### Amazon EFS
AWS クラウドサービスおよびオンプレミスリソースで利用できる、シンプル、スケーラブル、伸縮自在なファイルストレージ
完全マネージド型のクラウドファイルストレージサービス

##### Amazon Glacier
安全性と耐久性に優れ、きわめて低コストのクラウドストレージサービスで、
データのアーカイブや長期バックアップに使用できる。

##### AWS Storage Gateway
オンプレミスアプリケーションによる AWS クラウドストレージのシームレスな使用を可能にするハイブリッドストレージサービス

### データベース
##### Amazon RDS
リレーショナルデータベース（RDB）のサービス
PostgreSQL、MySQL、MariaDB、Oracle、Microsoft SQL Serverに対応。OSS系から商用DBまでひと通り揃っている。

##### Amazon DynamoDB
どのような規模でも信頼性が高いパフォーマンスを維持できる、非リレーショナルデータベース
マネージド型のNoSQLデータベース
データ構造も、RDSのテーブルとは異なった持ち方をします。

##### Amazon ElastiCache
Memcached または Redis プロトコルに準拠するサーバーノードのデプロイと実行をクラウド内で簡単に実行できるウェブサービス

##### Amazon Redshift
データウェアハウスサービス
特徴
テラバイトあたりの価格が10分の1以下であり，さらにクラウド上に構築されるためメンテナンスコストなどの追加費用が必要ない

##### Amazon Aurora
クラウド向けに構築された、MySQL や PostgreSQL と互換性のあるリレーショナルデータベース。
高性能の商業用データベースの速度や信頼性と、オープンソースデータベースのシンプルさや費用対効果を兼ね備えている。

### 移行
##### AWS Migration Hub
AWS およびパートナーの複数のソリューション間におけるアプリケーション移行の進行状況を 1 つの場所で追跡できるサービス

##### AWS Application Discovery Service
企業のお客様が自社の IT 環境内のサーバーの設定、使用、動作の状態を把握できるようデータを収集し、提供するサービス

##### AWS Database Migration Service
リレーショナルデータベース、データウェアハウス、NoSQL データベース、他の種類のデータストアを移行しやすくするクラウドサービス

##### AWS Server Migration Service
数千のオンプレミスワークロードを従来よりも簡単に、かつ短時間で AWS に移行できるエージェントレスサービス

##### AWS Snowball
物理的な輸送をセキュアに行うことができるように設計されたストレージアプライアンスを使用して、テラバイト規模からペタバイト規模のデータを AWS との間で移動するためのデータ転送ソリューション

### ネットワーキング ＆ コンテンツ配信
##### Amazon VPC
ユーザー専用のプライベートなクラウド環境を提供するサービス

##### Amazon CloudFront
データ、動画、アプリケーション、および API をすべて開発者にとって使いやすい環境で、低レイテンシーの高速転送により視聴者に安全に配信する高速コンテンツ配信ネットワーク (CDN) サービス

##### Amazon Route 53
Route53はDNS（ドメインネームサービス）と呼ばれるサービス。
ドメインからIPアドレスを参照する

##### Amazon API Gateway
規模の大きさに関係なく、開発者が API を作成、配布、保守、監視、保護できる AWS サービス

##### AWS Direct Connect
プレミスから AWS への専用ネットワーク接続の構築をシンプルにするクラウドサービスソリューション

### 開発者用ツール
##### AWS CodeStar
WS でソフトウェア開発プロジェクトを作成、管理、および操作するクラウドベースのサービス

##### AWS CodeCommit
Git ベースのリポジトリをセキュアにホストする完全マネージド型のソース管理サービス

##### AWS CodeBuild
ソースコードをコンパイルし、テストを実行し、デプロイ可能なソフトウェアパッケージを作成できる完全マネージド型のビルドサービス

##### AWS CodeDeploy
Amazon EC2 インスタンスやオンプレミスインスタンス、サーバーレス Lambda 関数に対するアプリケーションのデプロイを自動化するデプロイメントサービス

##### AWS CodePipeline
完全マネージド型の継続的デリバリーサービス

##### AWS Cloud9
ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) 
クラウド上に開発環境を設けることによって、WindowsやMacの依存関係をなくすことができ、
共通の開発環境で開発が進められる最高の環境となります。

##### AWS X-Ray


### 管理ツール
##### Amazon CloudWatch
AWSリソースとAWSで実行するアプリケーションのモニタリングサービス

##### AWS WAF
ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護するセキュリティ対策の一つ

##### AWS CloudFormation
AWSの構築をオートメーション化するサービスの代表格
Infrastructure as Code！

##### AWS CloudTrail
AWS アカウントのガバナンス、コンプライアンス、運用監査、リスク監査を行うためのサービス

##### AWS Config
セキュリティとガバナンスを可能にする構成変更の通知、構成履歴、
AWSリソースのインベントリーをお客様へ提供する完全マネージド型のサービス

##### AWS OpsWorks
Chef や Puppet のマネージド型インスタンスを利用できるようになる構成管理サービス

##### AWS Service Catalog
IT管理部門が、組織としてのガバナンスに則った構成のCloudFormationテンプレートを製品として登録し、
ユーザー部門が、その製品を使うことで、組織のガバナンスに則った形で、欲しい機能をすぐに手に入れることが出来る

##### AWS Systems Manager
AWS で利用しているインフラストラクチャを可視化し、制御するためのサービス

##### AWS Trusted Advisor
EC2 や RDS などのサービスをコストやセキュリティに関する Best Practice に基づいたアドバイスを自動的に行なってくれるサービス

##### AWS Managed Services (2016/12 ~)
「ITILベースのIT運用管理なら体制ができており、ノウハウも社内に蓄積されているが、AWSにはこれを適用できないので困る」という組織に向けたサービス。