vagrant로 쉽게 환경 구축

처음 뵙겠습니다.
올해부터 신졸로서 서버 사이드 엔지니어가 된 것입니다.
오늘부터 연수로 배운 것의 아웃풋으로서 조금씩 올려 가고 싶습니다.

그러므로 이번에는


vagrant를 사용해 환경 구축해, 자동화까지 실시합니다만,
이 기사에서 할 일은 VagrantFile을 만들어 서버에 ssh로 연결할 수있는 곳까지입니다.

환경은 여기
mac
vagrant
virtualbox
centos7

Vagrant란?



Vagrant는 FLOSS의 가상 머신을 구축하기위한 소프트웨어입니다. 구성 정보를 기술한 설정 파일을 바탕으로, 가상 환경의 구축으로부터 설정까지를 자동적으로 실시할 수 있다.
위키 보다 인용

Vagrant 설치



vagrant 공식 사이트
이 사이트에서 사용하는 OS에 맞게 Vagrant를 설치하십시오.

VirtualBox 설치



VirtualBox 공식 사이트
여기에서 VirtualBox를 설치하십시오.

둘 다 절차대로 진행하면 기본적으로 설치할 수 있습니다.

VagrantFile 만들기



먼저 VagrantFile이라는 것을 생성합시다.
VagrantFile은 빌드할 서버의 구성을 결정하는 파일입니다.
실제로 ip 주소를 고정하거나 자동화하기 위한 코딩은 여기에서 설정합니다.

명령 프롬프트

mkdir vagrant

#次に作ったディレクトリに移動し、VagrantFileを生成します
cd vagrant/

vagrant init centos/7

vagrant init는 이대로 명령을 치면 box가 지정되지 않은 채 생성됩니다.
box라는 것은 vagrant 환경을 위한 패키지 형식입니다.
어떤 OS를 사용할 것인지, 어떤 기능이 갖춰져 있는지 어떤 것을 추가할지 결정합니다.
이번은 vagrant cloud 로부터 centos/7의 box를 사용해 구축해 갑니다.
vagrant cloud 에서 취하지 않아도 스스로 box를 만들고 사용할 수도 있습니다만, 이번은 할애합니다.

VagrantFile이 만들어지면 다음과 같습니다.

VagrantFile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  config.vm.box = "centos/7"

  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # NOTE: This will enable public access to the opened port
  # config.vm.network "forwarded_port", guest: 80, host: 8080

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine and only allow access
  # via 127.0.0.1 to disable public access
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network "public_network"

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  # config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
  #   vb.memory = "1024"
  # end
  #
  # View the documentation for the provider you are using for more
  # information on available options.

  # Enable provisioning with a shell script. Additional provisioners such as
  # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
  # documentation for more information about their specific syntax and use.
  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL
end


Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# htps : // / cs.ゔぁ 란츠 p. 이 m .
# Every Vagrant development environment requires a box. You can search for
# boxes at htps : // ゔぁg란tcぉd. 코 m/세아 rch .
config.vm.box = "centos/7"
↑이 부분에 어떤 box를 사용할지가 명기된다

이제 VagrantFile을 만들었으므로 최소한의 준비가 완료되었습니다.
다음 명령을 두드리자.

명령 프롬프트

vagrant up

이것을 두드리면 가상 환경이 상승합니다.
조금 시간이 걸리지만 제대로 시작할 수 있다면 다음 명령을 두드리겠습니다.

명령 프롬프트

vagrant ssh

이 명령을 두드리면 시작된 서버를 CUI 기반으로 직접 만질 수 있습니다.

고마워요.
이제 최소한의 환경을 구축할 수 있었습니다.
다음 기사에서는 실제로 Lamp 환경을 Ansible을 사용하여 자동화하고 싶습니다.
망설임 설명이었지만 여기까지 사귀어 주셔서 감사합니다.

좋은 웹페이지 즐겨찾기