EC2を使ったWebアプリケーションの構成として以下のような構成があります。
初歩的な構成ながら、頑強性と冗長性、そして再現性を持たせるためには多くの工夫が必要です。
この記事では図中のEC2で動作する「AMI」をどの様に用意するかということを中心に紹介します。
EC2 Image Builder
従来、AMIはまっさらなEC2を起動し、その上で秘伝のスクリプトを実行し、各種のテスト等を実施した後、AMIとして保存するという流れでした。
しかし、コンソール上の手作業が多発し、秘伝のスクリプトもどんどん発展していき、結果の再現ができなくなる危険性がありました。
そんな中、AWSが用意しているのが、EC2 Image Builderです。
EC2 Image Builderを利用することによってまっさらなEC2からどんな作業をして目的のAMIにするのかというのをレシピとして管理できます。
こちらがEC2 Image Builderのコンソールです。
最近の実行結果について一覧できており、ログへのリンクが表示されます。
こちらがレシピの内容です。
まずまっさらなEC2から出発した後、apt update後にどんな作業を実施するかをGUIで管理できます。
こちらのレシピで作るAMIはCron式を設定することで定期的に実行することができます。
昨今のセキュリティ事故を鑑みても、EC2を管理せざるを得なくなった場合にはソフトウェアのアップデートは定期的に行うことが推奨されます。
Image Builderでは作成したAMIについてテストスクリプトで検証することもできます。この機能により、定期実行で更新された壊れたAMIを本番クラスタに誤って適用してしまうことを防ぐことができます。
システムの安定稼働のためには再現性が重要です。ぜひ皆さんもImage Builderを使って見てください。
コメント