Amazon Linux 2のvagrant boxを各サイトを参考にWindows10で作ってみました
ついでに、ブリッジ接続もできるか試してみましたが無事成功
vagrantのversionが最初1.9.3でしたがその状態だとブリッジ接続がうまくいかず...
環境
- Windows10
- vagrant 2.0.2
- virtualbox 5.1.30 r118389 (Qt5.6.2)
参考リンク
大まかな手順
- isoファイルの作成
- virtualboxで起動
- 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
)
- [ストレージ] > [コントローラーIDE > 空] を選択し、作成した
[ 起動後 ]
- SSHログイン用の秘密鍵を使用し、SSH接続(ポートは先ほど指定したホストポート)
[ ログイン後 ]
# 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