LoginSignup
5
9

More than 5 years have passed since last update.

Windows10 で Amazon Linux 2 を vagrant で動かすまで

Posted at

Amazon Linux 2のvagrant boxを各サイトを参考にWindows10で作ってみました
ついでに、ブリッジ接続もできるか試してみましたが無事成功 :smile:

vagrantのversionが最初1.9.3でしたがその状態だとブリッジ接続がうまくいかず...

環境

  • Windows10
  • vagrant 2.0.2
  • virtualbox 5.1.30 r118389 (Qt5.6.2)

参考リンク

大まかな手順

  1. isoファイルの作成
  2. virtualboxで起動
  3. vagrantで起動~接続

1. isoファイルの作成

isoファイルの作成にはisocreaterを利用

isoファイルにするデータ作成

  • configフォルダ作成
  • config/meda-data
# ホスト名の指定
local-hostname: localhost.localdomain
  • config/user-data
# ユーザ情報の指定、vagrantユーザのログインにはvagrantがgithubで公開しているSSH公開鍵を利用
# cloud-config
users:
  - default
  - name: vagrant
    groups: wheel
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    plain_text_passwd: vagrant
    ssh-authorized-keys:
      - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
    lock_passwd: false

作成データを isocreaterでisoファイルにする

  • ファイル名 : seed.iso
  • ボリュームラベル : cidata

2. virtualboxで起動

  • Amazon Linux 2のvdi イメージを公式からダウンロード
  • vitualbox で AmazonLinux2を起動、vagrant boxにするための調整

[ 作成時 ]

  • 名前 : amazonlinux2, タイプ : Linux, バージョン : Linux 2.6/3.x/4.x(64-bit)
  • すでにある仮想ハードディスクを使用する > DLした .vdi を指定

[ 作成後 ]

  • 対象イメージ右クリック > [設定]
    • [ストレージ] > [コントローラーIDE > 空] を選択し、作成した seed.iso を指定
    • [ネットワーク] > [アダプター1 > 高度 > ポートフォワーディング] > SSHログイン用のポートを追加(今回はホストポート8022, ゲストポート 22

[ 起動後 ]

[ ログイン後 ]

# isoファイルのアンマウント
[vagrant@localhost ~]$ sudo eject

# アップデート/開発ツールのインストール
[vagrant@localhost ~]$ sudo yum install -y kernel kernel-devel perl gcc
[vagrant@localhost ~]$ sudo yum groupinstall -y 'Development Tools'
[vagrant@localhost ~]$ sudo yum update -y

# VagrantにRHELと認識させる
[vagrant@localhost ~]$ sudo ln -s /etc/system-release /etc/redhat-release

# 再起動
[vagrant@localhost ~]$ sudo shutdown -r now

# 再起動後、vitualboxの仮想マシンウィンドウから、[デバイス] > [Guest Additions CD イメージの挿入]を実行

# Guest Additionsをインストール
[vagrant@localhost ~]$ sudo mount /dev/cdrom /mnt
[vagrant@localhost ~]$ sudo /mnt/VBoxLinuxAdditions.run

[vagrant@localhost ~]$ exit

# 仮想マシンをシャットダウン

3. vagrantで起動~接続

box作成~追加

# コマンドプロンプト / PowerShell

# packageでvmをbox化
> vagrant package --base 'amazonlinux2'

# 作成したpackage.boxに名前を付けてvagrantに追加
> vagrant box add --name amazonlinux2 package.box

# 確認
> vagrant box list

起動~接続(ブリッジ)

Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "amazonlinux2"

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
    vb.customize ['modifyvm', :id, "--nictype2", "virtio"]
    vb.customize ["modifyvm", :id, "--natnet1", "192.168.156/24"]
    vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
    vb.customize ["modifyvm", :id, "--memory", "1536"]
  end

  config.vm.network :public_network, ip: "10.0.33.11", :netmask => "255.0.0.0"

  config.vbguest.installer_arguments = "--nox11 -- --force"
end

Vagrantで起動

# コマンドプロンプト / PowerShell

# 起動
> vagrant up

# このままでつながるが、ブリッジ接続のための鍵を取得
# 実行ディレクトリ/vagrant/machines/default/virtualbox/private_key に生成される
> vagrant ssh

SSHクライアントで接続

  • IP : Vagrantfileで指定したIP(今回は 10.0.33.11
  • 鍵:vagrant ssh の時に生成された鍵
  • ポート:22
5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9