クラウドネイティブな環境でも「やることは変わらない」――GMOペパボにおけるインフラセキュリティ管理、7つの取り組み:1000VM規模のOpenStackとAWS、GCPの環境をどう守る
レンタルサーバやホスティング、EC支援など幅広く事業を展開するGMOペパボ。OpenStack、ベアメタル環境、クラウドとITインフラの変遷を反映したような同社のインフラ構成において、セキュリティ対策にどう取り組んでいるのか。@ITが2022年9月に開催した「Cloud Native Week 2022秋」でGMOペパボの山下和彦氏が紹介した。
GMOペパボはレンタルサーバやホスティングに始まり、EC支援事業など幅広く事業を展開してきた。それに伴い拡大してきた同社のインフラもまた、幅広い種類で構成されている。
オンプレミスのデータセンター(DC)に構築したOpenStackや、ベアメタル環境に加え、Amazon Web Services(AWS)、Google Cloud Platform(GCP)といったクラウドサービスと、大きく分けて4種類の基盤で構成されている。AWSならば「Amazon EKS」「Amazon RDS」「Amazon ElastiCache」といったマネージドサービスを中心に利用し、GCPならば「GKE(Google Kubernetes Engine)」「Google BigQuery」などデータ分析用途で活用するとともに、DCに障害があったときの退避先としている。一方、DCのOpenStack上では複数の仮想マシン(VM)やKubernetesクラスタを動かしている。
このように、ITインフラの変遷を反映したような構成の中で、どのようにセキュリティを確保しているのだろうか。同社の山下和彦氏(技術部技術基盤チーム シニア・プリンシパル エンジニア)は、2022年9月に@ITが主催した「Cloud Native Week 2022秋」で自社内、特にクラウドネイティブな環境で、セキュリティ向上にどう取り組んでいるかを紹介した。
クラウドネイティブであろうとやるべきことは変わらない
クラウドネイティブのような新しい環境には新しいセキュリティが必要だ――と思ってしまいそうだが、山下氏の意見は異なり、「あまりこれまでと変化はない」という。
「『機密性』『完全性』『可用性』というセキュリティの三要素は変わらず普遍的なものとしてあり、クラウドネイティブ技術であろうと、それに基づいた対応をする必要があると考えています」(山下氏)
コンテナであれば、利用するパッケージや特権管理において脆弱(ぜいじゃく)性を含まない状態にし、サービスメッシュ間の通信ならば認証、認可を経た上で暗号化する……といった具合だ。オンプレミス環境に構築したサーバで、最小権限の原則に基づいてアカウントを管理し、パッチを適用して最新の状況を保つのと何ら変わらない。
とはいえ、クラウドネイティブな環境で使われる宣言的APIには、宣言的であるが故にCI(継続的インテグレーション)サイクルの中でテストや監査がしやすいといったメリットがある。そのため、開発の前工程で脆弱性を発見し、影響が小さいうちに修正させていく「シフトレフト」との親和性は高い。
GMOペパボではこうした特質も踏まえつつ「クラウドネイティブだからといって、これまでと異なる対応はしない」という原則に基づいてセキュリティ対策を実施してきた。
ただ、「コンテナやKubernetesは比較的新しく、かつ低レイヤーの技術も使われている難しい技術領域です。マネージドサービスで運用するといっても、要素技術やプラットフォームに対する知識がないと、安全に運用するのは難しい印象です」と山下氏は言う。そこでGMOペパボでは、Kubernetesクラスタの構成管理を担うエンジンを自社開発するなど、組織横断的な形で技術にキャッチアップし、内部で技術を積み上げながら安全に運用できる状態を作り出してきた。
アプリケーションからコンテナ、ライブラリ、組織に至るまでの7つのポイント
山下氏によると、GMOペパボは7つの側面からセキュリティの取り組みを進めてきた。
Copyright © ITmedia, Inc. All Rights Reserved.