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
-
製品資料
[サイバーソリューションズ株式会社] メール誤送信対策のルールが肥大化 苦しむ情シスはどうすれば救われるのか? -
事例
[横河レンタ・リース株式会社] AIの全社活用が加速 トヨタ・コニック・プロに学ぶ「AI PC調達」の秘訣 -
製品資料
[横河レンタ・リース株式会社] 人材不足時代の「PC調達」ガイド:知っておきたいリースとレンタルの違い -
製品資料
[横河レンタ・リース株式会社] PC調達に「レンタル」を選ぶことのメリットは? リース・購入との違いも解説 -
事例
[Datadog Japan合同会社] プレイドはKARTEの障害早期検知とシステム改善をどう実現したか?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
3
パッチなしで「今すぐサーバを落とせ」 Kiteworks異例警告の波紋
-
4
LINEヤフーはなぜ「社内の管理者」すら信用しないインフラを作ったのか
-
5
「アップグレードできないJava」をどう守る IBMとRed HatがAIで400件超修正
-
6
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
7
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
8
Copilot導入で陥る“目的化”の落とし穴 定着の鍵は「作り込まない」こと
-
9
OpenAIやAnthropicでさえ制御不能 2026年夏「3大サイバー攻撃」の衝撃
-
10
「企業におけるAI導入検討度とIT投資優先度」に関するアンケート
ホワイトペーパーランキング PR
-
1
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
2
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
3
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
4
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
5
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
6
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
7
Linux初心者でも知らないとまずい「RHEL」「SLES」の違いとは?
-
8
東大教授と考える、AI時代の「データ主権」「信頼性」「ガバナンス」の在り方
-
9
「IT史に名を残すシステム障害」8選
-
10
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー