Ansibleでネットワーク構築からインスタンス作成まで Fujitsu Cloud Service for OSS (4OSS) / はじめの一歩

富士通が運用するOpenStack準拠のクラウド基盤「Fujitsu Cloud Service for OSS」略称 4OSS上 にAnsibleを使って、ネットワークの構築からWebサーバーの作成&起動までを行なう方法です。

Fujitsu Cloud Service for OSS ( 4OSS ) の特徴は

  • OpenStack準拠
  • API / Ansible / OpenStack Horizon からコントロール可能
  • 回線費用は無償(ベストエフォート)
  • オブジェクトストレージからのダウンロードも無償(ベストエフォート)
  • Firewall(無償)
  • リモートコンソールでの管理画面へのアクセス
  • 単一ゾーンでのSLA 99.99%
  • アンチ・アフィニティをサポート

などです。回線費用やオブジェクトストレージからのダウンロードが無償のため、パケ死を気にすることなく運用が出来ます。

尚、現時点で上記のスペックを満たすリージョンは、JP-East-3 / JP-West-3 です。他のリージョンでは仕様が異なるので、Ansibleは JP-East-3 / JP-West-3 での利用が前提となります。

HA構成時に特定の仮想マシンが常に違うホストで実行されるアンチ・アフィニティ機能もサポートしており、冗長構成で運用時にSLA 99.99%をクリア出来なかった場合の返金のシステムもあります。

https://blog-plaid.com/wp-content/uploads/2018/03/github-logo-1000x333.png

今回、FUJITSU Cloud Service for OSS (4OSS)のハンズオン用のAnsibleのPlaybookサンプル ( r0ckpineさん作成 )がGit Hubにあるので、これを利用します。

Playbookの入手

https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif  https://github.com/r0ckpine/fjcs-ansible-examples

タイトル

  • Practical playbooks to help you build the system on FUJITSU Cloud Service for OSS

4OSSハンズオン用Playbookの内容

  • ネットワーク 構築(Security Group設定)
  • Linux  Server 構築 (インスタンスの起動)
  • インスタンスへの固定IPをアサイン
  • Web Server 構築 (Yum update & httpd のインストール)

 

評価環境 / 無料トライアルキャンペーンを利用

FUJITSU Cloud Service for OSS  (4OSS) 環境を、30日間無料で利用することが出来ます。12時までに申し込めば、即日発効されます。

 用意するもの

  • 契約番号
  • ユーザー名
  • パスワード
  • プロジェクト名  ( 契約番号-prj )
  • プロジェクトID
  • JP-east-3 / JP-west-3 リージョンの利用設定
  • Ansible 実行用サーバー

作業手順

  • Ansible 実行用のLinuxサーバーを構築 ( CentOS / Ubuntu / Mac )
  • Git Hubから4OSSに対応のPlaybookをダウンロード
  • 構成ファイルの編集(アカウント・パスワード・ID・環境・設定・他)
  • 公開鍵・暗号鍵の作成
  • Ansibleの実行

 

Ansible用のLinux Server 構築 

CentOS 7 / RHEL 7
RDOレポジトリからインストールを推奨
Ansible 2.4.4とOpenStack Queensの関連ライブラリがインストールされます
(※EPELレポジトリを使うと、OpenStackライブラリの依存が満たせなくなるので注意)

Ubuntu 18.04
PIPで最新版をインストールを推奨
※ Ubuntu PPAからAnsible/CloudArchiveをインストールするとコンフリクト起こしやすいので注意

Macもpipのセットアップ後は同じ方法で出来ます

 

管理ポータル

JP-east-3 / JP-west-3 リージョンを利用できるように設定します

  • 契約番号
  • ユーザー名  例 4oss-user
  • パスワード  例 16桁以上のパスワード

の入力順となります。

*パスワードは3ケ月毎に変更する必要があります(半角英数字で16文字以上64文字以下)

*API / Ansibleでアクセスの際にもパスワードは使用します

*パスワードの変更はポリシーはAPI / Ansibleでアクセスの際にも適用されます(注意 3ヶ月毎のパスワード変更時には、API / Ansibleに埋め込んだパスワードも変更する必要があります)

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2018/09/4oss-11.png

運用するリージョンの選択

  • 管理 ーー> IaaS管理を選択

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2018/09/4oss-60-768x650.png

jp-east-3 や jp-west-3 を選択

  • リージョン ーー> jp-east-3 / jp-west-3 を選択
  • 「利用開始」をクリック

Ansibleの構成ファイルに登録するプロジェクト名とプロジェクトIDを入手します

  • プロジェクトを選択

  • プロジェクト名  例 契約番号-prj
  • プロジェクトID

 

作成するネットワーク&サーバー構成

 

dir構成

fjcs-ansible-examples/
├── clouds.yml ・・・・・・・OpenStackの認証情報       ← アカウント情報 編集
├── webserver.yml  ・・・・・Ansible playbook
└── webserver_vars.yml ・・・Playbookで読み込む変数 ← 必要に応じて編集

 

とりあえず使うには

clouds.yml のアカウント情報のみを設定すれば動作します

 

clouds.yml の記述内容 ( jp-east-3の場合)

4OSSのアカウント情報を設定します

webserver_vars.yml の記述内容

webserver.yml:
OpenStackでネットワーク・インスタンス作成

Ansibleを実行するホストからOpenStackを操作する
ネットワーク、インスタンス作成までを行います。
作成されたインスタンスを続くPlayで操作する準備をします。

OpenStackでネットワーク作成

OpenStackでセキュリティグループ・ルール作成

OpenStackにキーペアを登録

webserver_vars.yml

OpenStackでインスタンス起動

作成したインスタンスをInventory登録

インスタンスのアップデートとhttpdインストールを行う

OpenStackでインスタンスを再起動しポートを開ける

webserver.ymlの構成

5つのPlayで構成

開始
OpenStack操作

  • OpenStackでネットワーク・インスタンス作成

インスタンス操作

  • インスタンスが接続可能になるまで待つ
  • インスタンスにApacheをインストール

OpenStack操作

  • OpenStackでインスタンス再起動、SG更新

情報を表示

終了

 

—————–   ここから実行 —————–

Keypair登録用の公開鍵・暗号鍵を作成

  • Keypairのパスフレーズを入力(空にするとパスフレーズ無しで生成)

Ansible実行 (数分程度の時間がかかります)

  • 途中でパスフレーズを入力(Keypair 登録時と同一のパスフレーズ)

 

インスタンスへの接続-1 ( ssh  access  by  k5user )

  • 例   IP=234.62.66.76
  • パスフレーズを入力(Keypair 登録時と同一のパスフレーズ)

インスタンスへの接続-2 ( web )

  • http://234.62.66.76/

今回のサンプルでは、ブラウザに「FUJITSU Cloud Service for OSS」の表示がされれば成功です

 

ネットワークの削除など

作成された各種のルーターやネットワーク設定情報を削除して、初期の状態にする場合の手順(GUIからの操作手順)

  • サーバーの停止
  • 仮想ルーターのインターフェース(ポート)削除
  • 仮想ルーターの削除
  • 仮想ネットワークの削除(fip-netは削除出来ません)
  • セキュリティグループの削除(defaultは削除できません)

 

 

Fujitsu Cloud Service for OSS (4OSS) の設定&構築

4OSS  GUIからの操作

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif 超簡単 Fujitsu Cloud Service for OSS (4OSS)を初期設定する

4OSS  リモートコンソールの利用設定

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif 4OSS上のサーバーへパスワードログインをする

4OSS  Ansibleでの操作

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif Ansibleで4OSSのNetWork構築やサーバー設定を行なう

4OSS  メモリスワップの追加

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif 4OSSのLinuxサーバーにmemory swap を設定する

4OSS  Webサーバーを構築

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif Powered BLUE 870 の構築

4OSS  SSLクライアント認証Webを構築

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif Powered BLUE Private CA の構築

4OSS  ワンタイムパスワード認証Webを構築

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif Powered BLUE 870/OTPの構築

4OSS  Webをロードバランスする

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif 4OSSでWeb/https (443) をロードバランスする

4OSS  SSLクライアント認証&リバースプロキシ

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif 4OSSでクライアント認証後に既存Webへリバースプロキシ転送する

4OSS  ロードバランサ&SSLクライアント認証&リバースプロキシ

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif 4OSSでロードバランサー配下でクライアント認証後に既存Webへリバースプロキシ転送する

4OSS 多要素認証&リバースプロキシ対応のWebを構築

https://www.mubit.co.jp/sub/products/ca/img2/arrow-finger.gif 多要素認証&リバースプロキシ対応のWebサーバーを構築

 

富士通マーケットプレース

Fujitsu MetaArc Marketplace / Fujitsu Cloud Service for OSS (4OSS)

Fujitsu Cloud Service for OSSのマーケットプレイス