Beanstalkのデプロイポリシーがなかなか覚えられないなぁ...おつまみそのお悩みを解決します!エンジニアの皆さん。Beanstalkのデプロイポリシーについて、初心者にわかりやすいよう皆さん大好きな国民的アニメ「ポ◯モン」に例えながら図解付きで解説していきます。本記事を読んだ後にこういう風に捉えると覚えやすいなぁって共感して頂けると嬉しいです。Beanstalkとはアプリケーションが動作するインフラ環境のデプロイを自動化してくれるサービスです。※今回はデプロイポリシーに絞ってお話しするため、具体的な機能については省略しています。具体的な機能については、こちらの公式のBlackBeltを確認してみて下さい。Beanstalkではアプリケーションの新しいバージョンをデプロイするときにどのようにデプロイするか決めます。その時の方法をデプロイポリシーと呼びます。デプロイポリシーにはこのような種類があります。新規インスタンスで処理するが、さらにトラフィック制御をし、振り分け先を変更してデプロイするポリシー(カナリアリリースとも呼ばれます)これだけでは理解しにくいですね。各ポリシーのデプロイ方法を解説するために、ここからは国民的アニメ「ポ◯モン」に例えてみましょう。このように定義します。既存インスタンスに同時にデプロイするポリシーです。「一度にすべて」という名前の通り、一気に進化させます。このように全てのトラ◯セルが一気に進化し始めます。そのため進化が完了するまでの間、虫取り少年は使うポ◯モンがいません。サービス停止の状態になります。進化完了後に、バタ◯リーが使えるようになります。このように短期間のダウンタイムが存在しますが、デプロイポリシーの中で一番簡単かつ最も迅速に進化できるポリシーです。既存インスタンスを利用してデプロイするポリシーです。このポリシーでデプロイするときは予めバッチサイズというものを設定しなければいけません。このバッチサイズではデプロイを進める割合もしくはインスタンスの個数を決定します。今回は割合50%で考えてみましょう。バッチサイズ50%のため、4匹中2匹を進化させます。そのため、まずは2匹を一時的に使用しないように虫かごから出します。(ロードバランサからデタッチします。)そして、進化させます。進化中は2匹でしか戦えないため、使えるポ◯モンの数が減っている状況になります。(ロードバランサにアタッチします。)進化前後が混在しているため、虫取り少年は一時的にトラ◯セルもしくはバタ◯リーのどちらかで戦うことになります。その後、残りのトラ◯セル2匹も進化させます。この間も一度虫かごから取り出すため、一時的に2匹でしか戦えません。進化完了後、全てバタ◯リーで戦えるようになります。インスタンス数を維持したまま新規と既存インスタンスを利用してデプロイするポリシーです。Rollingポリシーと同じようにバッチサイズを設定します。ここでも割合50%で考えてみましょう。このようにバッチサイズ分2匹の新しいトラ◯セルを追加します。このように追加することで使用できるポ◯モンの数を維持したままにできます。進化完了後、戦えるように虫かごに入れます。(ロードバランサにアタッチします。)この間も進化前と後が混在しているため、虫取り少年は一時的にトラ◯セルもしくはバタ◯リーのどちらかで戦うことになります。できるように虫かごに入れます。これで4匹が進化できたため、最後に元のトラ◯セルはバイバイします。Rollingと違って、キャパシティを維持したままデプロイできるため本番で採用されやすいポリシーです。(イミュータブル)を選択しましょう。(イミュータブル)は既存インスタンスを更新せず、新規インスタンスを利用してデプロイするポリシーです。このように最初に新しいグループを作成し、そこに1匹のトラ◯セルを追加します。進化完了後、虫かごに入れて戦える状態か確認をします。戦える状態であれば残り3匹のインスタンスを追加し、進化させます。進化完了後、虫かごに入れます。この間も進化前と後が混在しているため、虫取り少年は一時的にトラ◯セルもしくはバタ◯リーのどちらかで戦うことになります。最後にトラ◯セルの方のグループを終了します。(トラフィック分割)を選択しましょう。(トラフィック分割)は新規インスタンスで処理するが、さらにトラフィック制御をし、振り分け先を変更してデプロイするポリシーです。このデプロイ方法はカナリアリリースとも呼ばれますおつまみ一部のユーザにのみ新バージョンを公開したいときに使われる手法だよ!まずはImmutableポリシーと同じように別のグループを作成しておきます。設定したトラフィック分割量と評価時間の間だけ、進化後のバタ◯リーが使えるようになります。問題なければ、全体をバタ◯リー方に切り替え、最後にトラ◯セルの方のグループを終了します。同時にトラ◯セルとバタ◯リーで戦うのは嫌だなぁ。進化後のバタ◯リーだけで戦いたい!この場合はBlue/Greenデプロイを選択しましょう。Blue/Greenデプロイは2つの環境を用意し、デプロイ完了後にスイッチのように新環境に切り替えるデプロイ方法です。旧環境をBlue、新環境をGreenと呼びます。Beanstalkで用意されているデプロイポリシーではありません。デプロイをするときに違うバージョンが混在する時間をなくしたい場合に有用な方法です!まず、今ある虫かごと同じものを用意します。Onceポリシーで一気に進化させます。進化完了後に戦闘状態であることが確認できたら、虫かごを切り替えます。(DNS名の切り替え)これにより、虫取り少年はバタ◯リーでのみ戦えるようになります。Beanstalkのデプロイポリシーに絞ってお話ししました。なんとなく理解できたのではないでしょうか?デプロイポリシーは実際にハンズオンで触りながら覚えることで、さらに理解が深まると思います!少し自信がついてきたAWS初学者もっとAWSについて学びたい!AWS初学者の方は会員制コミュニティ付きの動画で学べるAWS学習オンラインスクールCloudTechがおすすめ!CloudTechについてはこちらの記事でご紹介しているので、参考にしてみて下さい。【未経験おすすめ】AWSの基礎知識を学ぶならCloudTech!AWS初学者向けのオンラインスクール「CloudTech」のメリット・デメリットをご紹介します。「AWS学習もうしんどい。Beanstalkの具体的な機能についても詳しく解説されており、どれもAWS初学者にとって、とても分かりやすい内容になっています。Service)とは、コンテナを管理するためのフルマネージドなAWSサービスです。本記事ではAWS初学者向けにECSの構成要素を図解しながらわかりやすく解説しています。ECSの概要を掴みましょう!2023.05.30AWSAWS【現役エンジニアがおすすめ】AWS初学者にまず買ってほしい参考書1選!AWS初学者がまず買ってほしいおススメの1冊をご紹介しました。実際に読んで感じたメリットからおススメしない対象者まで記載しています。ShieldはどちらもAWSのAWSのセキュリティサービスです。Shieldの違いを図解するとともにその機能をわかりやすく解説しています。する時に気を付ける10のこと自宅からAWS認定資格を受験できることは知っていましたか?自宅受験はメリットもあるのですが、気を付けることもたくさんあります。本記事では、はじめて自宅受験をされる方に気をつけたほうが良いポイントを10個お伝えしています。参考になれば嬉しいです。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ホームIT・資格AWSスポンサーリンクおつまみ元Sler企業システムエンジニア(4年)→AWSエンジニアにキャリアチェンジした95年生まれ女子。このブログでは、IT資格の勉強方法やわかりやすい用語解説など初心者エンジニアにとって役立つ情報をお届けします。コメント目次へトップサイドバータイトルとURLをコピーしました。