こんにちは。製品企画室の土井です。
先日行われた「AWSomeDayTokyo2019」というAWS(Amazon Web Services)のセミナーに参加してきました。当社の製品でも、RDSやS3といったAWSサービスを使用しているため、今回のセミナーは非常に勉強になりました。私が特に興味を持ったのは、「EC2 Auto Scaling」という機能です。これは、EC2インスタンスの数をアプリケーションの負荷状況に応じて自動調節してくれるものです。
EC2(Elastic Compute Cloud)って何?
クラウド上に仮想的なサーバを構築することができるサービスです。物理的なサーバを自分で用意する必要がなく、サーバ台数の変更などが容易にできるのが特徴です。さらに、使用料金はサービスを実際に利用したキャパシティー分だけが請求されます。クラウド上に構築したサーバのことをEC2インスタンスと呼びます。つまり、「EC2インスタンスの数を調整する」とは、EC2上で起動しているサーバの台数を調節することです。
Auto Scalingの良いところは?
EC2上では、サーバの構築・削除が簡単に行えます。サーバの台数が足りなければ増やし、不要であれば削除するということが可能です。このスケーラビリティを生かし、リアルタイムでサーバの台数を調整するのがAutoScalingです。EC2の料金は使った分だけ請求されます。そのため、あまり負荷がかかっていない状況で、大量のサーバを稼働してしまうと明らかに無駄なコストが発生してしまいます。AutoScalingでは、システムの負荷が小さいときはサーバの起動台数を減らしてコストを抑えることができます。さらにシステムの負荷が大きくなるにつれて、サーバの台数を自動で増やしてくれます。
オンプレと比較すると?
オンプレの場合は、物理的なサーバを用意し、初期設定やアップデートなどの細かな運用が必要になります。クラウドサーバのように、気軽にサーバ台数を変更できないため、最大負荷がかかった状態でも正常に動作できるだけのサーバを常に起動させておく場合もあります。ですが、負荷の小さい状況でもサーバをフル稼働させておくのは非常にもったいないことです。かといって、システムの負荷に応じて手作業でサーバを切ったり、立ち上げたりするわけにもいかないと思います。そういった問題に関しては、クラウドサーバの柔軟性は非常に有効になります。
今回は、AutoScalingというクラウド側の特徴についてお話しましたが、絶対にオンプレよりもクラウドの方が良いというわけではありません。社内のみで使用するものや細かなカスタマイズが必要な場合などには、オンプレのほうが運用しやすい場合もありますので、実現したいサービスに応じて、どちらが適しているのかを考えることが大事になるのではないかと思いました。