Infrastructure as Codeで変わる運用管理の現場【最終回】
「Vagrant」と「Ansible」でInfrastructure as Codeを体験してみよう(1/2 ページ)
仮想環境構築ツール「Vagrant」で仮想サーバを構築し、構成管理ツールの「Ansible」で簡単なWebサーバを構築する方法をチュートリアル形式で説明する。
前回の記事「人気のOSS構成管理ツール『Chef』『Ansible』を比較」では、Infrastructure as Code(コードによるインフラの構成管理)を実現するために重要な構成管理ツールの中から、代表的なOSS(オープンソースソフトウェア)のツールである「Chef」と「Ansible」について、それぞれの特徴や違いを紹介した。
最終回となる今回は、第1回の記事「いまさら聞けない『Infrastructure as Code』、一体どんなメリットが?」で紹介した仮想環境構築ツール「Vagrant」で仮想サーバを構築し、その仮想サーバに対してAnsibleを実行して、簡単なWebサーバを構築する方法をチュートリアル形式で説明する。チュートリアルで使用するOSは、「Red Hat Enterprise Linux」(以下、RHEL)や「CentOS」「Debian」「Ubuntu」といった一般的なLinuxディストリビューションを想定している。
関連記事
今さら聞けない「ITインフラ」
「Docker」とは何か
インフラ管理者が知っておきたい基礎知識
1.Vagrantで仮想サーバの構築を自動化
Vagrantについて簡単におさらいしておこう。Vagrantは、HashiCorpが開発している仮想環境構築ツールである。プログラミング言語のRubyで記述するスクリプト「Vagrantfile」に基づいて、「VirtualBox」のようなハイパーバイザーに仮想サーバを構築する。
VirtualBoxやVagrantは、公式サイトからパッケージをダウンロードすれば簡単にインストールできる。ここではOSに「Ubuntu 14.04」を利用して、これらのパッケージをインストールする場合の例を示す。なお、各パッケージのバージョンは本記事執筆時の最新版である。
# VirtualBoxのパッケージをダウンロード
$ wget http://download.virtualbox.org/virtualbox/5.1.4/virtualbox-5.1_5.1.4-110228~Ubuntu~trusty_amd64.deb
# VirtualBoxのパッケージをインストール
$ sudo dpkg -i virtualbox-5.1_5.1.4-110228~Ubuntu~trusty_amd64.deb
# Vagrantのパッケージをダウンロード
$ wget https://releases.hashicorp.com/vagrant/1.8.5/vagrant_1.8.5_x86_64.deb
# Vagrantのパッケージをインストール
$ sudo dpkg -i vagrant_1.8.5_x86_64.deb
VirtualBoxとVagrantをインストールする際のコマンド。パッケージをダウンロードしてきて、インストールするだけでよい
次に、ホームディレクトリ以下に空の作業ディレクトリを作成し、Vagrantfileを記述してそのディレクトリに保存する。Vagrantfileは「Vim」や「Emacs」など好みのエディタで編集すればよい。ここでは仮想サーバに対してAnsibleを実行するための設定も含めておく。
また「Playbook」というAnsible用の手順書ファイルがないとVagrantがエラーを出力してしまうため、「playbook.yml」というファイルだけは先に作成しておく。これに関しては次章以降で説明する。
# 作業ディレクトリを作成し移動
$ mkdir ~/techtarget && cd ~/techtarget
# AnsibleのPlaybookファイルを作成
$ touch playbook.yml
# エディタでVagrantfileを作成
$ vi Vagrantfile
# ここからVagrantfileの内容
VAGRANTFILE_API_VERSION = '2'
Vagrant.configure VAGRANTFILE_API_VERSION do |config|
# Ubuntu 14.04のテンプレートを使用
config.vm.box = 'ubuntu/trusty64'
# VMのホスト名はtechtargetに設定
config.vm.hostname = 'techtarget'
# IPアドレスは192.168.1.2を付与
config.vm.network :private_network, ip: '192.168.1.2'
config.vm.provider :virtualbox do |v|
v.memory = 1024 # VMにメモリを1GB(1024MB)割り当て
v.cpus = 1 # VMにCPUを1コア割り当て
end
# 構成管理で使用するAnsibleのPlaybookを指定
config.vm.provision :ansible do |ansible|
ansible.playbook = 'playbook.yml'
end
end
Vagrantで仮想サーバを定義するためのVagrantファイルを作成。ここで紹介した以外にもさまざまな設定項目があり、非常に便利だ
仮想サーバを構築したりログインしたりする際には、vagrantコマンドを用いる。「vagrant up」で仮想サーバの構築(既に存在する場合は起動)、「vagrant ssh」で仮想サーバにログイン、「vagrant halt」で仮想サーバを停止、「vagrant destroy」で仮想サーバを削除することができる。初めて仮想サーバを構築する際には、テンプレートをダウンロードするために少し時間がかかるかもしれない。
# Vagrantfileの内容に従って仮想サーバを構築
$ vagrant up --no-provision
#上記コマンドで構築した仮想サーバにログイン
$ vagrant ssh
Vagrantfileに従って実際に仮想サーバを構築しログインしている。Ansibleによる構成管理はまだ行わないので、「--no-provision」オプションを付与している
Copyright © ITmedia, Inc. All Rights Reserved.
Infrastructure as Codeで変わる運用管理の現場
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[o9ソリューションズ・ジャパン株式会社] 「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略 -
製品資料
[o9ソリューションズ・ジャパン株式会社] 「サプライチェーン最適化」実践ガイド:効果的な意思決定を実現する秘訣とは? -
製品資料
[株式会社リンプレス] 非デジタル/IT人材を「自走するDX推進者」に変えるための育成ロードマップ -
市場調査・トレンド
[ワンアイルコンサルティング株式会社] AI時代の組織設計:「判断と責任」を人に残すための2つの原則とは? -
技術文書・技術解説
[ワンアイルコンサルティング株式会社] システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
1200万円のSaaS導入を回避 スギ薬局「運用費10万円」のAIエージェント構築術
-
2
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
-
3
クラウド資格コレクターは評価されない? 年収1000万を分ける“OSの理解度”
-
4
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
5
高額な「AI PC」を一般従業員も使えたら? 費用のハードルを一気に下げる方法
-
6
「コピペ運用の限界」に直面するAI活用 7割超が“別画面”のまま使う理由は?
-
7
LLMの「過学習」、正しく説明している文章はどれ?
-
8
「AIバブル」は崩壊するのか? 熱狂の後に来る“尻拭い”と4つの防衛策
-
9
IT調達担当者が知るべき「IT機器 大インフレ時代の前向きな選択肢」
-
10
2035年までに1億4500万台、急拡大する「フィジカルAI」市場の勝者は誰か
ホワイトペーパーランキング PR
-
1
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
4
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
5
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
6
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
7
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
8
「問題が深刻化しやすいプロジェクト管理」から脱却する方法とは?
-
9
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
10
NTTドコモが実践したクラウド統合監視 業務量2倍でも残業削減を実現できた理由
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー