AWSで新しいメッセージブローカーサービスがリリースされる
マネージドなサービスとして、Amazon MQはActiveMQの管理とメンテナンスを行います。ブローカーのプロビジョニング、バッチ適用、可用性とメッセージの耐障害性のため障害検知とリカバリです。Amazon MQを使えば、ActiveMQのコンソールにダイレクトにアクセスできます。また、業界標準のAPIとメッセージングプロトコルでもアクセスできます。JMS、NMS、AMQP、STOMP、MQTT、WebSocketといったプロトコルです。標準を使っているメッセージブローカーであれば、どんなものでも、リライトせずにAmazon MQに移行できます。
Amazon MQはサーバにインストールする必要はない。AWS管理コンソール画面やAmazon MQ REST API、コマンドラインインターフェースを使って動的にプロビジョニングできる。Amazon MQコンソールを使えば、ブローカーの設定も簡単だ。名前を付けて、インスタンスタイプを定義して、配置モードとウェブコンソールからのアクセスのための認証情報を作れば、ブローカーの準備は完了だ。
re:InventでのAmazon MQサービスの発表のセッションで、AWSのブロダクトマネージャであるTrevor Dyck氏はAmazon MQの利点を発表した。
- 高可用性。プロダクションで起動するブローカーは、アクティブ/スタンバイ配置が保証されている。ふたつのアベイラビリティゾーンにふたつのブローカーインスタンスが構成され、ストレージの場所を共有した冗長構成になる。
- 安全。データが転送されるときは暗号化(TLS)され、メッセージストアで永続化されているときは暗号化されている。さらに、Amazon MQをデフォルトでAmazon クラウドブローカーとは VPCと統合すると、顧客は更なる安全のため、セキュリティグループを設定できる。
- 豊富なメッセージング機能。キュー、トピックス、分散トランザクション、メッセージの転送と永続化、メッセージサイズの上限、メッセージリテンションなど。
- 移行。既存のActiveMQからXMLベースのインポート機能を使って、移行できる。Amazonはメッセージストアのような構成情報は設定できないようにしている。Amazonが管理するからだ。
- 監視機能。ActiveMQには監視機能がないため、Amazon MQはCloudWatchが統合されており、ブローカー、トピック、キュー、プロビジョニングアラームなどのメトリクスと分析を提供する。
- 使った分だけ支払う。Amazon MQを使う場合、顧客は起動しているメッセージブローカーインスタンス、ストレージ、データ転送の料金を支払う。アメリカ、ヨーロッパ、オーストラリアのリージョンで利用可能。詳細な価格についてはこちら。
さまざまなベンダ、パブリッククラウドのプロバイダが、メッセージブローカーを提供してしている。従来通り固定されたオンプレミスのインフラでクラスタ構成で提供しているものもある。クラウドでサービスとして提供しているのもある。AmazonはすでにAmazon SQSとAmazon SNSを提供し、顧客がクラウドスケールのアプリケーションを開発するのを支援している。既存アプリケーションを互換性を保ったままクラウドへ移行したいのなら、Amazon MQが良い選択肢だ、とAmazonは考えている。
Amazon MQには多くの利点があるが、MicrosoftのAzure Service BusやGoogleのCloud Pub/Subのような他のクラウドサービスにも同様の利点がある。しかし、これらのサービスはAmazon SQSとAmazon SNSを念頭に置いて開発されており、ActiveMQのようなオンプレミスのブローカーをクラウドへ移行することはできない。
SDPについて抑えるポイントはたった7つだけ
SaaSモデルに比べると、コンポーネントを運用が必要です。また各コンポーネント(コントローラーとゲートウェイ)はファイアウオールの裏に設置し、ポートの開放(TCP443)が必要です。 しかし、このSDPの重要なポイントとして"ポートノッキング"の仕組みを応用したSingle Packet Authorization(SPA)をつかうことで、ファイアウォールで公開された各コンポーネントの存在を完全に隠すことができます。
いずれの方式であっても、SDPは重要なコンポーネントを外部にさらすことなく、安全な入り口を用意することができます。
ポイント3。通信の経路の違い
SaaSモデル/ブローカー方式SDP
オンプレモデル/SPA方式SDP
コネクター、ゲートウェイまでの経路によって、VPNを張る場所やタイミングが変わってきますね。
ポイント4。払い出されるIPアドレスと通信先で利用するIPアドレスに注目
SaaSモデル/ブローカー方式SDP
リモートデバイスがVPN接続状態になった際割り当てられる仮想IPアドレスに注目します。ネットワークの管理がSaaSで提供されるのでカスタマイズ性などを確認します。 基本的にリモートデバイス側はプライベート空間にアクセスすることが目的なので、特にこだわりがなければチェックは不要です。 もう一つ、コネクターを経由してサーバーにアクセスする際の送信元IPアドレスにも注意してください。多くのコネクターはサーバーにアクセスする際のソースNATのみ提供している場合があります。 サーバーからアクセスログを見ると、VPN経由のアクセスがすべてコネクターのIPからのみということになります。
オンプレモデル/SPA方式SDP
リモートデバイス側からの視点だけでなく、受信する側のアクセス制御やロギングの運用を考えてみましょう。
ポイント5。連携できる認証サーバー
ユーザー認証は必須です。 SaaS型の場合、プライベートな環境に設置されたローカルDB(Radius, Active DirectoryやLDAP)と直接連携できないことがあります。ケースによってはSAMLしかサポートしないということも考えられます。
オンプレ型は、コントローラー自体がユーザーのプライベート空間に設置するので、ローカルDBをそのまま活用でき、SAMLとの連携も可能なケースが多いです。
ユーザーDBの管理と運用を含めて、合わせて考えておくことをおすすめします。
ポイント6。アクセスポリシーと通信可能なプロトコル
- アクセス先の指定: ネットワークアドレス、ホスト名、リソース名で指定。
- 送信元のコンテキスト(ユーザー名、デバイス情報、アクセスの時間、ロケーション)を識別できるか、また制御できるか。
- ポリシーの作り方また条件文に柔軟性があるか。(AND条件、OR条件、IF条件など)
- リモートデバイスから通信するプロトコル/ポートに制限があるか。(TCP/UDP, ICMP, GRE, ESPなど)
- アクセス中の通信やデバイスの状態を監視できるか。アクセスポリシーをどのタイミングで変更できるか。
メーカーがどの機能を指して、"ゼロトラスト"と言っているのか。重要なポイントです。
ポイント7。ロギングと可視化
- アクセスログ、リアルタイムログの機能 クラウドブローカーとは
- レポーティングツール
- グラフィカルな可視化機能(ダッシュボードなど)
- 保持できるログ容量(クラウドの場合は注意)
- サードパーティのログサーバーへの出力
- わかりやすいマニュアル
従来のVPNに比べると、ログは必ず多くなります。これはユーザーのコンテキストの情報やアクセスポリシーの条件が細かくなるため。そのためロギングはゼロトラストにおいて重要な部分です。
IPSecやSSL-VPNでもトンネル自体の暗号化強度が十分であれば、通信の安全性は担保できます。 しかし、VPNゲートウェイを公開することによるリスク(ハードウェアの脆弱性、外部からのDoS攻撃、ポリシーの粒度の粗さ)に踏まえて、突発するリモートアクセスユーザーの増加などスケールアウトが難しいという状況に直面しています。
また、ユーザー認証だけを強化しても、ユーザーの意思までを制御することは難しく、デバイス認証まで実現しようとすると、システム全般が複雑になってしまいます。 SDPはLANもWANも関係なく、どんな状況でもユーザーとデバイスを検証し、適切にアクセス権限を与え、かつ外部からの攻撃リスクを減らすこと狙えるソリューションです。
CASBとSASEの比較:その違いとは?
Dave Greenfield
CASB(クラウドアクセスセキュリティブローカー)は、2010年代後半に最も注目を集めた情報セキュリティ市場セグメントです。ガートナーは、46%の年平均成長率(2017年から2022年まで)をこのセグメントに予測しました。ガートナーは、ワークロードのクラウドへの移行に伴う課題に対応するセキュリティソリューションをCASBと名付け、「The Future of Network Security in the Cloud」レポートでは、その他のネットワークおよびセキュリティサービスを同時にクラウドセキュリティに提供する、SASE(セキュアアクセスサービスエッジ)を事実上のCASBの上位集合として位置付けました。これにより、CASBに代わり、SASEが注目されるようになりました。
CASBとは何なのか? SASEの概念にどのように位置付けられるのか? また、CASBが提供していないSASE機能は何なのか? ここでは、このような疑問について詳しく説明します。
CASBとは
ガートナーによるCASBの定義
- 脅威からの保護。攻撃対象となる領域やハッキング、ユーザーの過失、マルウェアなどの攻撃にさらされる可能性は、クラウドサービスの導入と足並みを合わせて増加します。新しいサービスが増えると、攻撃対象も増えます。CASBは、クラウドサービス専用のSWGやアンチマルウェアエンジンなどの機能により、脅威に対する防御を支援します。
- データセキュリティ。 トークン化、アクセス制御、DLP(データ損失防止)などのセキュリティ機能により、データの完全性を保護できます。CASBは、クラウドサービス向けのデータセキュリティを提供し、重要なデータのセキュリティ侵害リスクを軽減して、クラウドへの移行を支援します。
- 規制遵守。PCI-DSSやHIPAAなどの規制遵守は、オンプレミスでさえ、かなり複雑です。クラウドのデータセキュリティとデータ主権を考慮すると、複雑さがさらに増します。CASBは、クラウドサービスにおいて規制を遵守および維持するために役立ちます。
- 可視化。 ワークロードが複数のクラウドプラットフォームに分散すると、ベンダーごとにログ、監査、監視のプロセスが異なるため、ネットワークの可視化が制限される可能性があります。これは、IT部門が明示的に許可していないクラウドサービスにユーザーがアクセスする場合に特に問題となります。CASBは、複数の異種クラウドプラットフォームをまたぐ活動を記録および追跡する手段を提供します。
CASBの不足要素
SASEがCASBに提供する機能
世界初のSASEプラットフォーム
Cato Networksは、ガートナーの「エンタープライズネットワーキングのハイプサイクル 2021」で「Sample Vendor(見本となるベンダー)」に位置付けられ、世界初の真のSASEプラットフォームを提供しています。SASEの可能性を最大限に高める、Cato SASEプラットフォームは、ゼロから構築され、現代のデジタルエンタープライズのニーズに対応しています。今日、SASEを本質的に実現する唯一のプラットフォームです。
Open Service Broker クラウドブローカーとは for さくらのクラウドでKubernetes + Service Catalog出来るようになりました
元々はCloud Foundryから始まった仕組みらしいのですが、Service Brokerが非常に便利な仕組みだったために
Kubernetesなど他のプラットフォームでも利用できるようにCF依存でないオープンな仕様として Open Service Broker API が策定されたようです。
(Cloud Foundry周りにあまり詳しくないのでこの辺は後述の参考サイトなどを参照ください…)
Open Service Broker APIの策定はCloud Foundry Foundation (CFF)によってホストされており、現在のAPIバージョンは 2.13 となっています。
このCFFにはFujitsu, Google, クラウドブローカーとは IBM, Pivotal, RedHat, SAPといったメンバーが参加しているとのことです。
KubernetesとOpen Service Broker APIの関係は?
KubernetesにおいてもOpen Service Broker APIを利用するための仕組みが開発されています。
それがkubernetes-incubatorのService Catalogというものです。
具体的にはService CatalogはKubernetesのカスタムリソースとして ServiceInstance と ServiceBinding を追加し、それらを管理するコントローラー+APIサーバを提供してくれます。
つまり、Kubernetes利用者からは以下のように kubectl コマンドでリソースを追加することで、外部のサービスを利用できるようになります。
これでAzure上のMySQL(Azure Database for MySQL)のインスタンスが作成されます。
このMySQLを各Podなどから利用できるようにするためのクレデンシャルの発行を以下のように行うことができます。
(なお、このインスタンス作成のことを Provisioning 、クレデンシャルの発行(仕様上は以外も出来ますが)を Binding と呼びます)
各PodではSecretを参照することでデータベースのホスト名/データベース名/ユーザー名/パスワードなどを知ることができます。
kubernetes上で完結できるので、例えばHelm chartとしてきちんと永続化したいデータを持つアプリなどの配布を行う際に非常に便利に使えます。
本題: Open Service Broker for さくらのクラウド
そして今回実装したのがService Catalogから依頼を受けて実際にサービスを調達する部分です。
これを利用することでkubernetesからさくらのクラウド上のマネージドなサービスを利用することが容易になります。
先ほどのAzureの例のように、 kubectl コマンドからさくらのクラウド上のマネージドDBであるデータベースアプライアンスを作成できます。
Open Service Broker for さくらのクラウドの使い方
クラスタを持っていない方はDocker for WindowsまたはDocker for MacでもOKです。
その場合、L2TP/IPSecなどでVPCルータに対してVPN接続を行っておきましょう。
インストール
Helmのインストール
インストールしたら helm init を実行しておきます。
Service Catalogのインストール
(オプション) Service Catalog CLIのインストール
必須ではないですが、Service Catalog専用のCLI( svcat )をインストールしておくと詳細な情報が参照できて便利です。 CLIを試してみたい方はドキュメントを参考にインストールしてみてください。
Open Service Broker for クラウドブローカーとは さくらのクラウドのインストール
続いてHelmでOpen Service Broker for さくらのクラウドのインストールを行います。
さくらのクラウドのAPIキーが必要となりますので、発行していない方はコントロールパネルなどから発行しておいてください。
インストール後は kubectl get pod --namespace=osbs を実行して動いているか確認しましょう。
kubectl コマンドでデータベースアプライアンスを作成してみる
さくらのクラウド上のスイッチのIDとデータベースに割り当てるIPアドレス関連の記入が必要です。
記入したら kubectl コマンドを実行します。
うまくいきましたね? しばらく待つとさくらのクラウド上に新しいデータベースアプライアンスが作成されているはずです。
数分かかりますので気長に待ちましょう。
作成したデータベース上にアカウントを作成してみる
次に、Podなどから利用できるようにデータベース上に新たなアカウントを発行し、Kubernetesのsecretにクレデンシャルを登録します。
こちらも先ほどと同じくyamlファイルを作成して kubectl コマンドを実行することで行えます。
kubectl を実行すると、 my-mariadb-secret という名前でデータベースへのログイン情報(クレデンシャル)が登録されているはずです。
応用: 作成したデータベースを利用する例
応用例としてService Broker for さくらのクラウドを利用するhelm chartを作成してみました。 イケてるデータ可視化ツールである Metabase をインストールする例となっています。
Metabaseのバックエンドとしてさくらのクラウドのデータベースアプライアンスを利用、データベースアプライアンスはOpen Service Broker for さくらのクラウドが管理します。
ということで今回はOpen Service Broker for さくらのクラウドについて紹介しました。
Open Service Broker/Service Catalogは非常に便利ですのでぜひ使ってみてください!!
この記事を書くのに以下の記事/スライドを大いに参考にさせていただきました。
Service Brokerの仕組みについてはこちらの資料を読むのがおすすめです。
クラウドブローカーとは
-クラウド利用に関する実態調査 2021-
新型コロナウイルスの感染拡大で約9割の法人組織がクラウド利用を加速
トレンドマイクロ株式会社(本社:東京都渋谷区、代表取締役社長 兼 CEO:エバ・チェン 東証一部:4704、以下、トレンドマイクロ)は、法人組織におけるIT部門の責任者2,565名(全体(日本を含む28の国と地域:2,565名)、日本:100名)を対象に「クラウド利用に関する実態調査」を2020年10月に実施しました。調査結果の概要は以下の通りです ※1 。
※1 調査結果のパーセンテージは、小数点以下第二位を四捨五入した数値です。
◆新型コロナウイルスの感染拡大で約9割の法人組織がクラウド利用を加速
新型コロナウイルスの感染拡大防止のために、世界中の法人組織はITを利活用したデジタルトランスフォーメーションが求められています。このような状況に伴い、法人組織のクラウド利用計画が加速していることが本調査により分かりました。新型コロナウイルスの感染拡大でクラウドの利用計画が「非常に加速した」「やや加速した」と回答した法人組織は、世界全体では87.2%でした。一方で、日本は78.0%と全世界の中で最低順位であり、新型コロナウイルスの感染拡大防止のためのITの利活用が海外と比べると進んでいない実態が伺えます。
◆プライバシー/セキュリティがクラウドを採用する際の障壁
本調査の回答者の45.0%は、プライバシー/セキュリティの課題がクラウドを採用する際に「非常に重要な」または「重要な」障壁であると回答しました。また、回答者の38.2%はデータアクセスがクラウドを採用する際の「非常に重要な」または「重要な」障壁であると回答しています。
クラウドを運用するうえでの課題を三つ選択する質問では、一貫したセキュリティポリシーの設定と継続(34.5%)、パッチ適用と脆弱性管理(33.3%)、およびトラフィックフローの保護(33.3%)の順に回答が多くなりました。
◆最も重要と評価されたクラウド環境のセキュリティソリューションは、ネットワークセキュリティ
最も重要と考えるクラウド環境のセキュリティソリューションを一つ選択する質問では、全世界では、ネットワークセキュリティ(27.6%)、クラウドセキュリティポスチャ管理(26.2%)、およびクラウドアクセスセキュリティブローカー(18.9%)でした。日本だけに限定した結果では、ネットワークセキュリティ(30.0%)、クラウドアクセスセキュリティブローカー(22.0%)、コンテナセキュリティ(21.0%)でした。
コメント