LoginSignup
0
3

More than 5 years have passed since last update.

VirtualBox + Vagrant による Ansible 検証環境セットアップメモ

Last updated at Posted at 2018-02-23

仮想マシンは centos7-02 (Ansible 実行側) と centos7-03 (ターゲット側) の 2 台が作成されるものとする。

参考文献

事前インストール

  1. サクラエディタと Tera Term をインストールする。
    • ただし, UTF-8 + LF を扱えるエディタがあればサクラエディタは不要である。
    • また, SSH 鍵を生成するプログラム, 及び, SSH 接続可能なプログラムがあれば, Tera Term も不要である。
  2. サクラエディタはパッケージ版をインストール後, 個別配布版の sakura.exe で上書きすることを推奨する。
    • 2018/02/13 時点で, パッケージ版のバージョンは 2-2-0-1, 個別配布版のバージョンは 2-3-2-0 である。
    • ただし, パッケージ版に含まれるキーワードファイルなどは個別配布版に含まれないため, 個別配布版のみのインストールは非推奨である。

初期設定 -> ホスト側ネットワークアドレス確認

  1. VirtualBox -> Vagrant の順でダウンロード, インストールする。
    • ダウンロード時は OS と対応ビットに気を付けること。
  2. スタート メニュー - Oracle VM VirtualBox (フォルダー) - Oracle VM VirtualBox (ショートカット) をクリックする。
  3. ファイル - ホストネットワークマネージャー をクリックする。
  4. IPv4 アドレスの第三オクテットまで: 192.168.xxx. の部分を確認し, 閉じる ボタンを押下する。
    • 今回は, 192.168.56. とする。
  5. ファイル - 終了 をクリックする。

hosts 登録

  1. スタート メニュー - 設定 をクリックする。
  2. 個人用設定 ボタンを押下する。
  3. 左ペインより タスク バー をクリックし, [スタート] ボタンを右クリックするか Windows キー + X キーを押したときに表示されるメニューで, コマンドプロンプトを Windows PowerShell に置き換えるオフ にする。
  4. そのまま画面を閉じる。
  5. スタート メニュー を右クリックし, コマンド プロンプト (管理者) をクリックする。
  6. > cd drivers\etc と入力し, 作業ディレクトリーを変更する。
  7. > copy hosts hosts.YYYYMMDD と入力し, hosts をバックアップする。
    • YYYYMMDD は実際の日付に読み替えること。
  8. > notepad hosts と入力し, 以下のレコードを追記, 保存して閉じる。

    • IP アドレスが降順となっている理由は, VMware Player を使用していた際の事情である。
    hosts
    192.168.56.120  centos7-08  centos7-08.localdomain
    192.168.56.121  centos7-07  centos7-07.localdomain
    192.168.56.122  centos7-06  centos7-06.localdomain
    192.168.56.123  centos7-05  centos7-05.localdomain
    192.168.56.124  centos7-04  centos7-04.localdomain
    192.168.56.125  centos7-03  centos7-03.localdomain
    192.168.56.126  centos7-02  centos7-02.localdomain
    192.168.56.127  centos7-01  centos7-01.localdomain
    
  9. > exit と入力し, コマンドプロンプトを閉じる。

SSH 鍵生成 (元ネタ: CentOS 6 向け PortForwarder 設定メモ - Qiita)

  1. Tera Term の 設定 - SSH 鍵生成 をクリックする。
    • TTSSH: 鍵生成 ウィンドウが開く。
  2. 以下の通り設定し, 生成 ボタンを押下する。
    1. 鍵の種類: ED25519 にチェックを入れる。
    2. ラウンド数: (初期値のままで OK.)
  3. 公開鍵の保存 ボタン, 及び, 秘密鍵の保存 ボタンをそれぞれ押下し, 公開鍵 (id_ed25519.pub), 秘密鍵 (id_ed25519) を保存する。
    • 鍵のパスフレーズ 及び パスフレーズの確認 は空欄のままで OK.
    • 同様に, コメント欄 は初期値のままで OK.

Vagrant 設定

  1. Windows キー + R キーを押下し, %USERPROFILE% と入力, OK ボタンを押下する。
  2. 新しいフォルダーを作成し, 名前を vagrant とする。
  3. ★ このリンク ★ をクリックし, Clone or download - Download ZIP をクリック, ファイルをダウンロードする。
  4. ダウンロードした ZIP ファイルを展開し, フォルダー名を ansible に変更する。
  5. 先ほどのフォルダーを vagrant フォルダー内に移動させる。
  6. ansible フォルダー内の Vagrantfile, bootstrap.sh をサクラエディタで開き, IP アドレスを先ほど確認したセグメントに置換する。
  7. 先ほど保存した公開鍵 (id_ed25519.pub) も開き, 内容をコピー, bootstrap.sh 上部に記載されている PUB_KEY の値を上書きする。

仮想マシン起動

  1. スタート メニュー を右クリックし, コマンド プロンプト をクリックする。
    • 今度は管理者で ない 方をクリックすること。
  2. > cd vagrant\ansible と入力し, 作業ディレクトリーを変更する。
  3. > vagrant up と入力し, 仮想マシンを起動する。
    • 初回は CentOS の Box がダウンロードされるため, 結構時間が掛かる。(10 分くらい?)
  4. しばらく待機し, target (centos7-03) の NTP 情報が表示されたあたりで ansible (centos7-02) にもログイン可能となる。
  5. Tera Term を起動し, centos7-02 に秘密鍵でログインできることを確認する。
    • ユーザー名: ansible

Ansible 実行側のみ: SSH 秘密鍵, 設定ファイル設置

  1. centos7-02 に秘密鍵を SCP する。
    • Tera Term にドラッグアンドドロップで OK.
  2. $ cd ~/.ssh; pwd と入力し, 作業ディレクトリーを変更する。
  3. $ mv -iv ~/id_ed25519 . と入力し, 秘密鍵を ~/.ssh ディレクトリーに移動させる。
  4. $ echo 'StrictHostKeyChecking no' > config と入力し, SSH 接続時のホスト鍵を確認しないようにする。
  5. $ chmod -v 0400 id_ed25519 config と入力し, パーミッションを設定する。

Ansible 実行テスト

  1. $ cd; pwd と入力し, 作業ディレクトリーを変更する。
  2. $ vi hosts.yml と入力し, 以下の内容を記載, 保存して閉じる。

    hosts.yml
    ---
    all:
      children:
        ansible:
          hosts:
            localhost.localdomain:
              ansible_connection:
                local
        targets:
          hosts:
            centos7-03.localdomain:
    
  3. $ ansible all -i hosts.yml -m ping と入力し, pong と出力されることを確認する。

    localhost.localdomain | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    centos7-03.localdomain | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    

シャットダウン

  1. $ ssh centos7-03 sudo systemctl poweroff と入力し, centos7-03 をシャットダウンする。
  2. $ sudo systemctl poweroff と入力し, centos7-02 をシャットダウンする。
    • このタイミングで Tera Term も自動的に閉じる。
  3. コマンドプロンプトに戻り, > vagrant status と入力, いずれの仮想マシンも poweroff と出力されることを確認する。
  4. > exit と入力し, コマンドプロンプトを閉じる。

以上。

0
3
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
0
3