Weitere ähnliche Inhalte Ähnlich wie 【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践 (20) Mehr von 日本マイクロソフト株式会社 (20) Kürzlich hochgeladen (10) 【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践1. *本資料の内容 (添付文書、リンク先などを含む) は de:code 2020 における公開日時点のものであり、予告なく変更される場合があります。
#decode20 #
Azure Red Hat OpenShift(ARO)による
システムアーキテクチャ構築の実践
A08
福垣内孝造
アクセンチュア株式会社
プリンシパル・ディレクター
3. セッションアジェンダ
• Why OpenShift
• Azure Red Hat OpenShift
• AROによる全体アーキテクチャ-想定構成
• AROシステム運用向けに実装した機能
• 開発アーキテクチャ(CI/CD)
• セキュリティ
• 運用アーキテクチャ
• ARO v3.11とv4.3の機能差異
• まとめ
5. 44%
23%
6%
3%
2%
22%
1 2 3 4 5 6
Why OpenShift(2/2)
エンタープライズマーケット
では商用製品が好まれる
傾向にあり、商用のコンテ
ナサービスとしてRed Hat
は有力な選択肢
https://technology.ihs.com/617145/red-hats-container-software-strategy-paying-off-for-now
商用サービスで最も
利用されているのは、
Red Hat
商用版コンテナソフトウェアの収益・マーケットシェアの状況
6. Azure Red Hat OpenShift(1/4)
CLUSTER
SERVICES
APPLICATION
SERVICES
DEVELOPER
SERVICES
モニタリング、ロギング
チャージバックレジストリ
ミドルウェア、サービス
メッシュ機能、ISV
ビルド自動化、
CI/CD、IDE
自動化されたオペレーション
Kubernetes
Red Hat Enterprise Linux CoreOS
様々なインフラストラクチャ
物理サーバ 仮想サーバ パブリッククラウド
7. Azure Red Hat OpenShift(2/4)
OpenShift
Dedicated
Azure Red Hat
OpenShift
OpenShift
Container Platform
AWS, Azure, or Googleから
提供されるマネージドサービス
オンプレミスまたはクラウドに自由
にインストールして、ハイブリッド
展開に対応
MicrosoftとRed Hatによる共
同エンジニアリング、運用、統合
サポート
Hosted Services Self-Managed
8. Azure Red Hat OpenShift(3/4)
Responsibility Matrix
ユーザ管理
プロジェクト・クオータ管理
アプリケーションライフサイクル
クラスタープロビジョニング
クラスター管理
ネットワーク設定
ソフトウェア・セキュリティ更新
プラットフォーム管理(IaaS)
User ARO
✔
✔
✔
✔
✔
✔
✔
〇
Azure Active
Directory
OpenShift API/Administration console
Azure DNS
Public IP
Azure Load
Balancer(Master)
OpenShift
SDN
Azure Premium SSD
Managed Disks
Node-1 Node-2 Node-3
api-server + controller-manager +
etcd
Azure Premium
SSD Managed
Disks
registry + router
Azure Premium SSD
Managed Disks
Node-1 Node-2 Node-N
application pods
Azure
Blob
Storage
Azure Load
Balancer(Router)
Azure VMs(Application)
Scale sets
Azure VMs(Infrastructure)
Scale sets
Azure VMs(Master)
Scale sets
Virtual network
・・
Public IP Public IP
App 1 App 2
Public IP
ユーザ
App
定義
Node-1 Node-2 Node-3
9. Azure Red Hat OpenShift(4/4)
Azure Active
Directory
OpenShift API/Administration console
Azure DNS
Public IP
Azure Load
Balancer(Master)
OpenShift
SDN
Azure Premium SSD
Managed Disks
Node-1 Node-2 Node-3
api-server + controller-manager +
etcd
Azure Premium
SSD Managed
Disks
registry + router
Azure Premium SSD
Managed Disks
Node-1 Node-2 Node-N
application pods
Azure
Blob
Storage
Azure Load
Balancer(Router)
Azure VMs(Application)
Scale sets
Azure VMs(Infrastructure)
Scale sets
Azure VMs(Master)
Scale sets
Virtual network
・・
Public IP Public IP
App 1 App 2
Public IP
ユーザ
App
定義
Node-1 Node-2 Node-3
基盤はAROで自動的に構築
利用者はアプリケーションの開発に専念
Responsibility Matrix
ユーザ管理
プロジェクト・クオータ管理
アプリケーションライフサイクル
クラスタープロビジョニング
クラスター管理
ネットワーク設定
ソフトウェア・セキュリティ更新
プラットフォーム管理(IaaS)
User ARO
✔
✔
✔
〇
〇
〇
〇
〇
10. AROによる全体アーキテクチャ-想定構成
API Gateway
Kubernetes
Pod Pod Pod
S2I
GitLab
ACR,
Nexus
Build
Istio
Jenkins
Docker Image
Deploy
OpenShift(ARO)
ストレージBlob Storage
開発用CI/CD
コンテナ実行基盤
Azure DNS
Pull
Azure
データベース
DBサービス
FaaS/PaaS
WebApps
Azure
Functions
LogicApps
仮想サーバ
仮想サーバ
運用監視
Azure
Monitor
Cosmos
DB
OpenShiftとAzureサービスをつないで利用するアーキテクチャ
14. セキュリティ(1/4)
拠点 ネットワーク OS・アプリ データ
システム監査
内部統制
セキュリティ診断、リスク評価
不正アクセス防止
ウィルス対策
画像監視
不正アクセス検知/情報漏洩検知/不正操作トレース
(SIEM : Security Information and Event Management)
ウイルス検知
不正アクセス防止
(L3/4/7、クラスタ)
不正操作防止
(認証/認可、権限、脆弱性)
情報漏洩防止
OpenShift機能を利用
凡例
Azure機能を利用
Azureに備わっている
セキュリティ対策の仕組み
3rdベンダー製品利用
予防
防御
検知
16. セキュリティ(3/4)
防御
コンテナ
認証/認可不正操作
Azure Container Registry
Azure Security Center
OpenShift Security Context Constraints
データベース Azure Database
セキュリティ・リスクと対策箇所 対応ソリューション
コンテナ
ディスク
Azure Container Registry
Azure Disk Encryption
Azure Key Vault
ネットワーク
SSL/TLS
Azure VPN Gateway
暗号化情報漏洩
OpenShift機能を利用
凡例
Azure機能を利用
Azureに備わっている
セキュリティ対策の仕組み
3rdベンダー製品利用
18. 運用アーキテクチャ –コンテナログ収集
Blob Storage
Log Analytics
Workspace MasterMaster
FluentdOMS Agent
/var/log/
containers/*.log
/var/log/kube-
apiserver/audit.log
MasterWorker
FluentdOMS Agent
/var/log/containe
rs/*.log
tail
tail
put
put
OpenShift
モニタリング
アーカイブ
OpenShift の監査ログ
を収集し、長期間データ
保存するには、Fluentd
で Blob Storage へアー
カイブ
21. 運用アーキテクチャ – バックアップ
仮想マシン
データベース
Recovery Services
vaults
Backup Storage
ディスク
Recovery Services
vaults
構成
変更時
構成
変更時
日次
OpenShift
アプリケーションデータ (※)
Azure Storage
Account
日次
コンテナイメージ
Azure Container
Registry
構成
変更時
Azure Backup
Azure Database
Snapshot
Azure Backup
Rundeck + OpenShift
Job
Azure Container
Registry
※ OpenShift で永続化ストレージを利用したコンテナを稼働する場合にバックアップを行う
バックアップ対象 バックアップ方法 保管先
レプリ
ケーション
GRS
GRS
GRS
GRS
GRS
3世代
7世代
3世代
3世代
3世代
保持期間間隔
22. 西日本リージョン
運用アーキテクチャ –DR
東日本リージョン
GEO backup
PostgreSQL
ACR
Storage
Azure Red Hat OpenShift
VM
Disk
GEO backup
Alert
Monitor(Log)
restoreattach
Key Vault
deploy terraform / manifest
Deploy ARM template
connect
monitor
GRS
Recovery Service Vault
GRS
snapshot
PostgreSQL
GEO restore
VM
ACR
Storage
Key Vault
GEO replication
GEO replication
GEO replication
restore
Switch Application GW route 自動 手動
バックアップデータを西
日本リージョンに保存
西日本でAROが利用
可能になれば、ARO
にバックアップデータを
ロード
23. ARO v3.11とv4.3の機能差異(1/2)
項目
ARO
3.11
ARO 4.3
Preview
内容
L4 Firewall × 〇 4.3ではNSG、Route-specific IP Whitelistsが利用可能
WAF △ 〇 AROのフロントにApplication Gateway + WAFを配置可能だが、3.11ではAROへの直接アクセスを制御できない
Private Link × 〇 Private Link経由でImageをPullしてPodがデプロイできることを確認
Express Route × - サポートしている模様
VNet Peering △ - サポート問い合わせ中
パケットキャプチャ × × 4.3でも未対応
NSGフローログ取得 × 〇 4.3で対応
TLSバージョン修正 △ 〇 4.3ではコンソール/route向け通信が同一IPとなり、TLS1.0/1.1が無効
PodでクライアントIPアド
レスの取得
△ 〇 3.11ではApplication Gatewayを経由した通信であれば可能。4.3では常に取得可能
国内マルチリージョン × 〇 2020年5月時点で、PreviewはEastUSのみ
プライベートクラスタリング × 〇 4.3では、プライベートクラスタを作成可能
AzureADとOpenShift
RABC統合 × × 4.3がPreview版なので、認証にAzure ADを使っていない。LDAP Identify Providerは存在
監査ログ × 〇
4.3で対応。https://docs.openshift.com/container-platform/4.3/nodes/nodes/nodes-nodes-audit-
log.html
ARO v3.11は2020年1~2月で検証/ARO v4.3は2020年3~4月で検証。v4.3はUSを利用。検証時点の動作を記述しており、後でアップデートされている
24. ARO v3.11とv4.3の機能差異(2/2)
項目
ARO
3.11
ARO 4.3
Preview
内容
etcd暗号化 × 〇 4.3で対応。https://docs.openshift.com/container-platform/4.3/authentication/encrypting-etcd.html
Operator × 〇 4.3で、Operator経由でインストールしたTekton、Service Mesh、Jaegar、Kialiの動作確認済み
Prometheus/Grafana 〇 〇 3.11からプリセット。3.11検証時点では、利用者に非公開
EFK Stack △ 〇 3.11ではFluentdをSidecarパターンで配置することでPodのログのみ取得可能
PodAutoScaler 〇 〇
CPU使用率によるスケールアウト/スケールインに対応。3.11検証時点では、kubernetes上に
HorizontalPodAutoscaler自体を作成できるものの連動せず
DaemonSet 〇 〇
4.3でEFK Stackの中でFluentdがDaemonSetで配置されていることを確認。3.11検証時点では、自前のpodを
DaemonSetとして各ノードで動かせなかった
Node selector × 〇
4.3から対応。https://docs.openshift.com/container-platform/4.3/nodes/scheduling/node-scheduler-
node-selectors.html
Taints & Toleration × 〇
4.3から対応。https://docs.openshift.com/container-platform/4.3/nodes/scheduling/node-scheduler-
taints-tolerations.html
Privileged コンテナ × 〇 4.3から対応
Service Mesh × 〇 4.3から対応
分散トレーシング × 〇 Red Hat OpenShift Service Meshnに組み込まれているJaegarとKialiでトレーシング可能
Helm × 〇 4.3から対応
Tekton × 〇 2020年5月時点ではPreview版
ARO v3.11は2020年1~2月で検証/ARO v4.3は2020年3~4月で検証。v4.3はUSを利用。検証時点の動作を記述しており、後でアップデートされている
26. Thank You.
© 2020 Accenture All rights reserved.
本情報の内容 (添付文書、リンク先などを含む) は、公開日時点のものであり、予告なく変更される場合があります。
本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。