JAWS-UG TOHOKUでAWS Elastic Beanstalkについて登壇してきました!
遅くなりましたが、2021/4/14に開催されたJAWS-UG TOHOKUの「JAWS DAYS 2021 re:Cap & フリーテーマでAWSを語る会」で、「AWS Elastic Beanstalkではまったこと」というタイトルで登壇しました。資料は公開するほどのものでもありませんので、発表した内容をここにまとめておきます。
AWS Elastic Beanstalkとは
AWS Elastic Beanstalk(ビーンストークと読みます、豆たちの会話じゃないよ)とは、定番構成の構築・アプリケーションのデプロイの自動化サービスです。インフラにあまり詳しくなくても、EC2、RDS、ELB、Auto Scalingなどの設定が簡単に構築できます。
今から新規で本番環境では使わないかもしれないですが、まだAWS認定ででてきますので、勉強のために作って動きを確認する人がいると思います。AWS Elastic Beanstalkでインフラ部分を構築するときにインフラの設定を正しくしないと構築に失敗することがあったので、共有します。
今回作りたい構成
EC2をパブリックサブネット、RDSをプライベートサブネットにそれぞれ1台ずつ構築し、WordPressが動作する環境を作ります。
ハマりポイント① オレンジのボタンを押すと決まった構成で構築されてしまう
AWS Elastic Beanstalkのウェブアプリケーションの作成をするときにアプリケーション名、プラットフォーム、アプリケーションコードのアップロードをしたあと、右下にオレンジのアプリケーションの作成があります。
このオレンジのボタンを押したくなってしまうのですが、これを押すとデフォルトVPCにEC2、ELB、Auto Scalingの最小1、最大4の構成で作成されます。構成を変更する場合は、となりにあるより多くのオプションの設定を押します。
ハマりポイント② VPC は事前に作っておかないといけない
EC2やRDSを配置するVPCとサブネットを指定できます。
デフォルトVPCに構築するのであれば気にする必要はないのですが、今回の構成はプライベートサブネットにRDSを作る構成にしています。デフォルトVPCにはパブリックサブネットしかありませんので、新規にVPCを作るか、デフォルトVPCにプライベートサブネットを作るかを事前にしておく必要があります。
ハマりポイント③ RDS を作るときは事前にサブネットグループを作っておかないといけない
RDSを作るときに事前にDBサブネットグループを作成しておかないと、Elastic BeanstalkでRDS作成時にエラーが起きます。デフォルトVPCで用意されているサブネットであれば、DBサブネットグループがあるのでエラーにはならないのですが、新規で作成したVPCだとDBサブネットグループはありませんので、作成する必要があります。
ハマりポイント④ EC2 を作るときは複数AZのサブネットを2つ指定しないといけない
ハマりポイント②でEC2を作るときにサブネットを指定できると説明しましたが、EC2を1台構成でつくるときでも複数アベイラビリティゾーンのサブネットを2つ指定しないと作成時にエラーになります。
理由は、1台構成でもAuto Scalingで最小1、最大1の設定が入っていて、この設定が複数アベイラビリティゾーンを使っているからです。この設定は調べた限りですが、削除はできないようでした。
正しい設定手順の紹介
今回は動画が公開されていますので、そちらで確認できます。
まとめ
おそらく新規でAWS Elastic Beanstalkを使う人はいないと思いますが、AWS認定の勉強でBlue/GreenやRollingのデプロイを試してみたいときとかに環境を構築するところでハマらないための参考になればと思います。
この記事が気に入ったらサポートをしてみませんか?