失敗しないクラウドネイティブのセキュリティ対策と運用
クラウドネイティブNow

クラウドネイティブアプリケーションに必要なこと

DX(デジタルトランスフォーメーション)を進めるなかでは「アプリケーションの迅速な開発」「ビジネスニーズに合わせた柔軟な変更」「成功したデジタルサービスの展開」といった取り組みが求められており、これらを実現するために、変更が容易なクラウドネイティブアプリケーションの構築が必要になってきています。
しかし、クラウドネイティブアプリケーションの運用を考える際に、従来から利用しているIntrusion Prevention System(以下、IPSと略す)、Web Application Firewall(以下、WAFと略す)といったセキュリティ対策や、Load Balancer(以下、LBと略す)などのトラフィック制御を適用しようとすると、従来の運用方法では頻繁な変更に対応できません。この課題を解決するためには、クラウドネイティブアプリケーションに適したアーキテクチャーを考える必要があります。つまり、Kubernetesベースのコンテナ環境をフル活用し、変化の多いワークロードに追従できるセキュリティ対策やトラフィック制御の運用を実現する必要があります。

富士通では「FUJITSU Hybrid IT Service Digital Application Platform」というサービスにて、コンテナ環境「Digital Application Platform Container Platform powered by Red Hat OpenShift(以下、DROと略す)」とクラウドネイティブアプリケーションに対するセキュリティ対策やトラフィック制御「F5 BIG-IP / NGINX(注1)」を容易に運用できる機能を提供しています。本記事では、これらのサービスの特長とクラウドネイティブにおける利用について、簡潔に説明していきます。

FUJITSU Hybrid IT Service Digital Application Platformでセキュリティ対策とトラフィック制御を容易に運用

  • 注1
    F5 Networks社が提供するロードバランサー製品「BIG-IP」およびウェブサーバーソフトウェア「NGINX(エンジンエックス)」です

マネージドKubernetesサービスに対するRed Hat OpenShiftの強み

「クラウドネイティブ」なアプリケーションが必要であるとは言え、全てをクラウドへ移行することなく、オンプレミスとクラウドによるハイブリッド環境を目指している企業も多いのではないかと思います。そんな中、オンプレミスとクラウドの両環境に対してセキュリティ対策やトラフィック制御を講じていくというのは非常に手間のかかる作業です。
この課題に対し、DROの基盤であるRed Hat OpenShift(以下、OpenShiftと略す) を利用すると、オンプレミスでもクラウドでも“OpenShift さえインストールしておけば”同一手法でコンテナ環境を管理できます。容易なセキュリティ対策やトラフィック制御を実現するための環境を構築できるのです。

OpenShift は Kubernetes を包含するコンテナ環境を提供します。今では Kubernetesはコンテナ環境におけるオーケストレーションツールのデファクトスタンダードとなっており、マネージドサービスを含む様々なサービスが各社から展開されていますが、OpenShiftはKubernetes のオープンソース化初期段階からその機能を利用している、言わば Kubernetesにおける最古参のディストリビューションであり、非常に多くの稼働実績があります。

Red Hat OpenShift

OpenShift は Kubernetes 単独では提供されない、以下に示すようなコンテナ管理に必要とされる多くの機能を提供しています。

プラットフォームレイヤー

  • ベアメタル環境や仮想環境、プライベートクラウドやパブリッククラウド、そして今後増加が予想されるエッジデバイスなど、Red Hat Enterprise Linux (CoreOS を含む)が稼働している環境で動作可能。アプリケーション要件に応じた多様なデプロイを実現
  • イミュータブルで非常に堅牢なCoreOS上で稼働

クラスタサービス

ログ監視やモニタリング、レジストリーなどコンテナが正常に稼働するために必要な多くのクラスタ管理の仕組みを包含した形で提供

アプリケーションサービス

  • アプリケーションを簡単に開発するためのビルダーイメージを提供
  • OpenShift上でサポートされたDXに強いRed Hat のミドルウェア群と富士通のソフトウェア
  • Kubernetes Operator によるアプリケーションのライフサイクル管理

ディベロッパーサービス

  • OpenShift組み込みのCI/CD によるアプリケーションのテストやデプロイの自動化
  • OpenShiftとシームレスに連携できる開発環境の提供

単にコンテナアプリケーションを稼働させることだけを考えると、「Kubernetes だけあれば良い。クラウドのマネージド Kubernetes サービスを利用すれば良いのでは?」 となりそうですが、実際のエンタープライズ用途での利用を考えると、上記のように様々な考慮点が出てきます。その時に追加のコンポーネントを考慮する必要はなく、組み込みとして多くの機能がデフォルトインストールのみで提供されている事、さらに、オンプレミスでもクラウドでも同じような構成で同じように管理運用できる、それがOpenShiftの大きなアドバンテージの一つとなっています。

DROで実現するセキュリティ対策とトラフィック制御

DROとOpenShiftの組み合わせによる環境(以下、DRO/OpenShiftと略す)を構築してコンテナアプリケーションの運用を統一化した上で、最後にセキュリティ対策とトラフィック制御について考えてみます。

まずは一般的なアプリケーションの構成として、クラウドでもオンプレミスでも必ずアプリケーションの手前にはLBが存在し、アプリケーションレイヤーでの振り分け(L7LB)の役割を実行しています。パスベースの振り分けであったり、ヘッダーやCookieを見ての振り分けであったり、そこにはアプリケーションの特性に合わせた振り分けロジックが存在します。
従来のアプリケーションの場合、L7LBの設定手順はどうなるのでしょうか。アプリケーション開発チームからネットワークチームへ申請があり、作業手順書を作成してレビューし、エンジニアをアサインして土日の深夜に作業を行う、という手順になるかもしれません。これだと迅速なデプロイメントの妨げとなってしまいます。(Ansible等での自動化で解決する方法も有効な解決策だと思います。)

これまでの運用

これがコンテナ環境になるとKubernetes Ingress(以下、Ingressと略す)という仕組みによってL7LBの役割を実行することができるようになります。

これからの運用

DRO/OpenShiftで提供されている様々な機能(CI/CDツールやモニタリング等)やIngressの仕組みにより、L7LBの設定もアプリケーションの一部としてInfrastructure as Codeで管理できるようになり、迅速なデプロイメントを実現できます。また、エンタープライズレベルのミッションクリティカルなコンテナアプリケーションでは、より高度で柔軟なトラフィック制御が求められており、それを実現するためにDRO/OpenShiftではNGINX Ingress Controllerを活用することができます。DRO/OpenShiftのデフォルト設定ではOpenShift RouterというモジュールがIngressの仕組みを実現しますが、NGINX Ingress ControllerはOpenShift Routerと共存し、使い分けることができます。

NGINX Ingress Controllerの活用

DRO/OpenShift上でNGINX Ingress Controllerを活用して、柔軟なトラフィック制御や迅速で容易な運用を実現できますが、さらにNGINX App Protectというモジュールをアドオンすることにより、Ingress機能でWAFを実現できます。本特集ではWAFの細かい説明は省きますが、特別なフォーマットで設定を・・ということではなく、Kubernetesのマニフェストファイルでセキュリティポリシーを設定でき、Infrastructure as CodeでNGINXを運用している場合、Security as Codeとしてセキュリティ機能も追加してCI/CDに組み込むこともできます。
L7LBもセキュリティも、アプリケーションに近ければ近いほど迅速に管理でき、頻繁なデプロイメントや脆弱性等への最速な対応を実現します。

このようにセキュリティ対策やトラフィック制御は今やアプリケーションの一部となっています。DROや様々なツール、Ingressをうまく活用して理想的なCI/CDサイクルを構築し、失敗しないクラウドネイティブのセキュリティ対策と運用を実現しましょう。

関連情報

当社が提供するDX実現の課題にお応えするハイブリットITサービスの詳細は下記ページをご覧ください

F5 Networks社が提供する製品の詳細は下記ページをご覧ください。

本コンテンツに関するお問い合わせ

お電話でのお問い合わせ

富士通コンタクトライン(総合窓口)

0120-933-200

受付時間:9時~12時および13時~17時30分
(土曜日・日曜日・祝日・当社指定の休業日を除く)

Webでのお問い合わせ

当社はセキュリティ保護の観点からSSL技術を使用しております。

ページの先頭へ