Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

日本OpenStackユーザ会 第37回勉強会

OpenStack Ironicについて

  • Als Erste(r) kommentieren

日本OpenStackユーザ会 第37回勉強会

  1. 1. Copyright 2018 FUJITSU LIMITED OpenStack Ironicについて 0 2018/2/14 日本OpenStackユーザ会 第37回勉強会 富士通株式会社 古川 勇志郎 IRC: yushiro Github: furukawa3
  2. 2. はじめに  本資料は、日本OpenStackユーザ会の免責事項に従っています:  https://openstack-jp.connpass.com/event/78056/  本資料は個人の見解であり、所属する組織の公式見解ではありません  間違いなどありましたら、優しくご指摘お願いします m(_ _)m Copyright 2018 FUJITSU LIMITED1/ 63
  3. 3. Copyright 2018 FUJITSU LIMITED Who am I? 古川 勇志郎(ゆうしろう) OpenStackコミュニティ開発  Firewall as a Serviceとかのコア  Queensサイクルで頑張ったこと: 1. Neutron Packet logging 設計開発 2. FWaaS v2 設計開発  Ironic向けベンダープラグイン開発担当 マルチテナント配備機能(VLAN, VXLAN, LAG) 最近の趣味:トランプ、ダイススタッキング 2/ 63
  4. 4. 目次 OpenStack Ironicとは?  Ironicのコンポーネント  Ironicのリソースと状態遷移  Ironicの実力 機能・手順紹介  マルチテナントネットワーク  Boot from volume(SAN boot) ベアメタルのセキュリティについて (時間が余ったら)Ironic TIPS Copyright 2018 FUJITSU LIMITED3/ 63
  5. 5. 本日説明する部分・しない部分 仮想マシン ハイパーバイザ VM VM OS OS ベアメタル ベアメタル OS ベアメタル OS コンテナ OS コン テナ コン テナ コン テナ Copyright 2018 FUJITSU LIMITED4/ 63
  6. 6. 本日説明する部分・しない部分 仮想マシン ハイパーバイザ VM VM OS OS ベアメタル ベアメタル OS ベアメタル OS コンテナ OS コン テナ コン テナ コン テナ Copyright 2018 FUJITSU LIMITED5/ 63
  7. 7. 本日説明する部分・しない部分 仮想マシン ハイパーバイザ VM VM OS OS コンテナ OS コン テナ コン テナ コン テナ Copyright 2018 FUJITSU LIMITED6/ 63
  8. 8. OpenStack Ironicの紹介 Copyright 2018 FUJITSU LIMITED7/ 63
  9. 9. OpenStack Ironicとは? 物理マシンの配備を行うコンポーネント ベアメタル(BM: Bare Metal)プロビジョニング テナント利用者はNova経由でベアメタルサーバを配備可能 Copyright 2018 FUJITSU LIMITED Hypervisor Provide same API for users Manage VMs Manage BMs Give me an instance Flavor Flavor … … 8/ 63
  10. 10. 仮想マシン上では運用に適さない業務 (CPU負荷 or ディスクI/O性能が 重視されるワークロードなど) なぜベアメタルサービスが必要なのか? オンプレミス → クラウドの普及 Copyright 2018 FUJITSU LIMITED お客様 … … クラウド 二つの管理を 一本化したい 9/ 63
  11. 11. オンプレミス → クラウドの普及 Copyright 2018 FUJITSU LIMITED お客様 … クラウド … 管理コストの削減・クラウドが持つ便利な機能の享受 なぜベアメタルサービスが必要なのか? 10/ 63
  12. 12. Ironicのコンポーネント Copyright 2018 FUJITSU LIMITED  ironic-api: REST APIの受け口。管理者のみ利用可能  ironic-conductor: Ironicの中枢。ドライバ呼び出し/DB操作  ironic-python-agent: ベアメタル上で読み込まれたディスクイメージ内で動作 (OSイメージのコピーなど) ironic-conductor ベアメタル Hardware types ironic-python-agent python ironicclient diskimage-builder disk image Hardware interfaces boot console deploy inspect network power redfish ipmi raid storage ironic-api 11/ 63
  13. 13. ironic-conductor Ironicのコンポーネント Copyright 2018 FUJITSU LIMITED ベアメタル Hardware types ironic-python-agent python ironicclient diskimage-builder disk image  ironic-api: REST APIの受け口。管理者のみ利用可能  ironic-conductor: Ironicの中枢。ドライバ呼び出し/DB操作  ironic-python-agent: ベアメタル上で読み込まれたディスクイメージ内で動作 (OSイメージのコピーなど) Hardware interfaces boot console deploy inspect network power redfish ipmi raid storage ironic-api 12/ 63
  14. 14. Ironicのコンポーネント Copyright 2018 FUJITSU LIMITED  ironic-api: REST APIの受け口。管理者のみ利用可能  ironic-conductor: Ironicの中枢。ドライバ呼び出し/DB操作  ironic-python-agent: ベアメタル上で読み込まれたディスクイメージ内で動作 (OSイメージのコピーなど) ironic-conductor ベアメタル Hardware types ironic-python-agent python ironicclient diskimage-builder disk image Hardware interfaces boot console deploy inspect network power redfish ipmi raid storage ironic-api 13/ 63
  15. 15. Ironicのコンポーネント Copyright 2018 FUJITSU LIMITED  ironic-api: REST APIの受け口。管理者のみ利用可能  ironic-conductor: Ironicの中枢。ドライバ呼び出し/DB操作  ironic-python-agent: ベアメタル上で読み込まれたディスクイメージ内で動作 (OSイメージのコピーなど) ironic-conductor ベアメタル Hardware types ironic-python-agent python ironicclient diskimage-builder disk image Hardware interfaces boot console deploy inspect network power redfish ipmi raid storage ironic-api 14/ 63
  16. 16. 管理者が必要な作業(事前準備) Image作成 Image登録(glance) フレーバー登録(nova flavor) Node(ironic)  フレーバー情報と揃える(紐づけはここで実施)  BMCの管理IPや認証情報なども必要 Port(ironic)  Macアドレス Copyright 2018 FUJITSU LIMITED15/ 63
  17. 17. 管理者が必要な作業(事前準備) Image作成 Image登録(glance) フレーバー登録(nova flavor) Node(ironic)  フレーバー情報と揃える(紐づけはここで実施)  BMCの管理IPや認証情報なども必要 Port(ironic)  Macアドレス Copyright 2018 FUJITSU LIMITED16/ 63
  18. 18. Ironicのリソース Node ベアメタルサーバを表す サーバのスペックや使用する ドライバなど様々な情報を保持 Port 物理NICを表す MACアドレスだけでなく 隣接ポート情報も保持する Copyright 2018 FUJITSU LIMITED Baremetal Server NIC NIC 0/1 0/2 Node Port 17/ 63
  19. 19. Ironicの状態遷移(一部抜粋) Enroll  Node作成時の初期状態 Manageable  管理可能な状態。クリーニングや ハード情報取得(inspect)可能 Available  クリーニング後の、配備可能な状態。 Active  動作中のワークロードがある状態 Copyright 2018 FUJITSU LIMITED Enroll https://specs.openstack.org/openstack/ironic- specs/specs/kilo-implemented/new-ironic-state-machine.html https://docs.openstack.org/ironic/pike/_images/states.svg Available クリーニング等 Active 配備 撤去 状態変更 Manageable 状態変更 18/ 63
  20. 20. Ironicの実力(1/2) Copyright 2018 FUJITSU LIMITED インスタンス操作 Ironic(ベアメタル) サポート状況 サポートするリリース または予定 電源制御 ✔ Juno~ マルチテナント ✔ Ocata~ Graceful Shutdown ✔ Ocata~ シリアルコンソール ✔ Ocata~ Cinder連携(SANブート) ✔ Pike~ ネットワークアタッチ ✔ Pike~ Secure boot ✔ (*1) ダンプ採取(NMI) ✔ Ocata~ *1: Pike時点では iLO(HP), iRMC(Fujitsu) がサポート 19/ 63
  21. 21. Ironicの実力(2/2) Copyright 2018 FUJITSU LIMITED インスタンス操作 Ironic(ベアメタル) サポート状況 サポートするリリース または予定 BIOS リセット ✔ (*1) Routed network対応 ✔ Queens~ レスキューモード Rocky(予定) コンソールのログ Rocky(予定) グラフィカルコンソール Rocky(予定) BIOS設定変更 Rocky(予定) サーバ故障時の自動復旧 Novaにて実装予定 Rocky(予定) *1: Pike時点では iLO(HP), iRMC(Fujitsu) がサポート 20/ 63
  22. 22.  複雑なインフラの構成を隠ぺい(抽象化)して、利用者に提示する機能  network1@phys1  network1@phys2  network2@phys1  network2@phys2 L2 switch Routed network Copyright 2018 FUJITSU LIMITED Controller/Network L2 switch Baremetal Server Baremetal Server phys1 Compute Node VMphys2 VM OVS https://docs.openstack.org/ocata/netwo rking-guide/config-routed-networks.html network1: segment@phys1, segment@phys2 network2: segment@phys1, segment@phys2 21/ 63
  23. 23. L2 switch Routed network対応 Copyright 2018 FUJITSU LIMITED Controller/Network L2 switch Baremetal Server Baremetal Server phys1 Compute Node VMphys2 VM OVS network1: segment@phys1, segment@phys2 network2: segment@phys1, segment@phys2  Ironic port にて、物理ネットワークの指定ができるようになった Port Port https://specs.openstack.org/openstack/i ronic-specs/specs/approved/physical- network-awareness.html 22/ 63
  24. 24. L2 switch Routed network対応 Copyright 2018 FUJITSU LIMITED Controller/Network L2 switch Baremetal Server Baremetal Server phys1 Compute Node VMphys2 VM OVS network1: segment@phys1, segment@phys2 network2: segment@phys1, segment@phys2 Port Port https://specs.openstack.org/openstack/i ronic-specs/specs/approved/physical- network-awareness.html  Ironic port にて、物理ネットワークの指定ができるようになった 23/ 63
  25. 25. 機能・手順紹介 マルチテナントネットワーク SAN boot Copyright 2018 FUJITSU LIMITED24/ 63
  26. 26. Controller Node L2 switch  利用者に安心して使ってもらうためのネットワーク分離ができない  管理ネットワークと接続してしまう Copyright 2018 FUJITSU LIMITED これまでのIronic(Flat networkの問題点) Baremetal Server Baremetal Server TFTP Ironic Management Network Compute Node VM VM 25/ 63
  27. 27. Compute Node L2 switch  自由にネットワークを分離できるようになった  配備中、撤去中にのみ管理ネットワークと自動接続する  Neutronのベンダープラグインが必要  Link Aggregationを設定することで、通信速度と耐故障性を向上 Copyright 2018 FUJITSU LIMITED マルチテナント配備 Baremetal Server Baremetal Server VM VM LAGPort VLAN設定 Controller Node TFTP Ironic 26/ 63
  28. 28. Copyright 2018 FUJITSU LIMITED マルチテナント配備(準備) $ openstack baremetal port create “aa” --node $NODE_UUID ¥ --local-link-connection switch_id=$SWITCH_MAC_ADDRESS ¥ --local-link-connection switch_info=$SWITCH_HOSTNAME ¥ --local-link-connection port_id=“0/1” --pxe-enabled true https://docs.openstack.org/ironic/ocata/deploy/multitenancy.html L2 switch Baremetal aa 0/1  Ironic port にlocal_link_connection を登録  switch_id: スイッチのMAC address  switch_info: (Optional)スイッチのモデル名やベンダー固有の識別情報  port_id: スイッチのPort ID 27/ 63
  29. 29. Copyright 2018 FUJITSU LIMITED マルチテナント配備(準備:LAGの場合) $openstack baremetal port create “aa” --node $NODE_UUID ¥ --local-link-connection switch_id=$SWITCH_MAC_ADDRESS ¥ --local-link-connection switch_info=$SWITCH_HOSTNAME ¥ --local-link-connection port_id=“0/1” --pxe-enabled true L2 switch Baremetal aa 0/1  Ironic port にlocal_link_connection を登録  switch_id: スイッチのMAC address  switch_info: (Optional)スイッチのモデル名やベンダー固有の識別情報  port_id: スイッチのPort ID bb 0/2 $openstack baremetal port create “bb” --node $NODE_UUID ¥ --local-link-connection switch_id=$SWITCH_MAC_ADDRESS ¥ --local-link-connection switch_info=$SWITCH_HOSTNAME ¥ --local-link-connection port_id=“0/2” --pxe-enabled false bond (aa) 28/ 63
  30. 30. Baremetal Copyright 2018 FUJITSU LIMITED マルチテナント配備(準備:LAGの場合) $ openstack baremetal port group ¥ create --node $NODE_UUID ¥ --address “aa” ¥ --mode 802.3ad L2 switch aa 0/1  Ironic portgroup を作成し、 Ironic portと関連付け bb 0/2 https://docs.openstack.org/ironic/pike/admin/portgroups.html bond (aa) $ openstack baremetal port set ¥ $PORT_UUID ¥ --port-group $PORT_GROUP_UUID  active-backup  balance-rr  active-backup  balance-xor  broadcast  802.3ad  balance-tlb  balance-alb https://www.kernel.org/doc/Documentation/networking/bonding.txt Port Group Node 関連付け後: Port “bb” Port “aa” 29/ 63
  31. 31. 非LAG構成の場合 LAG構成の場合 Copyright 2018 FUJITSU LIMITED 配備方法 $ openstack server create --flavor baremetal --image $IMAGE ¥ --nic net-id=$NETWORK_ID my-baremetal $ openstack server create --flavor baremetal --image $IMAGE ¥ --nic net-id=$NETWORK_ID my-baremetal --config-drive True 30/ 63
  32. 32. Baremetal Server ベアメタル配備(マルチテナント) 1/6  Ironicを用いたベアメタルサーバの配備に関わるコンポーネントは以下 Baremetal Server HDD BMC L2 switch ironic-api ironic-conductor glance-api neutron-server nova-api MNG nova-compute nova-scheduler nova-conductor ML2 Plugin mem 以外全通し Copyright 2018 FUJITSU LIMITED31/ 63
  33. 33. 1. Project利用者が“nova boot” を実行(ex. Ubuntuのイメージを選択) 2. ベアメタル が隣接ポートへVLAN自動設定(provisioning) 3. がBIOS上の boot priority を変更(PXEを先頭に指定) 4. がベアメタルサーバの電源を入れて、PXEブートが開始 Baremetal Server ベアメタル配備(マルチテナント) 2/6 Baremetal HDD Glance Boot image eth1 BMC eth2 eth0 DHCP DHCP OVS eth3 MNG Power ON mem chassis bootdev pxe 以外全通し ML2 Plugin ironic-conductor ironic-conductor Boot imageを 配備するためのイメージ Copyright 2018 FUJITSU LIMITED TFTPDeploy image 32/ 63
  34. 34. 5. Provisioning用のDHCPサーバが応答して、IPを払い出す (TFTPサーバの情報も伝える) 6. TFTPサーバへアクセスして、Deploy imageをBMのメモリ上で起動させる Baremetal Server ベアメタル配備(マルチテナント) 3/6 Baremetal HDDTFTPDeploy image Glance Boot image eth1 BMC eth2 eth0 DHCP DHCP OVS eth3 MNG mem Boot imageを 配備するためのイメージ Copyright 2018 FUJITSU LIMITED ✔ (一般的なPXEブート) DHCP 33/ 63
  35. 35. 7. Deploy image内で ironic-python-agentが起動して、Ironic-ap と やり取りを行い、ddコマンドでBoot image(Ubuntu)を内蔵HDDにコピー 8. コピーが終わったら がBMの電源をOFF Baremetal Server ベアメタル配備(マルチテナント) 4/6 Baremetal HDDTFTP Glance Boot image eth1 BMC eth2 eth0 DHCP DHCP OVS eth3 MNG mem Copyright 2018 FUJITSU LIMITED ✔ ironic-conductor Power OFF Deploy image Boot imageを 配備するためのイメージ ironic-api 34/ 63
  36. 36. 9. BM:隣接ポートへVLAN自動設定(削除) 10. :BIOS上のboot priorityを変更(内蔵HDDを先頭に指定) Baremetal Server ベアメタル配備(マルチテナント) 5/6 Baremetal HDDTFTP Glance eth1 BMC eth2 eth0 DHCP DHCP OVS eth3 MNG Copyright 2018 FUJITSU LIMITED ironic-conductor chassis bootdev hdd ML2 Plugin Deploy image Boot image Boot imageを 配備するためのイメージ 35/ 63
  37. 37. 11. :BMの隣接ポートへVLAN自動設定(利用者用 network) 12. :BMの電源をON 13. お客様用のDHCPサーバがIPを払い出す 14. Metadata-proxy経由でホスト名やSSHの鍵などを更新 Baremetal Server ベアメタル配備(マルチテナント) 6/6 Baremetal HDDTFTP Glance eth1 BMC eth2 eth0 DHCP DHCP OVS eth3 MNG Copyright 2018 FUJITSU LIMITED ironic-conductor ML2 Plugin Deploy image Boot image Boot imageを 配備するためのイメージ DHCP (配備完了) Power ON 36/ 63
  38. 38. 11. :BMの隣接ポートへVLAN、LAG自動設定(利用者用 network) 12. :BMの電源をON 13. お客様用のDHCPサーバがIPを払い出す 14. Metadata-proxy経由でホスト名やSSHの鍵などを更新 Baremetal Server ベアメタル配備(LAGの場合) Baremetal HDDTFTP Glance eth1 BMC eth2 eth0 DHCP DHCP OVS eth3 MNG Copyright 2018 FUJITSU LIMITED ironic-conductor ML2 Plugin Deploy image Boot image Boot imageを 配備するためのイメージ DHCP (配備完了) Power ON 37/ 63
  39. 39. Boot from Volume 参考: https://www.openstack.org/assets/presentation-media/Sydney-Project-Ironic-Update.pdf Copyright 2018 FUJITSU LIMITED38/ 63
  40. 40. Boot from volume (SAN boot) ローカルボリューム(内蔵ディスク)の場合  サイズは固定  サーバ故障時にはデータアクセス不可 Copyright 2018 FUJITSU LIMITED Node Volume CPU MEM Node Remote Volume Volume CPU MEM リモートボリューム(LUN)の場合  サイズは可変  サーバ故障時でもデータは利用可能 39/ 63
  41. 41. Boot from volume (SAN boot)  ベアメタル用のサーバ/ストレージの切り替えがソフトウェアのみで実現できる Copyright 2018 FUJITSU LIMITED Remote Volume Volume Node CPU MEM Node CPU MEM 40/ 63
  42. 42. 概要 1. Ironic – Cinderを仲介して情報を渡す 2. Cinder側へConnector情報を渡す 3. インスタンスとボリュームとの関連情報を作成 4. Volume target 情報を渡す 5. Nodeにboot対象の情報を設定 6. 設定したvolume targetから起動 Copyright 2018 FUJITSU LIMITED Nova Ironic Cinder Server Backend Storage Volume ① ② ➂ ④ ⑤ ⑥ Give me an instance 41/ 63
  43. 43. 標準ドライバ(iPXE)のネットワーク構成  iPXE経由で iSCSIボリューム情報を取得後、接続 Copyright 2018 FUJITSU LIMITED Storage Volume HTTPTFTP Ironic BM NIC BMC Out of Band Network (OOB) Storage Network iSCSI TargetiSCSI Initiator 42/ 63
  44. 44. 管理者が配備前に事前に定義しておく Ironicリソースとの対応関係 Copyright 2018 FUJITSU LIMITED Server Backend Storage Volume iSCSI Target iSCSI Initiator Node Volume connector Volume target 配備中にNovaが自動作成 43/ 63
  45. 45. ベンダドライバ(iRMC)のネットワーク構成 Copyright 2018 FUJITSU LIMITED Storage VV Ironic BM CNA/ HBA BMC Out of Band Network (OOB) FC Network NIC BM CNA/ HBA BMC NIC Data Network  BMC経由でFC接続を制御 44/ 63
  46. 46.  BMC経由でFC接続を制御 ベンダドライバ(iRMC)のネットワーク構成 Copyright 2018 FUJITSU LIMITED Storage VV Ironic BM CNA/ HBA BMC Out of Band Network (OOB) FC Network NIC BM CNA/ HBA BMC NIC Data Network マルチテナントネットワーク ゾーニングによるストレージネットワーク分離 45/ 63
  47. 47. Boot from volumeの手順(標準ドライバ) 1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定 2. Volume connectorを作成(接続元の IQN 情報) 3. イメージ作成・登録(glance) 4. Cinderボリューム作成 5. インスタンス作成 Copyright 2018 FUJITSU LIMITED46/ 63
  48. 48. Boot from volumeの手順(標準ドライバ) 1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定 2. Volume connectorを作成(接続元の IQN 情報) 3. イメージ作成・登録(glance) 4. Cinderボリューム作成 5. インスタンス作成 Copyright 2018 FUJITSU LIMITED $ openstack baremetal node set --property ¥ capabilities=iscsi_boot:true --storage-interface cinder <NODEID> 47/ 63
  49. 49. Boot from volumeの手順(標準ドライバ) 1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定 2. Volume connectorを作成(接続元の IQN 情報) 3. イメージ作成・登録(glance) 4. Cinderボリューム作成 5. インスタンス作成 Copyright 2018 FUJITSU LIMITED $ openstack baremetal volume connector create --node <NODEID> ¥ --type iqn --connector-id "iqn.2010-10.org.openstack.node<num>" 48/ 63
  50. 50. Boot from volumeの手順(標準ドライバ) 1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定 2. Volume connectorを作成(接続先の IQN 情報) 3. イメージ作成・登録(glance) 4. Cinderボリューム作成 5. インスタンス作成 Copyright 2018 FUJITSU LIMITED $ disk-image-create centos7 vm devuser cloud-init-datasources ¥ dhcp-all-interfaces -o $IMAGE_NAME (イメージをマウント後) $ echo “rd.iscsi.firmware=1” | sudo tee –a /$MNT/etc/default/grub $ grub_mkconfig > /$MNT/boot/grub2/grub.cfg $ openstack image create --disk-format qcow2 --container-format bare ¥ --file ${IMAGE_NAME}.qcow2 centos 49/ 63
  51. 51. Boot from volumeの手順(標準ドライバ) 1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定 2. Volume connectorを作成(接続先の IQN 情報) 3. イメージ作成・登録(glance) 4. Cinderボリューム作成 5. インスタンス作成 Copyright 2018 FUJITSU LIMITED $ openstack volume create --size 10 --image centos ¥ --bootable centos-test-volume 50/ 63
  52. 52. Boot from volumeの手順(標準ドライバ) 1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定 2. Volume connectorを作成(接続先の IQN 情報) 3. イメージ作成・登録(glance) 4. Cinderボリューム作成 5. インスタンス作成 Copyright 2018 FUJITSU LIMITED $ openstack server create --flavor baremetal ¥ --volume centos-test-volume centos-test 51/ 63
  53. 53. ベアメタルのセキュリティ Copyright 2018 FUJITSU LIMITED52/ 63
  54. 54. セキュリティ機能の対応状況 ベアメタルのセキュリティグループは、ベンダープラグインに依存 Firewall as a Service v1 は deprecate予定(Rocky) Copyright 2018 FUJITSU LIMITED Neutron Nova (VM) Ironic (Baremetal) セキュリティグループ ✔ ※ Firewall as a Service v1 ✔ ✔ Firewall as a Service v2 ✔ ✔ 53/ 63
  55. 55. ファイアウォールの必要性 Firewall as a Service(FWaaS)  外部ネットワークからの不要なパケットをL3レイヤでフィルタリングできるため L2レイヤでのEast-west の帯域圧迫を防ぐことにつながる  オンプレで利用してきた物理的なファイアウォールを、クラウドでもそのまま使いたい という要望がある Network Node Physical-Switch Compute VM vSW Security-Group only Firewall as a service Compute VM vSW Network Node Physical-Switch Compute VM vSW Compute VM vSW Copyright 2018 FUJITSU LIMITED Internet Internet 54/ 63
  56. 56. ベアメタルサーバのセキュリティについて Network Node上の仮想ルータを経由するためFWaaSが有効 BMVM :異なるサブネットからBMへの通信 water Network Node L2-Switch baremetal server BM NIC Compute Node NIC br-int br-eth3 NIC br-ex water NIC br-int br-eth3 VMVM External FWaaS Copyright 2018 FUJITSU LIMITED55/ 63
  57. 57. ベアメタルサーバのセキュリティについて 仮想ルータを経由しないためFWaaSは機能せず BMVM :同一サブネットからBMへの通信 water Network Node L2-Switch baremetal server BM NIC Compute Node NIC br-int br-eth3 NIC br-ex water NIC br-int br-eth3 VMVM External FWaaS Copyright 2018 FUJITSU LIMITED56/ 63
  58. 58. セキュリティグループはBMに使えるのか? ベンダープラグイン次第では使えるが、VMと同じ仕様ではない(はず)  ステートフルパケットインスペクションはできない(スイッチのACL機能を活用するため 基本的にはステートレス) water Network Node L2-Switch baremetal server BM NIC Compute Node NIC br-int br-eth3 NIC br-ex water NIC br-int br-eth3 VMVM External FWaaS Copyright 2018 FUJITSU LIMITED ACL 57/ 63
  59. 59. 現状の使い方の例 ベンダープラグインのセキュリティグループを使う ベアメタルとVMはL3で分けて、FWaaSを利用する ベアメタル上のOSでフィルタリングを実施(iptablesなど) Copyright 2018 FUJITSU LIMITED58/ 63
  60. 60. 【私の考える】完全互換なベアメタルSGの実現 ステートフルなベアメタル向けのセキュリティグループの実現案  E.g. Neutronの ovs-agent + OVS firewall driverを拡張 water Network Node L2-Switch baremetal server BM NIC Compute Node NIC br-int br-eth3 NIC br-ex water NIC br-int br-eth3 VMVM External Copyright 2018 FUJITSU LIMITED NIC bond NIC OVS NIC NIC NIC BM NIC 59/ 63
  61. 61. おわりに  Ironicの機能開発は更に加速します!! Copyright 2018 FUJITSU LIMITED60/ 63
  62. 62. Copyright 2018 FUJITSU LIMITED61/ 63
  63. 63. Ironic → Neutronへの呼び出し  配備 1. port create (project network) 2. port create (provisioning network) 3. port delete (provisioning network) 4. port update (project network)  撤去 1. port update (project network) 2. port create (cleaning network) 3. port delete (cleaning network) Copyright 2018 FUJITSU LIMITED 【補足】マルチテナント配備 物理スイッチへVLAN設定 62/ 63
  64. 64. 【補足】ちょっとややこしいところ  IronicとNeutronとで、受け取る情報名が微妙に違う Copyright 2018 FUJITSU LIMITED Ironic Neutron 詳細 local_link_connection (物理スイッチ情報) ・ポート名 ・スイッチのMACアドレス ・スイッチのモデル名 Portオブジェクトの “binding:profile”内に local_link_information として保持(List型) • LAG構成の場合は 要素数が2つ • Portオブジェクト の”binding:vnic_ty pe”は “baremetal” Portgroup (LAG設定情報) ・bondingモードなどの情報 Portオブジェクトの “binding:profile”内に local_group_information として保持(Dict型) LAGのモード情報などを含 む。LAG構成ではない場 合、この値はNoneとなる 63/ 63

×