search
LoginSignup
1

More than 1 year has passed since last update.

posted at

updated at

AWS認定クラウドプラクティショナー資格】⑧管理サービス

はじめに

今回は、AWSの「管理サービス」の概要について勉強した内容を紹介します。

CloudWatch」「Trusted Advisor」「その他」に絞って、その特徴をまとめていきます。

参考書籍

『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』
本記事は、本書の第9章に相当

項目

  1. CloudWatch
  2. Trusted Advisor
  3. その他

1. CloudWatch

Amazon CloudWatch は、DevOpsエンジニア、デベロッパー、サイト信頼性エンジニア (SRE)、IT マネージャー、および製品所有者のために構築されたモニタリング/オブザーバビリティサービスです。
CloudWatchは、アプリケーションをモニタリングし、システム全体におけるパフォーマンスの変化に対応して、リソース使用率の最適化を行うためのデータと実用的なインサイトを提供します。
CloudWatchは、モニタリングおよびオペレーショナルデータをログ、メトリクス、イベントの形式で収集します。
運用状態の統一されたビューを取得し、AWSおよびオンプレミスで実行されているAWSリソース、アプリケーション、およびサービスを完全に視覚化します。
CloudWatchを使用すると、環境内における異常動作の検知、アラームの設定、ログとメトリクスが対応するように並べた視覚化、自動化されたアクションの実行、問題のトラブルシューティング、およびアプリケーションのスムーズな動作を維持するためのインサイトを検出できます。
AWSマネジメントコンソール「製品の特徴」 より

(1)概要

CloudWatchとは、AWSで稼働している各サービスを監視するモニタリングサービスです。

CloudWatchを使用することでまとめて監視することが一つのプラットフォームでできるようになります。

EC2、RDS、DynamoDBなどの各インスタンスの状態や情報をモニタリングします。

標準メトリクス(監視項目)という、AWSが管理している範囲の情報を収集しています。

AWS内に立てた仮想サーバーのCPU使用率、Diskの読み書き回数、インターフェースの通信量など、監視項目として代表的なものはすでに用意されており、すぐにモニタリングを始めることができます。

EC2インスタンスを起動しただけで、5分おきにCPU使用率のようなメトリクスデータの収集が始まるのです。

追加での設定やインストールなどの作業は必要ありません。自動的に情報収集が始まります。

(2)標準メトリクスの収集・可視化

AWSが知りうる限りの情報は、標準メトリクスとして収集しています。

ユーザーの管理下にあるOS以上のものについては、収集されません。

標準メトリクスで収集された情報は、マネジメントコンソールのメトリクス画面やダッシュボードで可視化できます。

wacth.png

(3)カスタムメトリクスの収集・可視化

CloudWatchのPutMetricDataAPIを使用して、CloudWatchへカスタムメトリクスとして書き込むことができます。

例えば、EC2のメモリやアプリケーションなどのユーザーのコントロール下にあるOS以上の範囲など、標準メトリクスでは収集されない情報を可視化したい時に利用します。

CloudWatchhwメトリクスを書き込むプログラムは、CloudWatchエージェントとして提供されています。

EC2にインストールするだけで使用可能です。

CloudWatchエージェントで対応してない任意の数値データも、プログラムを実装すれば、CloudWatchメトリクスへ書き込むことができます。

(4)ログの収集

メトリクスだけでなく、すべてのシステムのログ収集、分析を行えるサービスもあります。それが、CloudWatch Logsです。

CloudWatch Logsでは、EC2のアプリケーションのログや、Lambdaのログ、VPC Flow Logsなどを収集することができます。

EC2では、CloudWatchエージェントをインストールして少し設定すると、CloudWatch Logsへ書き出せます。

OSに加えて、アプリケーションのログも対応しているので、キーワードでアラート通知させることもできます。

CloudWatch Logsに書き出しておけば、以上なインスタンスや不要になったインスタンスをその時点でAuto Scallingで終了させることができ、あとで書き出したログを使って調査・分析することもできます。

(5)アラーム

CloudWatchでは、各サービスから収集したメトリクスに対してアラームを設定することができます。

メトリクスが特定の閾値を超えた場合、下回った場合、監視ができなくなった場合など、状況に合わせてアラームを発行することができます。

アラームは、AWSのSNS(Simple Notification Service)と連携され、さまざまな方法で通知されます。

メールでの通知はもちろんのこと、例えば他のAWSサービスと連携してチャットツールへ直接通知が可能です。

例えば、EC2のCPU使用率が90%を超えたときにアラートメールを通知する、といった用途で利用します。

(6)CloudWatch Events

CloudWatch Eventsは、APIのイベントをトリガーにして設定済みの処理を実行させるというサービスです。

メトリクスの状態が変化した時に、任意のアクションを実行するように設定できます。状態の変化以外にも、決められたイベントを時間指定で実行することも可能です。

Windows系でいうところのタスクスケジューラー、Linux系でいうところのCronといったものですね。
※もちろん、厳密には違います。

(7)保存期間について

メトリクス

取得したメトリクスのデータは、時間が経つとともに集約され、保持されるデータの粒度が粗くなります。

・60秒未満のデータポイントは、3時間
・1分のデータポイントは、15日間
・5分のデータポイントは、63日間
・1時間のデータポイントは、455日間

これ以上の期間にわたってデータ分析などに使用する場合は、S3などに保存します。

CloudWatch Logs

任意の保存期間を設定できます。消去しないことも可能です。

2. Trusted Advisor

AWS Trusted Advisorsは、お客様が AWSのベストプラクティスをフォローするためのアドバイスを提供いたします。
Trusted Advisor は、チェックを使ってお客様のアカウントを評価します。
これらのチェックは、お客様のAWS インフラストラクチャを最適化し、セキュリティとパフォーマンスを向上し、コストを削減し、サービスをモニタリングします。
そして、チェックのアドバイスに従って、サービスやリソースを最適化することができます。
AWSマネジメントコンソール「製品の特徴」 より

(1)概要

Trusted Advisorは、 AWSアカウント環境の状態を自動的にチェックして周り、AWS側であらかじめ用意されているベストプラクティスに基づき、アドバイスしてくれます。

推奨ベストプラクティスについて、以下の5つのカテゴリに分けてレポートされます。

・コストの最適化
・パフォーマンス
・セキュリティ
・耐障害性
・サービスの制限

(2)コストの最適化

「ここを見直せばコストが最適ができますよ」という視点でチェックしたアドバイスがレポートされます。

どれくらいの月額コストが下がるのか、といった金額計算もしてくれます。

使ってないインスタンスや過剰なインスタンスのチェック、使用率の低いAWSサービスについてチェックします。

また、必要に応じで、リザーブドインスタンスを購入した方がいいのかどうかのレポートも作成してくれます。

購入済みのリザーブドインスタンスについても、有効期限が切れる30日前からアラート対象となります。

(3)パフォーマンス

使用率の高いEC2インスタンスをチェックします。

EC2に実装している処理に対して、リソースが不足している可能性があります。

処理が最も早く完了するインスタンスタイプに変更することが推奨されます。

また、セキュリティグループのルールもチェックします。

あまりにもルールが多いと、ネットワークトラフィックが制御されることになります。

50以上のルールがあると、パフォーマンスの低下につながる可能性があります。

このアラートが発生した場合は、ルールの効率化を検討する必要があります。

他にも、キャッシュについてもチェックします。

CloudFrontにキャッシュを持つことで、S3から直接配信するよりもパフォーマンスが向上します。

そういったアドバイスもしてくれます。

(4)セキュリティ

・S3バケットのアクセス許可

誰でもアクセスできるS3バケットがないかをチェックします。

バケットは公開設定をせずに、オブジェクト単位で公開設定することもできます.

・セキュリティグループの開かれたポート

リスクの高い特定のポートが、送信無制限でアクセス許可されているセキュリティグループをピックアップします。

悪意のある攻撃を受けやすいものが明らかになります。

・パブリックなスナップショット

EBSやRDSのスナップショットは他の特定のアカウントに共有することもできますし、アカウントを特定せずに公開共有することもできます。

これが意図しない設定になっている可能性もあるので、そういったことをチェックしてくれます。

・ルートアカウントのMFA、IAMの使用

IAMユーザーがいないアカウントということは、ルートアカウントを使用しているということです。

この項目チェックに引っかかった場合、セキュリティ上危険なので、改めて設定をする必要があります。

(5)耐障害性

対象外性が低い状態がないかどうかチェックします。

・EBSのスナップショットEBSスナップショットが作成されていない、または、最後に作成されてから時間が経過したことがチェックされます。

・EC2、ELBの最適化

複数のAZでバランス良く配置されているかチェックします。

・RDSのマルチAZ

マルチAZになっていないデータベースインスタンスがチェックされます。

(6)サービスの制限

AWSアカウントを作った最初の時点で、いくつかのサービス制限があります。

これは、ソフトリミットと呼ばれるもので、「誤った捜査による意図しない請求を回避する」「不正アクセスによる意図しない請求を回する」といった理由から設定されています。

3. その他

(1)CloudTrail

AWSアカウント内全てのAPI呼び出しを記録します。

つまり、AWSアカウント内における全ての操作を記録するということです。

似たサービスとして、AWS Configがあります。

こちらは、AWSリソースの変更を自動記録し、運用効率と整合性を高めます。

(2)CloudFormation

AWSを含めた環境を自動作成・更新・管理してくれます。

自動的なプロビジョニングをコードを用いて行えます。

AWS CodeCommitなどのリポジトリでバージョン管理できます。

(3)Elastic Beanstalk

Webアプリケーションの環境を簡単にAWSに構築できます。

設定パラメータを提供することで、ApacheやNginx、IIS、各言語の実行環境も合わせて簡単に構築できます。

参考サイト

Amazon CloudWatch
AWS とオンプレミスにおける AWS のリソースとアプリケーションのオブザーバビリティ

CloudWatchとは
【入門編】Amazon CloudWatchでできることとは? OSS監視ツールとも比較
AWS CloudWatchとは?ITサービスの運用を自動化する
【運用管理】 AWSの監視ツール「CloudWatch」で何ができるの?
AWSユーザーガイド
AWS Trusted Advisor
AWS Trusted Advisor を使ってみた

参考書籍

※ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』

Amazonはこちら

楽天はこちら

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1