演習 1.5 - Virtual Server の追加

Read this in other languages: uk English, japan 日本語.

目次

目的

本演習では、BIG-IP virtual server module を使って、BIG-IPにVirtual Server を設定します。Virtual Server とは、IPとポート番号の組み合わせです。

解説

Step 1:

テキストエディタを使って、bigip-virtual-server.yml というファイルを新規作成します。

[student1@ansible ~]$ nano bigip-virtual-server.yml

vimnano はコントロールノード上で利用可能です。RDP経由でのVisual Studio と Atom も同様です。

Step 2:

Ansible のプレイブックは YAML 形式のファイルです。YAMLは構造化されたフォーマットで、非常に読み易いものです。

以下の定義を bigip-virtual-server.yml に入力します :

---
- name: BIG-IP SETUP
  hosts: lb
  connection: local
  gather_facts: false

まだエディタを閉じないでください。

Step 3

次に、タスクを追加します。このタスクは、bigip-virtual-server モジュールを使用して、BIG-IP上にVirtual Server を設定します。

  tasks:
    - name: ADD VIRTUAL SERVER
      f5networks.f5_modules.bigip_virtual_server:
        provider:
          server: "{{private_ip}}"
          user: "{{ansible_user}}"
          password: "{{ansible_password}}"
          server_port: 8443
          validate_certs: false
        name: "vip"
        destination: "{{private_ip}}"
        port: "443"
        enabled_vlans: "all"
        all_profiles: ['http', 'clientssl', 'oneconnect']
        pool: "http_pool"
        snat: "Automap"

プレイブックは一連のタスクから成ります。タスクとモジュールは1:1の関係性があります。モジュールは、Ansible API やansible / ansible-playbook から利用可能で、再利用可能なスタンドアロンスクリプトです。実行結果は、JSON文字列として標準出力へ出力されます。

ファイルを保存して、エディタを終了してください。

Step 4

プレイブックの実行 - コントロールホストのコマンドラインで以下を実行します。

[student1@ansible ~]$ ansible-playbook bigip-virtual-server.yml

Playbook の出力

[student1@ansible]$ ansible-playbook bigip-virtual-server.yml

PLAY [BIG-IP SETUP]*************************************************************

TASK [ADD VIRTUAL SERVER] ******************************************************
changed: [f5]

PLAY RECAP *********************************************************************
f5                         : ok=1    changed=1    unreachable=0    failed=0

解答

完成形のAnsible Playbook はこちらから参照可能です。 bigip-virtual-server.yml.

確認

ブラウザでBIG-IPへログインして設定されたものを確認してみましょう。lab_inventory/hosts ファイルからBIG-IPのIPアドレスを確認して、https://X.X.X.X:8443/ のようにアクセスします。

BIG-IP へのログイン情報:

Virtual Serverは画面左のメニューから辿ることで確認できます。Local Traffic -> Virtual Server とクリックします。以下のスクリーンショットを参考にしてください。 f5 vip image

Webサーバーの確認

それぞれのWebサーバー上ではApache HTTPD が実行されています。演習 1.1 から 1.5 までで、このWebサーバーからなるプールの負荷分散のセットアップが完了します。ブラウザで、BIG-IPのパブリックIPにアクセスします:

ここでは、ポート番号は 8443ではなく 443 を指定します。 例: https://X.X.X.X:443/

ブラウザを再読み込みを行うたびに、node1node2 が入れかわり表示されるはずです。以下のアニメーションを参考にしてください。 animation

注:ブラウザの種類によっては、アニメーションが動かない可能性があります。

もう一つの確認方法

ブラウザを使用する代わりに、コントロールノードのコマンドラインを使うことも可能です。curl コマンドを --insecure--silent オプションをつけて、BIG-IPのパブリックIP:443 に対して実行します。出力結果を、割り当てられたstudent 番号(例:student5)を使って grep コマンドにかけることで確認しやすくなります。

[studentX@ansible ~]$ curl https://172.16.26.136:443 --insecure --silent | grep studentX
    <p>F5TEST-studentX-node1</p>
[studentX@ansible ~]$ curl https://172.16.26.136:443 --insecure --silent | grep studentX
    <p>F5TEST-studentX-node2</p>
[studentX@ansible ~]$ curl https://172.16.26.136:443 --insecure --silent | grep studentX
    <p>F5TEST-studentX-node1</p>

これで本演習は終わりです。演習ガイドへ戻る