【Cloud Automator Advent Calendar 2017】構成レビュー機能でAWS環境を点検する

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術4課の多田です。

この記事は、Cloud Automator Advent Calendar 2017の21日目の記事です。
今回は、Cloud Automatorの構成レビュー機能について書きます。

CloudAutomatorの構成レビュー機能

CloudAutomatorの構成レビュー機能とは、お客様のAWSアカウントにて利用されているEC2やRDSなどのAWSリソースが決められたルールに従って運用されているかをチェックし、お客様に通知を出してお知らせします。
図解化すると、以下のようなイメージになります。

AWSの運用を行っていく過程で扱うAWSリソースの数も拡大し、自分の目が届かないところで意図しない設定がされている!なんてことがあるかもしれません。
そんな事態を防ぐためにも定期的にAWSリソースの状態が適正かを自動でチェックする構成レビュー機能が有用です。

どんなチェックができるか

構成レビュー機能は予め用意されたルールにそってAWSリソースのチェックを行います。
現在提供されているチェック項目は次の通りです。

  • タグで指定されたディストリビューションのSSLサーバー証明書にCertificate Managerが使われていること
  • タグで指定されたElastiCacheクラスター(Redis)がMulti Availability Zoneで構成されており、フェイルオーバーが有効となっていること
  • セキュリティグループのインバウンドルールに 0.0.0.0/0 を指定した TCP 3389番(RDP)の許可ルールが存在しないこと
  • 全てのEBSボリュームに指定されたタグキーが付与されていること
  • タグで指定されたELBがタグで指定されたVPCで起動されていること
  • DBインスタンスはAutomated Backupsが有効になっていること
  • タグで指定されたEC2インスタンスがタグで指定されたVPCで起動されていること
  • タグで指定されたELBがMulti Availability Zoneで構成されており、EC2インスタンスが均等に割り当てられていること
  • すべてのIAMユーザーはいずれかのIAMグループに所属していること
  • 仮想デバイスを使ってルートアカウントに多要素認証が有効化されていること
  • 全てのS3バケットは指定されたキーのタグが付与されていること
  • タグで指定されたEC2インスタンスにssm-agentがインストールされていること
  • 請求レポートの出力先として指定されたS3バケットが一年後にオブジェクトを削除されるようにライフサイクルイベントが設定されていること
  • すべてのIAMグループはIAM Policyが一つ以上割り当たっていること
  • タグで指定されたWindows ServerのEC2インスタンスにEC2Configがインストールされていること
  • タグで指定したセキュリティグループのインバウンドルールには、指定されたメンテナンス拠点のIPアドレスを指定したTCP 3306番(MySQL)の許可ルールが存在すること
  • Trusted Advisorによるチェックのステータスが全て「OK」となっていること
  • タグで指定されたElastiCacheクラスターがタグで指定されたVPCで起動されていること
  • IAMユーザーが1つ以上作成されていること
  • タグで指定されたEC2インスタンスが複数のアベイラビリティゾーンで稼働されていること
  • タグで指定したVPCのVPC Flow Logsが有効化されログの保存先としてCloudWatch Logsのロググループが指定されていること
  • タグで指定されたElastiCacheクラスター(Memcached)がMulti Availability Zoneで構成されていること
  • ELBにはAWSで定義された最新のSSLポリシーが設定されていること
  • タグで指定されたDBインスタンスがタグで指定されたVPCで起動されていること
  • すべてのIAMユーザーは個別にIAM Policyが設定されていないこと
  • CloudTrailのログ保存先として指定されたCloudWatch Logsのロググループに設定された保存期間が30日になっていること
  • タグで指定されたDBインスタンスはMulti Availability Zoneオプションが有効になっていること
  • ELBのログ出力先として指定されたS3バケットが一年後にオブジェクトを削除されるようにライフサイクルイベントが設定されていること
  • タグで指定されたELBのSSLサーバー証明書にCertificate Managerが使われていること
  • ELBのログ出力が有効化されており、設定されたS3バケットにログが出力されていること
  • タグで指定したセキュリティグループのインバウンドルールには、指定されたメンテナンス拠点のIPアドレスを指定したTCP 1121番(Memcached)- の許可ルールが存在すること
  • タグで指定したセキュリティグループのインバウンドルールには、指定されたメンテナンス拠点のIPアドレスを指定したTCP 22番(SSH)の許可ルールが存在すること
  • 全てのVPN接続は指定されたキーのタグが付与されていること
  • CloudTrailが有効化され、ログの保存先としてS3バケットが指定されていること
  • IAMグループが1つ以上作成されていること
  • 請求レポートの出力先としてS3バケットが設定されていること
  • CloudTrailが有効化され、ログの保存先としてCloudWatch Logsのロググループが指定されていること
  • タグで指定したセキュリティグループのインバウンドルールには、指定されたメンテナンス拠点のIPアドレスを指定したTCP 6379番(Redis)の許可ルールが存在すること
  • 全てのEC2インスタンスは指定されたキーのタグが付与されていること
  • タグで指定されたEC2インスタンスに指定されたIAMロールが割り当たっていること
  • セキュリティグループのインバウンドルールに 0.0.0.0/0 を指定した TCP 22番(SSH)の許可ルールが存在しないこと
  • 指定した管理者グループ以外のIAMグループはIAMの操作権限が付与されていないこと
  • CloudWatchの請求アラートが有効化されていること
  • CloudTrailのログ保存先として指定されたS3バケットが一年後にオブジェクトを削除されるようにライフサイクルイベントが設定されていること
  • 全てのDBインスタンスは指定されたキーのタグが付与されていること
  • 指定したユーザーだけが、指定した管理者グループに所属していること
  • タグで指定したセキュリティグループのインバウンドルールには、指定されたメンテナンス拠点のIPアドレスを指定したTCP 3389番(RDP)の許可ルールが存在すること

ご覧のようにたくさんのルールが提供されていますので、気になるものがあれば利用をご検討ください!!

構成レビュー機能をつかってみる

構成レビュー機能を利用するためには、AWS ConfigのConfig Rulesを使っているため、AWS Configの初期セットアップが必要になります。
詳細はこちらをご確認ください。

AWS Configの設定が済んでいる前提でCloud Automator側の設定について紹介します。

まずは、アカウント管理画面より「ポリシーセットの作成」をクリックすると、ポリシーセットのテンプレート画面が表示されます。
次に、「サーバーワークスおすすめポリシーセット」を選択します。

すると、有効化できるポリシー一覧が表示されます。
デフォルトではすべて有効化されておりますので、適宜必要なものを選択します。
今回は、セキュリティグループのインバウンドルールに「0.0.0.0/0」、つまりどこからでもSSHできるようなルールが存在しないかをチェックするポリシーを有効化します。

問題なければ、AWSアカウント、リージョン、ポリシーセット名を入力し、「ポリシーセットを作成する」をクリックします。

ポリシーが問題なく作成されたことを確認しました。
簡単に構成レビューのポリシーを作成できました。これで定期的なAWSリソースのチェックが可能になります。

一方、AWSアカウントではどのような変化が起こっているのかというと、AWS Configのページで確認できます。
作成したポリシーに沿った、Config Rulesが作成されています。
詳細を確認しますと、現時点のルールにあっていないセキュリティグループの一覧を確認できます。
このような形でチェックしてくれるので、すべてのAWSリソースを確認する手間が省けて便利です。

 

まとめ

今回は、Cloud Automatorの構成レビュー機能のご紹介でした。
AWSの利用拡大が増えていく過程で扱うAWSリソースも増えていくかと思います。
そんな時に構成レビュー機能を使って、改めてAWS環境の見直しにご活用を検討ください。
なお、今後の機能開発のロードマップも公開されております。こんな機能があればいいのに!といった要望はサポートページにご連絡いただけますと幸いです。
また、Cloud Automatorを利用してみたい!という方は、こちらよりトライアルのサインアップをお願いします!

それでは!

AWS運用自動化サービス「Cloud Automator」