DEVELOPER’s BLOG
技術ブログ
弊社のAWS利用事情
AUCのAWS環境構築はEBがメイン
こんにちは。社員の大田です。この秋就任したCTOに、うちの会社の諸々のAWS環境について少しだけ話を聞く機会がありました。
僕は若手なので日々勉強をしながら、プロジェクトの隅っこで小さな仕事をしています。AWSに関してはちょうどこの冬あたりからSAAの勉強を始めました。大体のサービスのかんたんなことは知っているつもりですが、何しろ、インフラ周りは全体に影響がでる大切なところなので、これまであまり実環境に触れることはありませんでした。
CTO曰く、うちの開発はEB(ElasticBeanstalk)をよく使うということでした。GIthubでコミット&マージしたものを、CircleCIを通して、EBで組んだ環境にデプロイするパターンが多いようです。
EB(ElasticBeanstalk)とはAWS上のインフラ構築を自動化してくれるサービスです。
Elastic Beanstalk では、アプリケーションを実行しているインフラストラクチャについて学習することなく、AWS クラウドでアプリケーションをすばやくデプロイし、管理できます。Elastic Beanstalk は、選択肢を狭めたり制御を制限したりすることなく、管理の複雑さを軽減します。アプリケーションをアップロードするだけで、Elastic Beanstalk が自動的に容量のプロビジョニング、負荷分散、拡張、およびアプリケーションの状態のモニタリングといった詳細を処理します。
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/Welcome.html
たとえば僕のような初心者でも、EBを使えばかんたんにアプリケーションのインフラ構築ができます。ALBを立てて、TargetGroupを作って、AutoScalingの設定をして、、といったことにいちいち頭を悩ます手間を省くことができます。
また、デプロイも容易に行えるため、コミットから反映までのリードタイムをできるかぎり小さくできるという利点もあります。これは、スピーディにプロジェクトを進めるためには、とても大事なことです。
もちろん、相当大規模で複数なシステムの場合は、細かな部分に慎重に配慮する必要があります。けれども、一人ひとりが複数のプロジェクトに関わりながら、スピード感をもって仕事をしていかなければならない以上、EBを用いたインフラ構築&管理がメインになるのは、当然のことなのだなと思いました。
ただし、EBも万能なわけではありません。煩雑な作業を自動化してくれるとはいえ、一つ一つのリソースが裏で絡み合っている以上、何か問題があったときには、それらの細かなところに踏み入って対処しなければなりません。
そんなときに無駄にハマってしまうことがないように、僕ももっと勉強をしなくちゃならないなと思います。年末年始はいつものように寝ていないで、ちょっとがんばりたいですね。