Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。14:00開発ツールクラウドポスト本連載では、TIS株式会社が提供している技術ブログ「Tech-Sketch」から「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けしています。今回取り上げるテーマは「DevOps」です。自動化が注目されています。OpsWorksについて、その概要と簡単な使い方、特徴について紹介します。Services(AWS)が提供している、環境構築とアプリケーションのデプロイの自動化・統合管理を実現するサービスです。OpsWorksを用いると、短時間で手軽にアプリケーションを動かす環境一式を自動構築することができ、要件に応じて柔軟に構成を変更できます。アプリケーションを登録しておけば、コンソールから指示するだけでデプロイやバージョンアップの処理を自動的に行えます。CloudFormationという2つのサービスを提供していました。Beanstalkを使うと、アプリケーションを動かす環境一式を選択肢から選ぶだけで環境が自動構築され、アプリケーションコードだけを用意すれば、すぐにWebサービスを稼働させることができます。CloudFormationでは、構築する環境構成を定義したテンプレートを作成しておくと、テンプレートに従ってAWSの各種サービスを組み合わせたIaaS層の環境を自動構築できます。BeanstalkとCloudFormationの中間の特性を持った新たなサービスとなっています。OpsWorksは、AWSが2012年に買収したPeritor社が提供していたScalariumというサービスが基となっており、2013年2月からβ版として提供が開始されています。OpsWorksで使われる用語OpsWorksについての説明を始める前に、まずOpsWorksと、OpsWorksの内部で利用されているChefで使われる用語について簡単に説明しておきます。OpsWorksで構築・管理する環境は、大別すると「Stack」「Layer」「Instance」「App」という4つの要素で構成されています。Instance(1台のサーバ)、1つのアプリケーションを指しています。その一方で、StackやLayerについては耳慣れない用語かもしれません。Instanceを作成するための雛形となる設定情報をまとめたものです。Instanceのセットアップを行います。Stackは、各Layer、Instance、Appなどをすべて束ねた、これから作成する環境一式を指す概念です。Stackでは環境全体で共有する設定情報を保持しています。上記の4つの要素の関連を図示したのが図1です。Stackは複数のLayerを持ち、各Layer内には複数のInstanceが存在し、指定されたLayer内のInstanceにAppがデプロイされます。図1.OpsWorksの構成OpsWorksにおいて重要な位置を占めるもう一つの要素が、OSより上の層を構築するために使われるChefというツールです。自動化するツールです。Chefでは「Recipe」と呼ばれる、Rubyのコードで書かれた構築手順書のようなものを用いて環境の自動構築を行います。関連する複数のRecipeを束ねたものは「Cookbook」と呼ばれます。OpsWorksでは、AWSが用意したさまざまなRecipeがLayerに割り当てられており、Instanceを作成する際にはそれらのRecipeに記載された構築手順に従って環境を自動的に構築しています。LayerにはAWSから提供されているRecipeだけでなく、ユーザが作成したRecipeも割り当てることができます。そのため、ユーザは変更したい部分の構築手順を記したRecipeを作成すれば、環境構成を柔軟に変更できます。実際に使ってみるそれでは実際にOpsWorksを利用してみましょう。Guide内に記載があるサンプルアプリを動かしてみたいと思います。本稿では所々簡略化しているので、OpsWorksの機能をより詳細に知りたい場合はUserGuideに目を通してみてください。ConsoleにログインしてOpsWorksの画面を開きます。StackをクリックしてStackを作成します。図2がStackの登録画面です。ここでは利用するリージョンやデフォルトで利用するOSなど、環境全体で共有する設定を行うことができます。Cookbooksという項目をYesにし、Cookbookの場所を指定する必要があります。今回は自作のRecipeは使用しないので、Noのままで構いません。戦略技術センターに所属。Templateの開発に携わる。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。12:00法務担当者、6割超が今後業務で「生成AIを使用したい」と回答。NEW新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。