海外コメンタリー

マイクロサービスアーキテクチャをセキュアにするための10のティップス

Scott Matteson (Special to TechRepublic) 翻訳校正: 村上雅章 野崎裕子 2017年04月27日 06時30分

  • このエントリーをはてなブックマークに追加

 マイクロサービスをコンポーネントとして組み合わせてアプリケーションを構築することで、効率を大きく向上できるようになる。本記事では、マイクロサービスの利点とともに、セキュリティという観点から見たベストプラクティスについて解説する。

マイクロサービス
提供:iStock/matka_Wariatka

 マイクロサービスは、ソフトウェア開発を加速、向上させる革新的な方法だ。このマイクロサービスという言葉は、個別に開発でき、しばしば特定用途に特化した、サービスとして動作する、アプリケーションの構成コンポーネント(材料と考えてほしい)を指している。例を挙げると、オンラインショッピングを想定したEコマースアプリケーションでは注文の取得処理や、アカウントへのアクセス処理、在庫管理処理、出荷処理といったマイクロサービスが考えられる。TwitterやPayPal、Amazon、eBay、Netflixといった数多くの有名なEコマース企業やソーシャルメディア企業もマイクロサービスを活用している。

 マイクロサービスはコンテナとよく似ているが、まったく同じというわけではない。マイクロサービスはコンテナ内で実行できるが、コンテナはマイクロサービス内では実行できない。またマイクロサービスは、エコシステム全体の構成要素として、あるいはアプリケーションのアーキテクチャの一部として、API経由で互いに通信しあうようになっている。

 マイクロサービスには数多くの利点がある。短期間で開発でき、再利用が可能であり、スケーラビリティの向上を促進し、さまざまなプログラミング言語での開発すら可能になる。また、プログラム全体を改修するのではなく、1つか2つのマイクロサービスを修正するだけという場合、アプリケーションは簡単にアップデートできる。さらに、変更の促進や追跡、トラブルシューティング、(冗長なマイクロサービスの利用などによる)耐障害性の向上、パフォーマンスの向上にも役に立つ。

 テクノロジを構成するあらゆる要素について言える話だが、マイクロサービスにもセキュリティリスクがあり、適切な利用に向けたベストプラクティスもある。アプリケーションの脆弱性を、いわば仮想化という壁の向こう側のサンドボックスに封じ込めるものだという言い方もできるだろう。

 とは言うものの、脆弱性が無くなってしまうわけではない。たった1つのマイクロサービス(例えば、Eコマースアプリケーションにおいてアカウントへのアクセスを担当するマイクロサービス)が悪者の手に落ちただけで、リスクが生み出されるためだ。結局のところ、泥棒は家屋の一室に侵入するだけで、リビングルームにも入り込めてしまうため、液晶TVを盗み、eBayに出品できるようになる。また、あまりにも多様かつ大量のマイクロサービスがある場合、複雑さが増し、特にアプリケーションに多くの開発者がかかわり、さまざまな手法が用いられている際にはセキュリティの確保が難しくなる。

 NGINXの製品担当責任者であるOwen Garrett氏はマイクロサービスのセキュリティについて以下のように述べている。

 マイクロサービスはモノリシックなアーキテクチャとは異なったリスクを抱えている。そういった違いには以下のものが含まれている。

  • 通信方法の違い:モノリシックなアプリの場合、プロセス間の通信はメモリを用いて実現されている一方、マイクロサービスの場合にはネットワーク経由でサービス同士が通信しあうことになる。ネットワークを介した通信によって、速度面やセキュリティ面での問題が発生する。
  • データストア:マイクロサービスが使用するデータストアの数は1つとか2つというレベルではない。このため、マイクロサービス同士や、それと密接に結びついているサービスとの間に、暗黙の前提条件が生み出される可能性がある。
  • 専門的な技術知識:マイクロサービスでは、担当チームがマイクロサービスをしっかりと管理するための適切な経験やノウハウを有していない場合、複雑さが増し、セキュリティ上のギャップが生み出される恐れもある。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

この記事を読んだ方に

関連ホワイトペーパー

連載

CIO
シェアリングエコノミーの衝撃
デジタル“失敗学”
コンサルティング現場のカラクリ
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
トランザクションの今昔物語
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「展望2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
エンドポイントセキュリティの4つの「基礎」
企業セキュリティの歩き方
サイバーセキュリティ未来考
ネットワークセキュリティの要諦
セキュリティの論点
スペシャル
エンタープライズAIの隆盛
インシュアテックで変わる保険業界
顧客は勝手に育たない--MAツール導入の心得
「ひとり情シス」の本当のところ
ざっくり解決!SNS担当者お悩み相談室
生産性向上に効くビジネスITツール最前線
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft WPC
Microsoft Connect()
HPE Discover
Oracle OpenWorld
Dell Technologies World
AWS re:Invent
AWS Summit
PTC LiveWorx
吉田行男「より賢く活用するためのOSS最新動向」
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
日本株展望
企業決算
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]