EC2上でのWebサイト運用のためにAWSのどのサービスの利用が最低限必要そうか調査しました。

EC2上でのWebサイト運用のためにAWSのどのサービスの利用が最低限必要そうか調査しました。
調べた概要や料金(一部抜粋)を記載します。
本情報のみで完結させるため、各所に「※」で補足情報も載せました。
過不足あればご指摘お願いします。

# 参考
https://aws.amazon.com/jp/
https://www.underworks.co.jp/dmj/2019/11/28/aws-service/
https://www.underworks.co.jp/dmj/2019/12/11/aws-service-2/
https://e-words.jp/
https://cloudnavi.nhn-techorus.com/archives/3640

# ストレージ＆データベース機能

## S3(Simple Storage Service)

画像や動画の他、バックアップファイルなどの静的ファイルを保存することができるストレージ。
EC2※にインストールしたCMSと連携して、メディアファイルを格納したり、
バックアップデータを保管する用途としての利用。
※EC2(Amazon Elastic Compute Cloud)：Linux系各種OSやWindows Serverをパッケージとして提供。
EC2のサーバーそのものにデータを保存することも可能だが、
ある程度のデータ量になるとファイル管理が煩雑になったり対応スピードが遅くなるため、よくS3が利用される。
構築済みの静的HTMLファイルによるWebサイトがあれば、S3にファイルをアップロードして公開することも可能。

* 料金(一部抜粋)  
  * 無料利用枠  ：S3標準ストレージクラス、5GB、20,000GETリクエスト、  
  　　　　　　 2,000PUT、COPY、POST、あるいは、LISTリクエスト、  
　　　　　　 データ送信15GBを毎月、1年間。
  * S3標準プラン：最初の50TB/月 ・・・ 0.023USD/GB(約3円)

## Amazon RDS(Amazon Relational Database Service)

クラウド上にリレーショナルデータベース※を構築、運用することが可能。
※リレーショナルデータベース：事前定義された、関連があるデータ項目(列と行を持つテーブルのセット)の集合体。
既存構築済みのデータベースを移行したり、EC2上に構築したCMSのデータベースとして活用することが可能。
EC2のサーバー上にもデータベースを構築すること可能だが、
S3同様にデータの規模やレスポンススピード向上のためにRDSを利用するケースが多い。

* 料金(一部抜粋)  
  * 無料利用枠：750時間使用可能、20GBの汎用DBストレージ。
  * 有料プラン：利用するデータベース、インスタンスタイプ※、  
  　　　　　　契約期間、前払い有無等によりまちまち。  
　　　　　　※インスタンスタイプ：CPU、メモリ、ストレージの組み合わせ等で  
　　　　　　　様々なタイプがある。    
　　　　　　見た限りだと0.025USD(約3円)～

## Amazon EBS(Amazon Elastic Block Store)

ブロックストレージ※サービス。
※データをブロックと呼ばれる単位で保存するストレージの種類の1つ。高速にデータを取得できる。
SSDタイプとHDDタイプの2種類が存在する。
Amazon RDSは、自動的に複数のAmazon EBSボリュームをストライプ※する。
※パフォーマンス向上のために複数のディスクにわたってデータ(データベース、ログ)を分散させる手段。

* 料金(一部抜粋)  
  * 無料利用枠：12か月間、30GBのストレージ。
  * 有料プラン：利用するプランによりまちまち。見た限りだと0.08USD(約9円)～

# ネットワーク機能

## CloudFront

CDN※サービスを提供。
※CDN(Contents Delivery Network)：ウェブコンテンツをインターネット経由で配信するために最適化されたネットワークのこと。
Webサイトのデータを複数のポイントにキャッシュしてサーバーの代わりに提供することにより、
コンテンツを効率的にユーザーに配布し、Webサイトのアクセス安定性や読み込みスピードを高めることが可能。
また、ユーザーからのアクセスポイントを分散することにより、
サーバーのネットワーク負荷を下げたり、DDoS攻撃※などに対してセキュリティ対応力を高めることが可能。
※DDoS攻撃(Denial of Service attack)：ウェブサイトやサーバーに対して過剰なアクセスやデータを送付するサイバー攻撃。

* 料金  
  * 無料利用枠：50GBのデータ送信、200万件のHTTP/HTTPSリクエスト、  
　　　　　　200万件のCloudFront Function呼び出しを12か月間。
  * 有料プラン：10TB/月(利用地：日本) ・・・ 0.114 USD(約13円)

## Amazon Route 53

AWSで提供されるドメインネームシステムウェブサービス(DNS)※。
※DNS(Domain Name System)：インターネット上でドメイン名※を管理・運用するために開発されたシステム。
　※ドメイン：インターネット上に存在するコンピュータやネットワークを識別し、階層的に管理するために登録された名前。
EC2に構築したWebサイトに対して、ドメイン名登録やDNSルーティングを行うことが可能。
Webサイトにすでに取得しているドメインを設定したり、新たにドメインを取得する際に使用。

* 料金  
  * 前金の支払いは不要。従量課金制。
  * 最初の25ホストゾーン※ / 月   ・・・ 0.50USD(約57円)
  * 最初の10億クエリ※ / 月       ・・・ 0.40USD(約45円)
  * 基本的なヘルスチェック※ / 月 ・・・ 0.50USD(約57円)  
  ※ホストゾーン：ドメインおよびサブドメイン※のトラフィック※の  
　　　　　　　　ルーティング方法を保持するコンテナ※。  
  　※サブドメイン：ドメインを用途に応じて複数に分割するときに使用。  
  　※トラフィック：一定時間内にネットワーク上で転送されるデータ量。  
  　※コンテナ：稼働中のOSの一部を分離して他と隔離された  
 　　　　　　　専用のエリアを用意し、その上でソフトウェアを  
　　　　　　　動作させる方式をコンテナ型仮想化という。  
　　　　　　　隔離された領域のことをコンテナという。  
※クエリ：情報の検索や抽出を行うために、含まれるキーワードや  
　　　　　フレーズ、探索対象や範囲、対象期間などを組み合わせて  
　　　　　検索条件を書き記した文字列を指す。  
※ヘルスチェック：ロードバランサ※の機能の一つ。  
　　　　　　　　　サーバを状態監視し、異常を検知したサーバを  
　　　　　　　　　自動的に切り離す機能のことを意味する場合が多い。  
  　※ロードバランサ：外部とシステム群の中間に設置され、  
　　　　　　　　　　外部からの要求を何らかのルールに基づいて  
　　　　　　　　　　各システムに振り分け、並行に処理させる。

## ELB(Elastic Load Balancing)

アプリケーションへの負荷やCPUの稼働状況をリアルタイムにモニタリングできるロードバランサ。

* 無料利用枠：750時間 / 月
* 有料プラン：以下のどのロードバランサを選択するかによる。0.0225USD(約3円)～
* 2022年1月現在、ALB、NLB、GLBの3種類がある。
  * ALB(Application Load Balancer)：WEBアプリケーション用としては最も利用されている。
  * NLB(Network Load Balancer)：大規模サービス用。高負荷が予想される場合に利用。
  * GLB(Gateway Load Balancer)：ファイアウォールなどの、サードパーティ※の仮想アプライアンス※をクラウドに展開、拡張、管理。  
    ※製品やソフトウェアなどを販売・提供するメーカーのこと。  
    ※仮想化技術を用いて、特定用途のアプリケーションソフトが稼働する環境を即座に構成できるようにしたもの。仮想マシンのイメージファイル※などとして提供される。  
      　※ストレージ（外部記憶装置）に保管されているデータを、物理的に先頭から末尾まで丸ごと写し取って一つのファイルに記録したもの。



# 権限＆セキュリティ管理機能

## WAF & Shield

Webサイトのアプリケーションレベルでのセキュリティ対応を設定するサービス。
WAF機能※によって、Webサイトにアクセスするリクエストを制御したり、
DDos攻撃の影響を小さくしたりすることが可能。
※WAF(Web Application Firewall)：「Webアプリケーションの脆弱性を悪用した攻撃」からWebサイトを保護するセキュリティ対策。
AWS内で複数のサービスやアカウント、リソースを運用している場合でも、
全てのサービスを共通して管理することが可能。

* 料金(WAF)  
  * 前金の支払いは不要。従量課金制。
  * Web ACL※ / 月                    ・・・ 5.00USD(約569円)
  * ルール / 月                       ・・・ 1.00USD(約114円)
  * リクエスト(100万リクエストあたり) ・・・ 0.60USD(約68円)  
  ※ACL(Access Control List)：システムやファイル、ネットワーク上の  
　　　　　　　　　　　　　リソースなどへのアクセス可否の設定リスト。

* 料金(Shield)  
  * AWS Shield Standard：無料。
  * AWS Shield Advanced：有料。AWS Shield Standardよりも保護強化。

## Certificate Manager

SSL/TLS証明書※の発行と管理を行います。
通信の暗号化がスタンダードとなっている現在のWebサイト運用では、ほとんどのWebサイトが必要とする機能。
SSL/TLS証明書についてはAWS上で発行することも、AWS以外で発行された証明書をインポートすることも可能。
※SSL(Secure Socket Layer)：データのやり取りを暗号化する技術。
※TLS(Transport Layer Security)：SSL のセキュリティを強化した技術。
※SSL/TLS証明書：サイトの身元を明示するためのもの。

* 料金  
  * Certificate Manager                         ：無料。
  * Certificate Manager プライベート認証機関(CA)：有料。30日間の無料トライアルサービスあり。

# システム管理機能

## CloudWatch

WebサイトなどAWS上で実行されるアプリケーションの状況を監視するサービス。
一定時間以上サイトにアクセスできなかったりトラフィックが集中した際に、
アラートを通知するように設定することが可能。
Webサイト運用時に安定してサービスが提供できているかを監視したり、
システムトラブル時を検知して原因分析と対策を行うために使用。

* 料金  
  * 無料利用枠：無料で自動的にメトリクス※をCloudWatchに送信。
  * 有料プラン：前金の支払いは不要。従量課金制。インスタンス数、メトリクス数※によってまちまち。  
            ※メトリクス：リソースやアプリケーションに関して測定できる変数。

## AWS Lambda(ラムダ)

EC2などの自前のサーバーを用いずに、サーバー管理に関わる様々な機能を動かすことが可能。
サーバーレスアーキテクチャ※と呼ばれるサービス。
※サーバーレスアーキテクチャ：常時稼働するサーバー（仮想マシン）を極力使わずにシステムを構築する設計、仕様、思想。
AWSのシステムを使ってEC2などのサーバーを監視して、
システムダウン時に再起動を行うといった機能を自動化することが可能。
予めWebサイトの運用ポリシーをLambdaで設定しておけば、
運用管理にかかる手間やコストを下げることが可能。

* 料金  
  * 無料利用枠：1か月あたり100万件の無料リクエストと、1か月あたり40万GB-sのコンピューティングタイムあり。
  * 有料プラン：割り当てるメモリ量によってまちまち。

## AWS Auto Scaling

Webサイトアプリケーションの使用状況に基づいて、EC2で起動するインスタンスを自動的に起動したり終了したり、
料金プランを変更することが可能。

* 料金  
追加料金なし。

## CloudTrail

AWS上のアプリケーションやユーザーによって実行されたアクションのログを管理。
Webサイト運用中のインシデント発生時の原因分析や、運用負荷の管理に利用。

* 料金  
  * 無料利用枠：アカウントの管理イベントの直近90日間の履歴を無料で表示、検索、ダウンロード可能。
  * 有料プラン：前金の支払いは不要。従量課金制。100,000管理イベントあたり2.00USD(約228円)。100,000データイベントあたり0.10USD(約11円)。

## AWS Cost Explorer

AWSのコストと利用状況を確認、管理することが可能。
従量課金が基本のAWSで、システムの利用状況や設定に基づいて将来のコスト予想を立て、
最適なコストプランをたてることが可能。

* 料金  
コストと使用状況を表示は無料。
ページ分割されたAPIリクエストごとに0.01USD(約1円)の料金が発生。