awsでnatゲートウェイを監視するならcloudwatchが最適な理由

クラウドコンピューティングが普及する昨今、数あるクラウドコンピューティングサービスの中でも圧倒的なシェアを誇るのがaws(Amazon Web Service)です。awsのシステム構成は、従来のオンプレミス型とは大きく異なります。

そのため、システム監視ツールも既存のものではマッチしない場合があります。

そこで、今回はawsで提供されている監視サービス「Amazon cloudwatch」を利用して、特にnatゲートウェイを監視するための方法について解説します。

合わせて読む:awsでデータベースを!dynamodbとその監視すべきポイント

awsとは

awsとは「Amazon Web Service」の略称で、その名の通りインターネット通販で有名なAmazon社が開発・運営をする世界最大規模のクラウドコンピューティングサービスです。awsの特徴はサービスラインナップの豊富さと、堅固なセキュリティーにあります。

サービスラインナップは150をゆうに超え、仮想サーバや仮想ストレージのようなインフラ系のものから、専門家の使用にも耐える高度なデータベースなど、多彩さにも定評があります。また、セキュリティーに関しては、インターネット銀行や軍事機関がクライアントとなるほどの信頼性の高さを誇っています。

awsのようなクラウドコンピューティングサービスを利用することで、企業は自社内にサーバ等の物理的な環境を整備する必要がなくなり、機材の購入や管理・メンテナンスにかかる費用を大幅に削減することが可能です。

また、従来であれば、これらの社内環境(オンプレミス)の管理には人的リソースも消費せざるを得ませんでしたが、クラウドコンピューティングサービスを利用することで人材の有効活用も可能になります。また、awsは世界各国にサーバ拠点を分散させているため、災害等で一か所の拠点が被害を受けた場合でも、他の拠点がデータを保存することが可能であるため、自社だけでシステムを管理するよりも安全にシステムを運用することが可能です。

awsは更に、従量課金制度を採用している点も大きな特徴です。サービスの利用開始や、アプリケーションのダウンロード自体には費用が発生しないため、初期費用を抑えることが可能です。また、月々の基本使用料のような固定費も発生せず、「利用した分だけ支払えばよい」と考えれば非常にコストパフォーマンスが高いと言えます。

その一方で、「使えば使う程料金が上がる」「月々の費用予測が立てにくい」というデメリットを孕んでいる点には注意が必要です。

natゲートウェイとは

まずはじめに、awsの大まかなネットワーク構成から説明します。awsの提供を受けると、まず「Amazon VPC(virtual private cloud)」と呼ばれる自社専用領域が割り当てられます。

利用者はこのVPCの内部を上手に区切りながら、「アベイラビリティ―ゾーン(AZ)」と呼ばれる更に細かい領域を作成していきます。AZの内部は更に「サブネット」という単位に細分化して管理されます。awsではサブネットごとに外部との通信を制限することが可能です。

サブネットごとの通信経路は「ルートテーブル」で管理することができ、接続先を規制することで安全性を保ちます。Amazon VPCは、インターネットとインターネットゲートウェイで接続されます。それとは別に、外部インターネットとの接続を許可されたサブネット(これをパブリックサブネットと呼びます)内には「natゲートウェイ」と呼ばれる仮想ゲートウェイが用意されています。

システム上、awsではパブリックサブネット内の各インスタンスは、一旦natゲートウェイを経由することで、インターネットゲートウェイに接続し、外部との通信が可能。つまり、サブネットを出る際にはnatゲートウェイ、更にAmazon VPCを出る際にはインターネットゲートウェイという、二重のゲートウェイを通過することで通信セキュリティーを高める構造を取っているのです。

一方、外部との通信を制限されたサブネットをプライベートサブネットと呼びます。プライベートサブネットには外部と通信するためのゲートウェイが用意されていません。しかし、同一AZ内の他のサブネットとの間の通信は自由に行うことができます。

そこで、プライベートサブネット内のインスタンスであっても、パブリックサブネット内のnatゲートウェイにアクセスすることで、仮想的にインターネットへの接続が可能になります。

awsが提供するシステム監視サービス「Amazon cloudwatch」でできること

awsが提供する多彩なサービスの中には、システム監視サービスも含まれます。「Amazon CloudWatch(以下「cloudwatch」とします)」はその代表的なもので、aws上のシステム監視を想定して設計されたサービスです。

従来型の監視ツールは、監視対象を定める際にまずサーバを指定して、次にそのサーバの配下にあるCPUなどを順次監視対象に加える方式で設定が行われるタイプが一般的です。しかし、awsではそもそもサーバ自体が存在しない場合もあり、既存の監視ツールを適用すると不都合が生じるケースがありました。

一方cloudwatchは、そもそもaws上で使用することを想定して設計されているため、当然ながらawsとの親和性が極めて高く、このようなトラブルが発生することはありません。また、高度な専門知識を持たない人物であっても、監視対象のパフォーマンス状況を視覚的に理解しやすい点もcloudwatchならではの特徴の一つです。

既存のツールでは、監視対象から吐き出されるログデータを、担当者が解析してExcelなどに落とし込んでグラフ化する、という面倒なステップを踏む必要がありました。しかし、cloudwatchを利用すれば、モニター結果は「メトリクス」と呼ばれるグラフ状のデータで表示されるため、専門知識の無い初心者でも監視対象のパフォーマンス状況を一目で理解することが可能です。

さらにcloudwatchを利用すれば、監視対象のパフォーマンスデータが、任意に設定可能な閾値を超えたことを感知すると、予め設定された連絡先にアラームを送信する機能も備えています。上述の通り、awsは従量課金制を採用しているため、cloudwatchでは利用料金をモニターすることも可能です。

例えば「料金が〇ドルを超えた場合は通知」というように設定をしておけば、予想外に利用料がかかってしまうというトラブルを未然に回避することが可能になります。

cloudwatchでnatゲートウェイを監視する方法

natゲートウェイを監視対象に加えることで、インターネットへのトラフィック量等を簡単に確認可能になります。このことは、障害が発生した際の問題の切り分けにとても役立ちます。natゲートウェイはサービス提供開始直後はcloudwatchのモニタリング対象外でしたが、2017年にサポート対象に加わったことで、簡単な操作でメトリクスを作成可能となりました。

他のメトリクスの作成と同様、まずはcloudwatchコンソールを開き、ナビゲーションペインでメトリクスを選択します。次に「All metrics」から「NAT gateway」を指定します。次に必要なメトリクスディメンションを選択すれば完了です。

更に、アラームを設定する場合は以下の手順で簡単に設定ができます。例えばアウトバウンドトラフィックについてアラームを作成する場合は、cloudwatchコンソールからナビゲーションペインを開き、「Alarms」を選択後、続いて「Create Alarm」を選択します。

次に監視対象として「NAT gateway」を指定し、「BytesOutToDestination」をメトリクスを選択して、次に進みます。アラームの通知先のリストや、アラーム名、閾値や、通知間隔などを順に指定し、最後に「Create Alarm」のボタンをクリックすれば終了です。

直感的に理解しやすい画面で構成され、プルダウンメニュー等で選択するだけで設定が進むため、初心者でも簡単に設定が可能です。

cloudwatchの料金

cloudwatchも従量課金制で料金が決定されます。ただし、無料で使用可能な無料枠が充実している点が嬉しいポイントです。よく使われる監視対象や監視内容であれば、標準メトリクスとして予め用意がされており、標準メトリクスの使用には追加料金がかかりません。

標準メトリクスでは監視できない高度なデータについては、「カスタムメトリクス」を使用して監視します。カスタムメトリクスの利用には追加料金が発生します。また、監視を行う頻度によっても料金が追加料金が発生する可能性があります。

無料枠では5分間隔で行われる基本モニタリングは無料、1分間隔で行われる詳細モニタリングに関しても、メトリクス10個分までは無料で利用可能です。アラームについては10件分まで無料で利用可能となっています。

ただし、高機能アラームは無料枠には含まれないため注意が必要です。更にログデータのデータ量によっても料金が変動します。5GBまでであれば無料枠の範囲内ですが、それを超える場合はEC2のデータ転送料と同じ料金設定で追加料金が発生します。

高度な監視を必要としない限り、無料枠内でもかなり手厚いサービスを受けることが可能です。まずは無料枠内での運用からスタートして、必要に応じてサービスを追加することで無駄の無い運用が可能になるのではないでしょうか。

natゲートウェイの監視にはcloudwatchが最適

natゲートウェイの監視には、awsと親和性の高いcloudwatchを利用することをおススメします。awsにマッチした機能が揃っており、メトリクスによる視覚的な監視で、設定も簡単なため初心者にも優しい構成となっています。さらに無料枠内でも、アラームの設定など充実したサービスの提供を受けることが可能でコストパフォーマンスに優れている点にも注目です!