IT業界におけるインフラ環境の変化
近年、多くのシステム開発にクラウドサービスが利用されるようになりました。総務省の発表によると、2020年には68.7%の企業がクラウドサービスを利用しています。2016年から比べると約20%上昇しており、年々、クラウドの利用は増加しています。
出典:企業におけるクラウドサービスの利用動向(総務省)
また、大手調査会社の米Gartner社によると、2021年のIaaSクラウドの市場シェアはAmazonが提供するクラウドサービス「AWS」のシェア率が38.9%と世界1位であり、どの企業もクラウド利用を考える際には、「AWS」が検討の1つに上がってきます。
出典:Gartner Says Worldwide IaaS Public Cloud Services Market Grew 41.4% in 2021
AWSクラウド環境で必要な保守とは?
オンプレミスからAWSに運用を切り替えると、ハードウェアの管理、保守をAWSが担っていますので従来管理が必要だったハードウェア故障時の保守対応や、保守サポート対応終了による更改、契約更新などのハードウェア管理から解放され、大幅に運用負荷を軽減できます。
しかし、AWSではOSから上のレイヤーについてのセキュリティ管理はユーザー側に責任があり、システムを止めずにサービス提供し続けるための設計や運用・管理についても対応が必要です。そのため、AWSには構築したシステムをユーザー側で保守・運用するためのサービスが数多く取り揃えられています。
本記事では、これからAWSの運用を始める方に向けて、AWSのサービスや機能を使ってAWSの保守・運用を行う方法やそのメリット、また、効果的に保守・運用を進めていくために押さえておきたいポイントについてご紹介します。
AWS運用の最適化について紹介したセミナー講演資料
・障害を考慮した設計
・オートスケールの仕組み・ポイント
・各レイヤーでセキュリティを確保する方法 など
AWSのインフラストラクチャの特徴
まずは、AWSの特徴についてご紹介します。
利用する分だけ費用が発生する従量課金制
AWSは初期費用がかからないため、導入時の初期投資を抑えられます。また、従量課金制であるため、必要な分だけITリソースを利用できます。 オンプレミスの場合は、使わない場合も設備の維持・管理に費用がかかります。AWSでは使う時のみ費用がかかる、料金設定となります。
世界最高レベルのセキュリティ
AWSはセキュリティを最優先事項としたクラウドインフラストラクチャー構成となっています。厳格なコンプライアンス要件に準拠し、さらに第三者機関による監査が行われているため、世界最高レベルのセキュリティ要件を満たしています。
AWSのサービスや機能で運用・保守を行う方法とメリット
AWSが提供するサービスや機能でシステムの運用・保守を行う方法、また、そのメリットや効果をご紹介します。
(1)AWSの監視・メッセージングサービスによる障害検知で運用負荷を軽減
先述したようにインフラストラクチャの物理環境の管理についてはAWSが担うため、オンプレミスよりも管理負担は軽減されます。しかしクラウドもオンプレミスと同様にハードウェア機器で構成されているため、基盤障害通知には気をつけなければなりません。基盤に何かしらの問題の予兆があった場合にはAWSからメールで通知がきます。しかし予兆がない突発的な基盤障害の場合もありえます。
「Amazon CloudWatch」で監視、障害検知
障害検知の方法として、AWSが提供する各種リソースとアプリケーションの監視・管理が行えるAmazon CloudWatchを利用し、ステータス変化に伴うアラームアクションとしてpub/sub メッセージングサービスであるAmazon Simple Notification Service(SNS)を組み合わせると障害を検知して通知することが可能です。
「AWS Health」 でAWS側の障害を確認
AWS側で障害があったかどうか確認できる「AWS Health 」を利用するのも有効です。
AWSで障害が発生すると AWS Health イベントが通知されて、ユーザーは AWS Health Dashboard でその状況を確認できます。
「AWS CLI」 でステータスチェックの自動化
AWS サービスを管理するための統合ツールであるAWS コマンドラインインターフェース (CLI)を利用すると、スクリプト等に組み込んでステータスチェックを自動化することもできます。
このようにAWSが提供しているサービスやツールを利用することで障害検知ができます。
(2)フルマネージド型サービスの活用で運用負担を軽減
ユーザーが保守・運用する必要のあるIaaS型のサービス以外に、OSやアプリケーションについてもAWSが保守・運用を行っているフルマネージド型のサービスがいくつかあります。例として、AWSで汎用的に利用されているリレーショナルデータベースのAmazon Relational Database Service (Amazon RDS)もフルマネージド型のサービスの一つです。
Amazon RDSではバックアップやソフトウェアパッチの適用、自動的な障害検出、および復旧はAWS側の管理範囲となります。このようにフルマネージド型のAWSサービスを利用することで、ユーザーが管理を担う範囲は狭くなりますので、さらに運用負荷を軽減できます。
(3)AWSの自動化機能で運用・保守の負担を軽減
せっかくAWSに移行したのにオンプレミスと同じような運用をしていると、運用負担は軽減できません。AWSの様々なサービスを組み合わせることで、運用の自動化を実現することが可能です。運用を自動化するタイミングとしては、AWSの運用開始後すぐにではなく、運用が安定したタイミングで行うほうが手戻りを少なくできます。またAWSの運用を自動化する場合、リソース管理はすべてWeb API経由でおこなえるため、AWS CLIを利用して設定ができます。
手始めに自動化を進められる箇所としては、休日や夜間に動かす必要のないEC2の自動停止や、定期的なEBSのスナップショット、AMIイメージの自動取得、また利用料を定期的にお知らせしてくれる自動通知を実施するなどが挙げられます。これらはAWS CLI コマンドや、Amazon CloudWatch Events、リソースの運用実態を把握して迅速に対応が可能なAWS Systems Managerなどを組み合わせて比較的簡単に自動化することが可能です。
さらには、Auto Scaling機能を利用して、ディスク容量やCPU、メモリの負荷状況によりEC2インスタンスを自動的に追加・削除する仕組みを取り入れるとコスト削減にもつながります。
インフラ担当者の業務負荷軽減のためにAWSで活用すべき運用自動化機能
障害を考慮したクラウドインフラの設計やセキュリティ、スケールの仕組み・実装についてわかりやすくご紹介した資料 これからはじめる!クラウドアーキテクチャのベストプラクティス の資料をご用意しています。
AWSでインフラを保守・運用する際に押さえておきたいポイント
ここでは、AWSセキュリティの責任範囲や障害発生を想定した可用性の高いインフラ構築・設計のポイント、また、AWS運用の最適化の進め方について紹介します。
(1)AWSを保守・運用する際の責任範囲を理解する
AWSのセキュリティは、サービス提供側のAWSとユーザーそれぞれが責任を持つ範囲を明確に分担する「責任共有モデル」を採用しています。AWSはクラウドサーバーのハードウェアやホストOS、物理的なセキュリティなどを担当します。AWSが担当している部分は、常に最新のセキュリティパッチやファイアウォールが適用された安全な状態です。
ユーザーはゲストOSやミドルウェア、アプリケーションなど、構築したシステムのセキュリティを担当する必要があります。この分担の仕組みを理解し、担当する範囲において必要なセキュリティ対策を実施することで、安全にAWSを利用することが可能です。
責任共有モデル
出典:AWS責任共有モデル
(2)インフラ構築の設計は障害発生が前提の「Design for Failure」
システムやインフラ構築は障害が発生することを前提にした「Design for Failure」での設計が推奨されています。耐障害性を高めるために単一障害点を排除して、アベイラビリティゾーン(AWSが提供するデータセンター群)やリージョン(AWSがサービスを提供する地域)間をまたいで物理的に離れた場所で冗長構成を組み、高い可用性を実現するなど障害が起きてもシステムが止まらないような運用設計をオススメします。また障害が起きたことをすばやく検知、復旧するためにも、Amazon CloudWatchなどを利用した監視が必要となります。
(3)AWSのベストプラクティスに則った運用設計を行う
AWSは、AWSユーザーと長年の経験から導き出した、クラウドを利用する上でのベストプラクティス集「AWS Well-Architected Framework」を提供しています。6つの柱となる「セキュリティ」「信頼性」「パフォーマンス」「コスト最適化」「運用性」「持続可能性」に沿って、どのような設計を行えばAWSのインフラ環境を最適化できるかが紹介されています。
「Well-Architected Tool」というAWSサービスでチェック形式の設問に回答していくことで、運用やセキュリティの課題点が明らかになります。
注意したいのは運用しているAWS環境を必ずAWS Well-Architected Frameworkの通りにしなければならないのではなく、ビジネスとのトレードオフを考慮し、自社のシステムにあったAWS環境へ最適化させていくことが重要となります。
なお、AWSのサポートでビジネス以上のプランを契約していると、AWS Trusted Advisorの機能がすべて利用できますので、AWS Well-Architected Frameworkと合わせて利用するのもオススメです。
AWS Trusted Advisorはユーザーのサービス使用状況をモニタリングして、より効果的なアドバイスやプランを提案してくれるサービスです。例えば、無制限アクセスが許可されていると、攻撃を受けやすくなるので通知が来ます。ユーザーは通知をチェックし、アクセス許可の設定見直してセキュリティ対策を行うことが出来ます。
他にも、停止しているインスタンスを見つけてコスト最適化のアドバイスなどもしてくれます。
当社NHNテコラスでは、AWS Well-Architected Frameworkに基づいてお客様AWS環境の稼働状況を診断・監査を実施し、結果をレビューするサービス Well-Architected レビュー を提供していまます。通常50万のところ12月末まで 0円 で利用できます。この機会にぜひご検討ください。
関連記事:AWSのベストプラクティクス集「AWS Well-Architected フレームワーク」とは
インフラの保守・運用にはAWSサービスを活用しよう
このように、AWSにはリソース監視・保守や運用の自動化などを推進するためのサービスが多く用意されており、これらを利用する事で運用負担を軽減できます。
また、AWSの保守・運用はアウトソースすることも一つの手段です。アウトソースすることで社内のエンジニアは保守・運用や障害対応から解放され、本来行うべき自社サービスの開発業務に注力することができるようになります。
当社NHN テコラスでは、AWSなどのパブリッククラウドやオンプレミスでの運用ノウハウを蓄積したマネージドサービスを提供していますので、AWSの保守・運用でお困りの場合にはお気軽にご相談ください。本記事が皆様のAWS運用の手助けになると幸いです。
▼こんなこと感じていませんか?
・AWS運用のための社内リソースが足りずに困っている
・障害発生時の対応に不安がある
・運用だけでなく、構成のアドバイスもあるとうれしい
・自社のサービス開発業務に注力したい