トップページ| AWS運用自動化サービス Cloud Automator
AWS(Amazon Web Services)に特化したクラウドインテグレーターであるサーバーワークス(serverworks)が提供するサービス「Cloud Automator」は、AWSの運用を自動化する画期的なサービスです。バックアップ、インスタンスの起動/停止など、AWSの運用に欠かせない様々なオペレーションを自動化します。
https://cloudautomator.com/
少し風邪気味なたいがーです。おそらく寝不足で風邪をひきました。のどの右側が腫れている気がします。今日はよく寝たいと思います。
今日はCloud Automatorのリニューアルに伴い、新サイトに載せるマニュアル内容の検証をしていきました。旧サイトからの引っ越しを兼ねて、もう一度検証し直していきます。
今回はCloud WatchでElastic Load Barancing(以下:ELB)のレイテンシー(通信遅延)を監視し、レイテンシーが1秒を超える状態が5分以上続いたら、自動でスケールアップを行う仕組みのマニュアルを作成していきます。最初、何を行っているのかほぼ意味が分かりませんでした。
初めて使うものばかりだったので、手順に沿って作成できるCloud Automatorでのジョブ作成などを先に行い、その後、言葉の意味や使い方を調べていきました。
Amazon CloudWatch は、開発者、システムオペレーター、IT マネージャーなどのために構築されたモニタリング、管理ツールです。モニタリングデータと運用データをAWS リソース、アプリケーション、およびサービスを使用することが出来ます。
まず、ロードバランサとはシステムに対するリクエストを複数のサーバに分散させ、処理のバランスを調整するための仕組みです。
Elastic Load Balancing は、変動するアプリケーショントラフィックの負荷を、1 つのアベイラビリティーゾーンまたは複数のアベイラビリティーゾーンで処理できます。Application Load Balancer、Network Load Balancer、Classic Load Balancerの三種類が用意されていますが、今回はClassic Load Balancerを使っていきます。
"スケールアップ"はサーバーそのもののスペックを向上させること、"スケールアウト"は台数を増やすことだそうです。
つまり、今回作るのは、1秒以上通信が遅延している状態が5分以上続いたとき、Cloud Automatorを使ってサーバーのスペックを向上させる仕組みを作る際のマニュアルを作成する、ということがわかりました。
スケールアップする際の方法はこのような形です。
検証用にEC2インスタンスを2個作成し、ELBの設定で接続できたと思ったのですが、各インスタンスのステータスを見てみるとOutOfServiceになっていました。
「Webサーバにつないだよね?」と社員さんから言われ、「え…?何の話ですか…?」となってしまいました。そもそも、ELBを経由する前にWebサーバにつないでいなかったのです。気を取り直して繋いでいきます。
以前、ほかのことで検証する際、Linuxを使用したときにTerra Termをインストールしたので、今回もそちらを使用していきます。
一度プライベートIPで開こうとしたり、22番ポートを開けるのを忘れていたりもしましたが、IPv4 パブリック IPで開きます。22番ポートも開きました。
apacheをインストールしていきます。
$ sudo yum install httpd
動かないと焦りましたが、再起動を忘れていたためだったため、サクッと解決しました。
もう一度ELBを確認してみます。しかし、インスタンスはOutOfServiceでした。
「セキュリティグループってどうなってる?」と聞かれ、うまく答えられませんでした。サーバに関する話とAWSに関する話が混じってしまっていたのです。セキュリティグループを使って、インバウンド、アウトバウンドの設定をしていきます。
本来の設定では、インバウンドがすべて拒否、アウトバウンドがすべて許可となっています。今回はEC2のセキュリティグループのインバウンド設定でELBのIPのみを許可、ELBはオフィスのIPアドレスのHTTPタイプのみを許可したらいいと教えていただきました。ELBのIPアドレスは難しいかもしれないけど頑張って探してみてとおっしゃっていただきましたが、自分で探し出すことが出来ませんでした。
ELBはアベイラビリティゾーンを何個かまたいでいるため、EC2インスタンスのセキュリティグループは対応するアベイラビリティゾーンすべてのアクセスを許可しなければなりませんでした。
さて、すべての設定が終わり、もう一度ELBのインスタンスのステータスを確認してみるとInServiceに変わっていました!無事、ELB経由でEC2に接続することが出来ていました!
22番がSSH、80番がHTTPプロトコルです。何度かどちらかをセキュリティグループに入れ忘れ、動かず戸惑ってしまいましたが、動揺せず落ち着いて対応できるようになりたいです。
次はいよいよCloud Automatorでの自動化も含めての作業なので、きっちり進めていきたいです。