1
/
5

たいがーのインターンシップ体験記【26日目】 ~80番ポートと22番ポートと仲良くなりたい~

少し風邪気味なたいがーです。おそらく寝不足で風邪をひきました。のどの右側が腫れている気がします。今日はよく寝たいと思います。

今日はCloud Automatorのリニューアルに伴い、新サイトに載せるマニュアル内容の検証をしていきました。旧サイトからの引っ越しを兼ねて、もう一度検証し直していきます。

今回はCloud WatchでElastic Load Barancing(以下:ELB)のレイテンシー(通信遅延)を監視し、レイテンシーが1秒を超える状態が5分以上続いたら、自動でスケールアップを行う仕組みのマニュアルを作成していきます。最初、何を行っているのかほぼ意味が分かりませんでした。

意味や使い方を調べるところから

初めて使うものばかりだったので、手順に沿って作成できるCloud Automatorでのジョブ作成などを先に行い、その後、言葉の意味や使い方を調べていきました。

Amazon CloudWatchとは?

Amazon CloudWatch は、開発者、システムオペレーター、IT マネージャーなどのために構築されたモニタリング、管理ツールです。モニタリングデータと運用データをAWS リソース、アプリケーション、およびサービスを使用することが出来ます。

ELBとは?

まず、ロードバランサとはシステムに対するリクエストを複数のサーバに分散させ、処理のバランスを調整するための仕組みです。

Elastic Load Balancing は、変動するアプリケーショントラフィックの負荷を、1 つのアベイラビリティーゾーンまたは複数のアベイラビリティーゾーンで処理できます。Application Load Balancer、Network Load Balancer、Classic Load Balancerの三種類が用意されていますが、今回はClassic Load Balancerを使っていきます。

スケールアップ、スケールアウトの違い

"スケールアップ"はサーバーそのもののスペックを向上させること、"スケールアウト"は台数を増やすことだそうです。

つまり、今回作るのは、1秒以上通信が遅延している状態が5分以上続いたとき、Cloud Automatorを使ってサーバーのスペックを向上させる仕組みを作る際のマニュアルを作成する、ということがわかりました。

スケールアップする際の方法はこのような形です。

  1. レイテンシーが1秒を超える状態が5分続いたらCloudWatch Alarm / SNS 経由で Cloud Automator のジョブを起動
  2. ELBからインスタンスを登録解除、停止させ、インスタンスタイプを変更し、再び起動した後、ELBに登録する。

ELBを経由して接続ができない?

検証用にEC2インスタンスを2個作成し、ELBの設定で接続できたと思ったのですが、各インスタンスのステータスを見てみるとOutOfServiceになっていました。

「Webサーバにつないだよね?」と社員さんから言われ、「え…?何の話ですか…?」となってしまいました。そもそも、ELBを経由する前にWebサーバにつないでいなかったのです。気を取り直して繋いでいきます。

Terra Termを久しぶりに起動。接続できない?

以前、ほかのことで検証する際、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番ポートと80番ポート

22番がSSH、80番がHTTPプロトコルです。何度かどちらかをセキュリティグループに入れ忘れ、動かず戸惑ってしまいましたが、動揺せず落ち着いて対応できるようになりたいです。

次はいよいよCloud Automatorでの自動化も含めての作業なので、きっちり進めていきたいです。

株式会社サーバーワークスでは一緒に働く仲間を募集しています
1 いいね!
1 いいね!
同じタグの記事
今週のランキング
株式会社サーバーワークスからお誘い
この話題に共感したら、メンバーと話してみませんか?