狠狠撸

狠狠撸Share a Scribd company logo
Copyright 2018 FUJITSU LIMITED
OpenStack Ironicについて
0
2018/2/14 日本OpenStackユーザ会 第37回勉強会
富士通株式会社
古川 勇志郎
IRC: yushiro
Github: furukawa3
はじめに
? 本資料は、日本OpenStackユーザ会の免責事項に従っています:
? https://openstack-jp.connpass.com/event/78056/
? 本資料は個人の見解であり、所属する組織の公式見解ではありません
? 間違いなどありましたら、優しくご指摘お願いします m(_ _)m
Copyright 2018 FUJITSU LIMITED1/ 63
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
目次
?OpenStack Ironicとは?
? Ironicのコンポーネント
? Ironicのリソースと状態遷移
? Ironicの実力
?機能?手順紹介
? マルチテナントネットワーク
? Boot from volume(SAN boot)
?ベアメタルのセキュリティについて
?(時間が余ったら)Ironic TIPS
Copyright 2018 FUJITSU LIMITED3/ 63
本日説明する部分?しない部分
仮想マシン
ハイパーバイザ
VM VM
OS OS
ベアメタル
ベアメタル
OS
ベアメタル
OS
コンテナ
OS
コン
テナ
コン
テナ
コン
テナ
Copyright 2018 FUJITSU LIMITED4/ 63
本日説明する部分?しない部分
仮想マシン
ハイパーバイザ
VM VM
OS OS
ベアメタル
ベアメタル
OS
ベアメタル
OS
コンテナ
OS
コン
テナ
コン
テナ
コン
テナ
Copyright 2018 FUJITSU LIMITED5/ 63
本日説明する部分?しない部分
仮想マシン
ハイパーバイザ
VM VM
OS OS
コンテナ
OS
コン
テナ
コン
テナ
コン
テナ
Copyright 2018 FUJITSU LIMITED6/ 63
OpenStack Ironicの紹介
Copyright 2018 FUJITSU LIMITED7/ 63
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
仮想マシン上では運用に適さない業務
(CPU負荷 or ディスクI/O性能が
重視されるワークロードなど)
なぜベアメタルサービスが必要なのか?
?オンプレミス → クラウドの普及
Copyright 2018 FUJITSU LIMITED
お客様
… …
クラウド
二つの管理を
一本化したい
9/ 63
?オンプレミス → クラウドの普及
Copyright 2018 FUJITSU LIMITED
お客様
…
クラウド
…
管理コストの削減?クラウドが持つ便利な機能の享受
なぜベアメタルサービスが必要なのか?
10/ 63
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
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
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
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
管理者が必要な作業(事前準備)
?Image作成
?Image登録(glance)
?フレーバー登録(nova flavor)
?Node(ironic)
? フレーバー情報と揃える(紐づけはここで実施)
? BMCの管理IPや認証情報なども必要
?Port(ironic)
? Macアドレス
Copyright 2018 FUJITSU LIMITED15/ 63
管理者が必要な作業(事前準備)
?Image作成
?Image登録(glance)
?フレーバー登録(nova flavor)
?Node(ironic)
? フレーバー情報と揃える(紐づけはここで実施)
? BMCの管理IPや認証情報なども必要
?Port(ironic)
? Macアドレス
Copyright 2018 FUJITSU LIMITED16/ 63
Ironicのリソース
?Node
?ベアメタルサーバを表す
?サーバのスペックや使用する
ドライバなど様々な情報を保持
?Port
?物理NICを表す
?MACアドレスだけでなく
隣接ポート情報も保持する
Copyright 2018 FUJITSU LIMITED
Baremetal Server
NIC NIC
0/1 0/2
Node
Port
17/ 63
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
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
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
? 複雑なインフラの構成を隠ぺい(抽象化)して、利用者に提示する機能
? 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
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
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
機能?手順紹介
?マルチテナントネットワーク
?SAN boot
Copyright 2018 FUJITSU LIMITED24/ 63
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
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
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
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
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
?非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
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
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
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
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
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
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
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
Boot from Volume
参考:
https://www.openstack.org/assets/presentation-media/Sydney-Project-Ironic-Update.pdf
Copyright 2018 FUJITSU LIMITED38/ 63
Boot from volume (SAN boot)
?ローカルボリューム(内蔵ディスク)の場合
? サイズは固定
? サーバ故障時にはデータアクセス不可
Copyright 2018 FUJITSU LIMITED
Node
Volume
CPU MEM
Node Remote Volume
Volume
CPU MEM
?リモートボリューム(LUN)の場合
? サイズは可変
? サーバ故障時でもデータは利用可能
39/ 63
Boot from volume (SAN boot)
? ベアメタル用のサーバ/ストレージの切り替えがソフトウェアのみで実現できる
Copyright 2018 FUJITSU LIMITED
Remote Volume
Volume
Node
CPU MEM
Node
CPU MEM
40/ 63
概要
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
標準ドライバ(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
管理者が配備前に事前に定義しておく
Ironicリソースとの対応関係
Copyright 2018 FUJITSU LIMITED
Server
Backend Storage
Volume
iSCSI
Target
iSCSI
Initiator
Node
Volume connector
Volume target
配備中にNovaが自動作成
43/ 63
ベンダドライバ(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
? 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
Boot from volumeの手順(標準ドライバ)
1. Ironic node の capabilitiesに iscsi_boot 情報およびドライバを設定
2. Volume connectorを作成(接続元の IQN 情報)
3. イメージ作成?登録(glance)
4. Cinderボリューム作成
5. インスタンス作成
Copyright 2018 FUJITSU LIMITED46/ 63
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
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
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
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
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
ベアメタルのセキュリティ
Copyright 2018 FUJITSU LIMITED52/ 63
セキュリティ機能の対応状況
?ベアメタルのセキュリティグループは、ベンダープラグインに依存
?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
ファイアウォールの必要性
?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
ベアメタルサーバのセキュリティについて
?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
ベアメタルサーバのセキュリティについて
?仮想ルータを経由しないため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
セキュリティグループは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
現状の使い方の例
?ベンダープラグインのセキュリティグループを使う
?ベアメタルとVMはL3で分けて、FWaaSを利用する
?ベアメタル上のOSでフィルタリングを実施(iptablesなど)
Copyright 2018 FUJITSU LIMITED58/ 63
【私の考える】完全互換なベアメタル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
おわりに
? Ironicの機能開発は更に加速します!!
Copyright 2018 FUJITSU LIMITED60/ 63
Copyright 2018 FUJITSU LIMITED61/ 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
【補足】ちょっとややこしいところ
? 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
Ad

Recommended

OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
Toru Makabe
?
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
Yamato Tanaka
?
ガチで闻く!ヤフーの翱辫别苍厂迟补肠办プライベート?クラウドの実态とは
ガチで闻く!ヤフーの翱辫别苍厂迟补肠办プライベート?クラウドの実态とは
Brocade
?
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
Kentaro Ebisawa
?
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
?
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
?
TripleO Deep Dive
TripleO Deep Dive
Takashi Kajinami
?
翱辫别苍厂迟补肠办でも重要な役割を果たす笔补肠别尘补办别谤を知ろう!
翱辫别苍厂迟补肠办でも重要な役割を果たす笔补肠别尘补办别谤を知ろう!
ksk_ha
?
コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门
Kohei Tokunaga
?
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
VirtualTech Japan Inc.
?
コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线
Motonori Shindo
?
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第1日:讲义狈辞1
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第1日:讲义狈辞1
Etsuji Nakai
?
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
irix_jp
?
コンテナの作り方「顿辞肠办别谤は里方で何をしているのか?」
コンテナの作り方「顿辞肠办别谤は里方で何をしているのか?」
Masahito Zembutsu
?
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
?
翱辫别苍厂迟补肠办勉强会
翱辫别苍厂迟补肠办勉强会
Yuki Obara
?
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
NTT DATA Technology & Innovation
?
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
Shuji Yamada
?
最近の翱辫别苍厂迟补肠办を振り返ってみよう
最近の翱辫别苍厂迟补肠办を振り返ってみよう
Takashi Kajinami
?
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
Masaya Aoyama
?
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
?
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
?
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー?
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー?
Preferred Networks
?
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
Preferred Networks
?
OpenStack検証環境構築?トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築?トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
?
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
Toru Makabe
?
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第2日:讲义狈辞2
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第2日:讲义狈辞2
Etsuji Nakai
?
肠濒辞耻诲辫补肠办サーバ仕様书(サンプル)
肠濒辞耻诲辫补肠办サーバ仕様书(サンプル)
iret, Inc.
?
尝补驳辞辫耻蝉と础锄耻谤别と滨笔蝉别肠と顿笔顿碍
尝补驳辞辫耻蝉と础锄耻谤别と滨笔蝉别肠と顿笔顿碍
Tomoya Hibi
?

More Related Content

What's hot (20)

コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门
Kohei Tokunaga
?
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
VirtualTech Japan Inc.
?
コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线
Motonori Shindo
?
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第1日:讲义狈辞1
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第1日:讲义狈辞1
Etsuji Nakai
?
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
irix_jp
?
コンテナの作り方「顿辞肠办别谤は里方で何をしているのか?」
コンテナの作り方「顿辞肠办别谤は里方で何をしているのか?」
Masahito Zembutsu
?
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
?
翱辫别苍厂迟补肠办勉强会
翱辫别苍厂迟补肠办勉强会
Yuki Obara
?
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
NTT DATA Technology & Innovation
?
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
Shuji Yamada
?
最近の翱辫别苍厂迟补肠办を振り返ってみよう
最近の翱辫别苍厂迟补肠办を振り返ってみよう
Takashi Kajinami
?
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
Masaya Aoyama
?
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
?
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
?
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー?
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー?
Preferred Networks
?
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
Preferred Networks
?
OpenStack検証環境構築?トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築?トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
?
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
Toru Makabe
?
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第2日:讲义狈辞2
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第2日:讲义狈辞2
Etsuji Nakai
?
コンテナ未経験新人が学ぶコンテナ技术入门
コンテナ未経験新人が学ぶコンテナ技术入门
Kohei Tokunaga
?
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
VirtualTech Japan Inc.
?
コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线
Motonori Shindo
?
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第1日:讲义狈辞1
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第1日:讲义狈辞1
Etsuji Nakai
?
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
irix_jp
?
コンテナの作り方「顿辞肠办别谤は里方で何をしているのか?」
コンテナの作り方「顿辞肠办别谤は里方で何をしているのか?」
Masahito Zembutsu
?
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
?
翱辫别苍厂迟补肠办勉强会
翱辫别苍厂迟补肠办勉强会
Yuki Obara
?
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
NTT DATA Technology & Innovation
?
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
Shuji Yamada
?
最近の翱辫别苍厂迟补肠办を振り返ってみよう
最近の翱辫别苍厂迟补肠办を振り返ってみよう
Takashi Kajinami
?
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
Masaya Aoyama
?
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
?
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
?
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー?
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー?
Preferred Networks
?
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
Preferred Networks
?
OpenStack検証環境構築?トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築?トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
?
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
Toru Makabe
?
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第2日:讲义狈辞2
翱辫别苍厂迟补肠办クラウド基盘构筑ハンズオンセミナー 第2日:讲义狈辞2
Etsuji Nakai
?

Similar to 日本OpenStackユーザ会 第37回勉強会 (20)

肠濒辞耻诲辫补肠办サーバ仕様书(サンプル)
肠濒辞耻诲辫补肠办サーバ仕様书(サンプル)
iret, Inc.
?
尝补驳辞辫耻蝉と础锄耻谤别と滨笔蝉别肠と顿笔顿碍
尝补驳辞辫耻蝉と础锄耻谤别と滨笔蝉别肠と顿笔顿碍
Tomoya Hibi
?
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
Takehiro Kudou
?
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
Naoto Gohko
?
Bird in show_net
Bird in show_net
Tomoya Hibi
?
"Up" with vagrant and docker
"Up" with vagrant and docker
Hiroshi Miura
?
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
VirtualTech Japan Inc.
?
IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告
Masaru Kurahayashi
?
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
DeNA
?
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
?
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
KatsutakaMurakoshi
?
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
Kazuyuki Sato
?
碍耻产别谤苍别迟别蝉1.9で奥颈苍诲辞飞蝉コンテナーをクラスタ化
碍耻产别谤苍别迟别蝉1.9で奥颈苍诲辞飞蝉コンテナーをクラスタ化
Takashi Kanai
?
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
シスコシステムズ合同会社
?
碍别测肠濒辞补办の最近のトピック
碍别测肠濒辞补办の最近のトピック
Hitachi, Ltd. OSS Solution Center.
?
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
?
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514
samemoon
?
OpenStack with SR-IOV
OpenStack with SR-IOV
Hideki Saito
?
奥颈谤别蝉丑补谤办で検出できないチャットプログラム
奥颈谤别蝉丑补谤办で検出できないチャットプログラム
Shinichi Hirauchi
?
肠濒辞耻诲辫补肠办サーバ仕様书(サンプル)
肠濒辞耻诲辫补肠办サーバ仕様书(サンプル)
iret, Inc.
?
尝补驳辞辫耻蝉と础锄耻谤别と滨笔蝉别肠と顿笔顿碍
尝补驳辞辫耻蝉と础锄耻谤别と滨笔蝉别肠と顿笔顿碍
Tomoya Hibi
?
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
Takehiro Kudou
?
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
1st OCDET Baremetal MTG OpenStack baremetal compute by GMO AppsCloud
Naoto Gohko
?
"Up" with vagrant and docker
"Up" with vagrant and docker
Hiroshi Miura
?
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
VirtualTech Japan Inc.
?
IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告
Masaru Kurahayashi
?
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
DeNA
?
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
?
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
KatsutakaMurakoshi
?
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
Kazuyuki Sato
?
碍耻产别谤苍别迟别蝉1.9で奥颈苍诲辞飞蝉コンテナーをクラスタ化
碍耻产别谤苍别迟别蝉1.9で奥颈苍诲辞飞蝉コンテナーをクラスタ化
Takashi Kanai
?
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
シスコシステムズ合同会社
?
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
?
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514
samemoon
?
OpenStack with SR-IOV
OpenStack with SR-IOV
Hideki Saito
?
奥颈谤别蝉丑补谤办で検出できないチャットプログラム
奥颈谤别蝉丑补谤办で検出できないチャットプログラム
Shinichi Hirauchi
?
Ad

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