AWSの管理サービス

出展：[AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC-%E5%B1%B1%E4%B8%8B-%E5%85%89%E6%B4%8B/dp/4797397403/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3ERB303UT76DT&keywords=aws%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC&qid=1578744077&sprefix=AWS%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%2Caps%2C266&sr=8-1)

#Cloud Watch
・***標準メトリクス***というAWSが管理している範囲の情報をユーザの追加設定なしで自動的に収集され始める

##CloudWatchの特徴

###標準（組み込み）メトリクスの収集、可視化
・AWSがコントロールできる範囲（たとえばEC2ではハイパーバイザーまで）の、AWSが提供している範囲で知り得る情報を***標準メトリクス***として収集する
・ユーザのコントロール範囲のOS以上の情報については、AWSが勝手にモニタリングすることはない
・標準メトリクスとして収集された値は、マネージメントコンソールのメトリクス画面やダッシュボーでで可視化できる

###カスタムメトリクスの収集、可視化
・ユーザがコントロールしている範囲についてはCloudWatchの***PutMetricData***APIを使用してCloudatchへ***カスタムメトリクス***として書き込むことができる
・CloudWatchへメトリクスを書き込むプログラムは***CloudWatchエージェント***として提供されているので、EC2へインストールするだけで使用できる

###ログの収集
・***CloudWatch Logs***はログを収集する機能
・EC2のアプリケーションのログや、Lambdaのログ、VPS Flow Logsなどを収集することができる
・CloudWatchエージェントをインストールし設定することでCloudWatch Logsへ書き出せる
・ログの情報をEC2の外部に保管することで、EC2をよりステートレス（情報や状態を持たない構成）にできる
・CloudWatch Logsは文字列のフィルタリング結果をメトリクスとして扱える

###アラーム
・CloudWatchでは、各サービスから収集したメトリクス値に対してアラームを設定することができる
・アラームに対してのアクション
　・***EC2回復***：
　　・EC2のホストに障害が発生したときに自動で回復する
　・***Auto Scalingの実行***：
　　・Auto Scalingポリシーでは、CloudWatchのアラームに基づいて、スケールイン/スケールアウトのアクションを実行する
　・***SNSへの通知***：
　　・***SNS***（Amazon Simple Notification Service）へ通知することでそのメッセージをEメールで送信したり、Lamdbaへ渡すなどができる
　　・Eメールで送信することで、監視の仕組みを簡単に構築できる
　　・Lambdaにメッセージを渡して実行することで、アラームの次の処理を自動化することができる

###保存期間について
・***メトリクス***：
　・60秒未満のデータポイント（高分解能力カスタムメトリクス）は3時間
　・1分（詳細モニタリング）のデータポイントは15日間
　・5分（標準）のデータポイントは63日間
　・1時間のデータポイントは455日間
　・この期間を超えたメトリクスは消去される
　・これ以上の期間にわたってデータ分析などに使用する場合はS3に保存する
・***CloudWatch Logs***
　・任意の保存期間を設定できる
　・消去しないことも可能

#Trusted Advisor
・ユーザのAWSアカウント環境の状態を自動的にチェックして回り、ベストプラクティスに対してどうであったかを示すアドバイスをレポートする

##コスト最適化
###使用率の低いEC2インスタンス
・無駄なコストが発生していないかがチェックされる
・使っていないものは終了する、過剰なインスタンスは適切なサイズに変更するなどの対策でコストを最適化する
　例）・使っていないのに起動中のインスタンス
　　　・検証やテストで使って終了を忘れているインスタンス
　　　・過剰に高いスペックのインスタンス

###リザーブドインスタンスの最適化
・リザーブドインスタンスを購入したほうがコスト最適化につながるかどうかをレポートする
・購入済みのリザーブドインスタンスについて、有効期限が切れる30日前からアラートの対象になる

###パフォーマンス
・最適なサービス、サイズが選択されているかがチェックされる
・主な項目
　・***使用率の高いEC2インスタンス***：
　　・EC2に実装している処理に対してリソースが不足していないか
　　・対象の処理が最も早く完了するインスタンスタイプに変更することが推奨される
　・***セキュリティグループルールの増大***：
　　・セキュリティグループのルールが多いとそれだけネットワークトラフィックが制御されることになる
　　・このアラートをきっかけに、ルールをまとめることができないか、対象のインスタンスにそれだけのポートを必要とする機能を多くインストールしていないか、インスタンスを分けることはできないかを検討する
　・***コンテンツ配信の最適化***
　　・CloudFrontにキャッシュをン持つことで、S3から直接配信するよりもパフォーマンスが向上する
　　・キャッシュがどれだけ使われているかを示すヒット率についてもチェックされる

###セキュリティ
・環境にリスクのある設定がないかチェックされる
・主な項目
　・***S3バケットのアクセス許可***：
　　・誰でもアクセスできるS3バケットがないかチェックする
　・***セキュリティグループの開かれたポート***：
　　・リスクの高い特定のポートが、送信元無制限でアクセス許可されているセキュリティグループをピックアップする
　・***パブリックなスナップショット***：
　　・EBSやRDSのスナップショットが意図せず誤って公開設定されていないか
　・ルートアカウントのMFA、IAMの使用
　　・運用するための最低権限を設定したIAMユーザを作成して、ルートアカウントにもIAMユーザにもMFA（多要素認証）を設定する
###フォールトトレランス（耐障害性）
・低い耐障害性がないかチェックする
・主な項目
　・***EBSのスナップショット***：
　　・EBSのスナップショットが作成されていない、または最後に作成されてから時間が経過したことがチェックされる
　・***EC2、ELBの最適化***：
　　・複数のアベイラビリティゾーンでバランスよく配置されているかがチェックされる
　　・ELBではクロスゾーン負荷分散やConnecting Draining（セッション完了を待ってから切り離す機能）が無効になっているロードバランサーがないかもチェックされる
　・***RDBのマルチAZ***：
　　・マルチAZになっていないデータベースインスタンスがチェックされる

##サービス制限
・意図しない操作や不正アクセスによってユーザに不利益が生じないよう、サービス制限がある（***ソフトリミット***）
・サービス制限では、制限に近づいたサービスにアラートが報告される

#その他の管理ツール
##AWS Cloud Trail
・AWSアカウント内のすべてのAPI呼び出しを記録する（AWSアカウント内におけるすべての操作を記録する）

##AWS COnfig
・AWSリソースの変更を記録する

##AWS CloudFormation
・AWSの各リソースを含めた環境を自動作成/更新/管理する
・同一のAWS環境を何度でも構築することができる

##Elastic Beanstalk
・Webアプリケーションの環境をAWSに構築する