Amazon API Gatewayによる保守とモニタリング〜AWSの自動化について

Amazon API Gatewayによる保守とモニタリング〜AWSの自動化について
AWSは165以上のサービスにより、世界中で数百万以上、日本国内でも10万以上のユーザーが利用している、最大手のクラウドコンピューティングサービスです。

近年、オンプレミス環境でサーバーを設置し、システムを構築するよりも、クラウドコンピューティングサービスを導入することで、コストの効率化を図り、ITリソースだけでなくヒューマンリソースの効率化を実現する企業が少なくありません。

AWSでは、初期費用が掛からず、使った分だけの料金が請求される従量課金制、サイジングが柔軟に行えます。

APIによる運用の自動化により、ヒューマンリソースをより重要度の高い業務に従事させることができます。

この記事では、AWS運用自動化などについてまとめます。


Amazon API Gatewayによる保守・モニタリング


Amazon API Gatewayは、APIの公開、保守、モニタリング、セキュリティ保護、運用を簡単に行うことができる、フルマネージドサービスです。

APIとは、Application Programming Interfaceの略語で、直訳すると「アプリケーションをプログラミングするためのインターフェース」です。

APIは、異なるソフトウェアやアプリケーション間で、機能を共有できるようになります。

例えば、片方のソフトウェアから数値データを取り込み、別のプログラムでそのデータの解析を行ったりします。

APIにより、ソフトウェアやアプリケーション全体の機能を拡張し、便利に使えるようになります。

近年は、モバイルデバイスの機能性も上昇し、需要も増えてきており、バックエンドのシステムやデータをAPI経由でアプリケーションから利用できるようにしておくことが、一般的になってきています。

Amazon API Gatewayを使用して、JavaScript、iOS、Androidなどの言語向けのSDKを生成することができます。

Amazon API Gatewayの主な特徴は以下の通りです。

APIの作成およびデプロイが容易

Amazon API Gatewayを使用することで、AWS Lambdaを実行しているコードの、カスタムAPIを簡単に作成でき、そのコードをAPIから簡単に呼び出すことができます。

REST API およびWebSocket APIのサポート

Amazon API Gatewayを使用すれば、REST API やWebSocketを作成できます。

REST API はHTTPリクエストタイプを活用することができるAPIです。

WebSocket APIは、チャットアプリ、ストリーミングダッシュボードなどから、リアルタイム双方向通信アプリケーションを構築できます。

回復性

Amazon API Gatewayは1秒間あたりのリクエスト数に基づき、各HTTPメゾッドに対するスロットリングルールを設定できますから、バックエンドシステムのトラフィック管理に便利です。

APIライフサイクルの管理

Amazon API Gatewayは、複数のバージョンの同じAPIを同時に実行することができます。

最新バージョンの公開後でも、前のバージョンのAPIを呼び出すことができますし、それぞのれアルファ版、ベータ版、製品版のようなリリースステージを管理することもできます。

ステージとバージョンの管理ができることで、従来のAPIリリースに機能強化や新機能の追加を行われた新しいAPIのテストをすることが容易になります。

SDKの世代

Amazon API Gatewayは、Java, JavaScript, Java for Android, iOS用のObjective-C, Swift, RubyでクライアントSDKを生成できます。

AWS CLIを使用してget-sdkコマンドを呼び出すことで、サポートされているこれらのプラットフォーム用のSDKを生成、ダウンロードが可能です。

APIの動作のモニタリング

APIがデプロイされ、使用状態になると、Amazon API Gatewayのダッシュボードで、サービスの呼び出しを視覚的にモニタリングできます。

これはAmazon ClroudWatchと統合されていて、Amazon ClroudWatchを使用してモニタリング情報を記録しますから、カスタムアラームを設定できます。

AWS認証

AWSサービスへのAPIリクエストの認証と検証をする際には、「署名バージョン4」による認証が可能です。

サードパーティ開発者用のAPIキー

Amazon API Gatewayにより、サードパーティ開発者のAPIアクセス権限を管理できます。

Amazon API GatewayによりAPIキーを作成し、それぞれのキーに細かいアクセス権限を設定して配布することで、アクセス権限を管理します。


AWS運用自動化への第一歩


システムの保守運用については、オンプレミスでもクラウドコンピューティングでも、非常に重要です。
保守運用を自動化することで、そのために割いていたヒューマンリソースを、他の価値が高い仕事に従事させることができます。
システムの保守運用は、「確実に動くこと」が非常に重要です。

ですから、人の手は介さずにスクリプトを組む等、自動化させるのが一般的です。

機器はいつか壊れる危険性が付きまといますし、人が作業するとミスによる障害が起こり得ます。

障害が起きた場合に、その前の状態に戻すためには、事前にデータのバックアップやOSのイメージをとっておくこと、障害を検知するためにデータの取得などの、保守運用が「確実に動いていること」が大切です。

オンプレミス環境と同様に、
  • ディスクのバックアップ・遠隔地コピー
  • EBSのSnapshotを取得、世代管理
  • EBSのSnapshotを遠隔地にバックアップ
  • OSイメージの取得
  • AMIを取得、世代管理
  • コマンドの実行
  • データベースのオンラインバックアップ
  • パフォーマンスデータを取得
などの作業は必要です。

オンプレミス環境では、バッチファイルやシェルスクリプトなどの実行により、自動化するのが一般的ですが、AWS上のITリソースを参照・更新・削除する処理はすべて、APIで管理されています。
APIをSDKなどを使って、操作します。

保守運用の自動化処理をSDKやcliを使って記述しますが、踏み台サーバをバックアップサーバと兼用すべきではありません。

踏み台サーバーは、目的のサーバーにログインするための中継サーバーのことです。

パブリッククラウドにおいて、踏み台サーバ-は、インターネットや拠点から直接SSHやRDPでつながる唯一のサーバーですから、セキュリティには特に注意が必要だからです。

そもそも同じサーバーに、可用性が異なる機能を持たせるのは得策ではありません。

踏み台サーバーを利用するのは、システムの運用作業のタイミングです。

一方、バックアップなどの保守作業を行うのは、運用外の時間帯です。

ですから、Amazon EC2 を止めたいときにとめられない、CPUやメモリ、ディスクの見積もりが困難、内容が不明なAMIができるなどの弊害が生まれます。

なので、踏み台サーバーにバックアップなどのスクリプトを動かすのは、よくありません。


上記のように配置することで、踏み台サーバーからの不要なインターネット通信がなくなりますし、必要な時だけインスタンスを起動すればよいことになります。


運用負荷の軽減


運用負荷の軽減のために、クラウドの自動化を検討している企業は多いでしょう。

AWSは従量課金制であり、使用した分だけの料金を料金を支払います。

ですから、週末や祝日など、自社のシステムを運用しなくてよい時間帯に、利用しなくてよいインスタンスを、その都度起動したり停止したりすることで、コストの削減を図れます。

しかし、その操作に当たっては、ある程度のAWSやVMwareの知識が必要であり、スピードだけでなく、正確さが不可欠です。

システムの基盤を直接操作しますから、失敗するとシステムダウンを起こしてしまうからです。

そのため、自動化の需要は高く、実際に課題を抱えている企業は多いはずです。

とはいえ、「どこを自動化すればよいかわからない」という疑問は当然あるでしょう。

運用業務の中で、自動化効率の高い作業は、パブリッククラウドであれば、AMI作成、電源操作、バックアップなどです。

これらのスケジュールを登録したり、、テンプレート化することで、操作が終わるまで担当者が監視しておく必要もありませんし、ルーチンワークのミスも防げます。


最後までご覧くださってありがとうございました。

この記事では、Amazon API GatewayとAWSの自動化についてまとめました。

ご参考になれば幸いです。

    <著者情報>
  • コンテンツ企画・制作編集部
  • STRA株式会社
  •   -  http://stra.co.jp/
  • コンテンツ企画・制作編集部(監修:石岡章司)
  • STRA株式会社のコンテンツ企画・制作編集部ではフリーエンジニアの皆様に向けたお役立ち情報や業務委託案件のご紹介、人材情報のご提供のほか、ホームページ制作を検討中の方に向けたお役立ち情報を日々お届けしています。

「あなたのチカラは、社会のチカラ」をキャッチフレーズにエンジニアの皆様と企業とを結びつけるSES事業を行っています

STRA株式会社のSES事業は、エンジニアの皆様と各プロジェクトをオープンしている企業とを結びつける活動を行っています。取り扱い案件は多数!「OS・仮想化・サーバーエンジニア案件」や「データベースエンジニア案件」、「コンサルタント・PM・PMO案件」、「ネットワークエンジニア案件」はもちろん、「一般事務業務案件」など、多数のお取引実績があります。開発系からコンサルタント系まで、日々当社に寄せられてくる求人情報は100を超えています。ぜひあなたのお力をお貸しください!

すぐにお仕事情報が欲しい方は
こちらよりエントリー!

STRAが全力でお応えします。
どんなことでもお気軽にご相談ください。

お問い合わせ種別必須
ご担当者名必須
御社名任意
メールアドレス必須
お電話任意
お問い合わせ内容必須
以下のご利用規約・プライバシーポリシーをご一読、ご同意の上送信してください。
ご利用規約
第1条 規約

本規約は、STRA株式会社(以下「当社」という。)が運営する公式サイト『http://stra.co.jp』(以下、「本ウェブサイト」という。提供される全てのサービスに適用されます。

第2条 サービス

本サービスとは、本ウェブサイトを通じた求職・求人、及び、それに関連するサービスを利用目的とするサービスとします。
ユーザとは、本サービスを利用する個人とします。
本サービスを利用する者は、本規約の内容をすべて承認したものとします。
当社および当社のサービス利用企業は、本サービスを提供する際に、ユーザに対し、Eメールやダイレクトメール、及び郵便、電話、ファックスによって連絡させていただくことがあります。

第3条 禁止行為

ユーザは、次の行為をすることはできません。
登録に際し、虚偽の情報を提供すること。
当社、他のユーザ又は第三者の著作権等知的財産権の侵害に当たる行為。
当社、他のユーザ、又第三者の財産権やプライバシーに関する権利、その他の権利又は利益を侵害する行為。
本サービスで得た情報を、本サービスの利用目的の範囲を超え第三者に譲渡し、又は営利を目的とした情報提供活動に活用すること。
コンピューター・ウィルスや有害なコンピューター・プログラムを含む情報を送信する行為。
本サービスの運営の妨げの可能性がある行為。
本サービスを利用する他のユーザ又第三者を誹謗中傷していると見られる行為。
公序良俗に反すると思われる行為。
法令に反する全ての行為。
その他、当社が不適切と判断できる全ての行為。

第4条 責任

ユーザは自らの意思によって本サービスを利用します。
ユーザーは、自ら登録した情報に関しては、一切の責任を負うものとします。
登録情報は、本サービスを利用するために必要な範囲内で、常にユーザが責任をもって利用目的に沿い、正確、最新に保つものとします。

第5条 登録情報の削除

ユーザによる情報の送信、提供等の行為が本規約第2条に規定された行為に該当する可能性があると当社が判断した場合には、ユーザ通知することなく、当該情報の全部又は一部について、削除、送信停止その他必要と認める措置を講じることとします。
ユーザが本規約の規定に違反した場合には、ユーザに通知することなく、ユーザの登録を抹消できるものとします。

第6条 登録情報の利用

ユーザは、本サービスにおいて提供した情報のうち、個人を特定する情報を以外の情報を、当社が日本の国内外で無償にて使用する権利を許諾したものとみなします。また、ユーザは著作者人格権を行使しないものとします。

第7条(個人情報の取り扱い)

本サービスにおける個人情報の取り扱いについては、「個人情報保護方針」をご確認ください。ユーザは、本サービスを利用する場合には、当該個人情報保護方針を承認したものとさせていただきます。

第8条 サービスの変更

当社は、本サービスの運営を良好に保つため、ユーザに対して事前の通知なく、本サービスの内容を変更することがあり、ユーザはそれに対して異議を申し立てないものとします。

第9条 サービスの停止

当社は、以下のいずれかに該当する事由が発生した場合、ユーザへの事前の通知及び承諾を要することなく、本サービスの停止または終了を行うことができます。
本サービス運営のためのシステム(以下「システム」という。)の保守、更新等を定期的、若しくは緊急に行う必要性がある場合。
通常講ずるべきウィルス対策では防止できない不可抗力により、本サービスの提供が困難な場合。
突発的なシステムの故障等が発生して、サービスの運営が困難な場合。
その他、不測の事態により、本サービスの提供が困難であると当社が判断した場合。

第10条 ユーザによる登録の削除

ユーザは、自らの意思により本サービスへの登録情報を削除できます。

第11条 免責

当社は、企業情報等の第三者の情報、広告その他第三者により提供される情報、ユーザ等が本サービスに登録し掲載する情報等に関し、内容の正確性について保証しません。
ユーザの本サービスへの登録及び本サービスの利用から生じる一切の損害に関して、当社は責任を負わないものとさせていただきます。
当社による本サービスの提供の中断、停止、利用不能又は変更、ユーザ情報の削除又は消失、ユーザの登録の抹消、本サービスの利用によるデータの消失又は機器の故障若しくは損傷、その他本サービスに関連してユーザが被った損害につき、一切の責任を負わないものとします。
本ウェブサイトから他のウェブサイトへのリンク又は他のウェブサイトから本ウェブサイトへのリンクが提供されている場合でも、本ウェブサイト以外のウェブサイト及びそこから得られる情報について、当社は一切の責任を負わないものとします。
本サービスは、就職・転職活動の成功を保証するものではありません。
当社の責任を免責する本規約の条項が消費者契約法等の法令に反することによって無効となる場合や、その他の理由によって当社がユーザに対して損害賠償責任を負うべき場合、当社の賠償責任は、ユーザに生じた直接かつ通常の損害の範囲に限るものとさせていただきます。

第12条 規約変更

当社は、ユーザの承諾を得ることなく、本規約を随時変更することができます。

第13条 規約譲渡

ユーザは、当社の書面による事前の承諾なく、本規約に基づく権利又は義務につき、第三者に対し、譲渡、移転、担保設定、その他の処分ができません。
当社は本サービスにかかる事業を他社に譲渡した場合、当該事業譲渡に伴い本規約に基づく権利及び義務並びにユーザの登録情報、その他の顧客情報を当該事業譲渡の譲受人に譲渡することができ、ユーザはその譲渡につき予め同意したものとします。また、会社分割やその他事業が移転する状況を含むものとします。

第14条 損害賠償義務

ユーザが本規約に違反し、当社に対し損害を与えた場合、ユーザは当社に対し、損害賠償義務を負担するものとします。

第15条 準拠法及び管轄裁判所

本規約の準拠法は日本法とし、本規約に関する紛争については、当社の本社所在地を管轄する地方裁判所または簡易裁判所を第1審の専属的合意管轄裁判所とします。

第16条 実施

本規約は2013年12月24日から実施するものとします。

プライバシーポリシー

STRA株式会社は、個人のプライバシーを扱うサービス業の特性を踏まえ、個人情報の取扱いに細心の注意を払っております。自主規制基準を遵守の上、個人情報の取扱いに関する基本方針を以下のように定め、個人情報の漏洩などを防止し、取扱う個人情報の保護に努めます。

STRA株式会社は、個人情報の取扱いに関する自社の規範を遵守します。

STRA株式会社は、事業の内容及び規模を考慮した適切な個人情報の取得、利用及び提供を行います。本サービスをご利用するお客様の個人情報は、STRA株式会社が本サービスを提供するために適切な場合に限り使用されます。それには必要な範囲を超えた個人情報の取扱いを行わないこと及びそのための措置を講じることを含みます。

STRA株式会社は、本人の同意がある場合又は法令に基づく場合を除き、個人情報を第三者に提供することはありません。

STRA株式会社は、個人情報の漏洩、滅失又は紛失の防止及び是正のための措置を講じます。

STRA株式会社では、個人情報保護に関する管理の体制と仕組みについて継続的改善を実施します。

STRA株式会社では、お預かりした個人情報は目的以外には利用しません。

STRAのその他のサービス

STRA株式会社コーポレートサイト STRA株式会社stra.co.jp/ WEB事業 WEB事業stra.co.jp/web
システムエンジニアリングサービス事業 SES事業stra.co.jp/ses WEB-SERVICE事業 WEBパッケージ事業stra.co.jp/web-service
AWS事業 AWS事業stra.co.jp/aws AWS試験対策問題 おまかせスマホ最適化
stra.co.jp/campaign/responsive/
AWS試験対策問題 AWS試験対策問題
SES事業サイト内特設ページ
SECURE事業 SECURE事業stra.co.jp/secure
あなたのチカラは、社会のチカラ|STRA株式会社|Copyright © 2013 STRA Co., Ltd. ALL RIGHTS RESERVED.
PAGE TOP ↑