コンテンツに移動
ネットワーキング

Dev(Sec)Ops ツールキットで、インターネット接続アプリケーションを 1 時間以内に配信して保護

2023年10月12日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 10 月 5 日に、Google Cloud blog に投稿されたものの抄訳です。

このたび、インターネットに接続するグローバル フロントエンド アプリケーション向けの Dev(Sec)Ops ツールキットのプレビュー版がリリースされたことをお知らせいたします。このツールキットは、Google Cloud 上で新しいアプリを 1 時間以内に起動できます。最近発表された Cross-Cloud Network ソリューション に含まれており、お客様のアプリケーションのスケーリングとセキュリティ保護を支援します。

Dev(Sec)Ops ツールキットは、エキスパートにより厳選されたすぐに使えるソリューションを提供し、インターネットに接続するアプリケーションの配信を加速します。ツールキットに含まれるサンプル アプリケーションは、提供されているリファレンス アーキテクチャに従って、お客様がどのように Cloud Load Balancing、Cloud Armor、Cloud CDN を迅速に統合できるかを示します。このツールキットは Cloud Build、または Jenkins や Gitlab などのサードパーティ CI/CD ツールを通じてアプリケーションのデプロイをサポートします。

Dev(Sec)Ops ツールキットを使用すると、Google のグローバル コンピューティング プロダクトやネットワーキング プロダクトの価値を実現できます。個々のコンポーネントの利用経験は必要ありません。このツールキットは、簡単にカスタマイズできるように構成されたサブモジュールを含む、完全な形成の Terraform サンプルとして提供されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/draw2_toolkit.max-2200x2200.png

背景

今日の世界では、企業が変更内容を迅速かつ確実にデプロイできる必要があります。企業もクラウド中心の組織も同様に、ウェブ アプリケーションの開発、パッケージ化、テスト、デプロイ、運用、セキュリティをモダナイズするために、DevSecOps のプラクティスとツールの採用を急速に進めています。DevSecOps プラクティスを採用した企業は、ビジネス アジリティの向上、費用の削減、インフラストラクチャのセキュリティ体制の強化を同時に実現できます。

こうした Dev(Sec)Ops の導入におけるほぼすべてのお客様の目標は、開発者がウェブサービス(ウェブサイト、ウェブアプリ、ウェブベースの API)のコードをチェックインし、高品質かつ安全なコードを数時間以内で本番環境に移行できるようにすることです。そのために使用されるのが、CI / CD パイプラインを通じた自動化で、他のチームによる追加の手動での介入は必要ありません。ちなみに、従来のアプローチでは数日から数週間かかります。

グローバル フロントエンド ツールキットは、新しい Cross-Cloud Network ソリューションの一部としてリリースされました。また、既存のウェブ アプリケーションおよび API 保護ブループリントの一部として提供されています。これは、お客様による実装の加速化を目的に Google Cloud が提供している数多くの Terraform ベース ブループリントの一つです。このツールキットは Security Foundations ブループリントとも互換性があり、新しい Google Cloud 組織が Identity and Access Management(IAM)、Cloud Key Management(KMS)、Cloud Security Command Center(SCC)の設定など、今後のあらゆるワークロードの安全なベースラインを確立するのに役立ちます。

アーキテクチャ

このツールキットは、最適化された構成、高パフォーマンス、柔軟性、デフォルトでセキュリティを確保するポリシーをはじめ、ウェブサービスのデプロイと保護のベスト プラクティスを提供します。サンプルとして示されている「prd」や「dev」など、複数の環境を使用することもできます。

ワークロードは外部アプリケーション ロードバランサを使用して、インターネットに接続するアプリケーションのグローバル フロントエンドによってフロントエンドとして機能します。選択されたバックエンドは 2 つのマネージド インスタンス グループ(MIG)であり、それぞれ異なるリージョン内にあります。ツールキットには、カナリア開発に活用できるトラフィック管理のサンプルが含まれています。

このツールキットには、Google Cloud のコンテンツ配信ネットワークである Cloud CDN も含まれています。Cloud CDN プラットフォームは元のロードバランサの前でキャッシュとして機能し、QUIC や HTTP/2 からルーティングやキャッシュ制御に至るまで、CDN 機能のすべてが揃っています。このため、帯域幅やフロントエンド コンピューティングの費用を削減しながら、パフォーマンスを犠牲にすることなくアプリケーションをグローバル スケールに展開できます。このツールキットで利用されるデフォルト構成は、Cloud CDN のコンテンツ配信のベスト プラクティスウェブ セキュリティのベスト プラクティスに記載されている構成のサブセットです。

DDoS 攻撃やその他の脅威から保護するために、このツールキットは Google Cloud Armor、Google Cloud の DDoS 対策、WAF を使用します。保護機能は 3 つの部分に分かれています。1 つ目は、ボリューム型 DDoS 攻撃(L3 / L4)に対するデフォルトの保護です。2 つ目は、CRS 3.3 に基づいて事前構成された Cloud Armor の WAF ルールです。このルールにより、Google Cloud Armor では便利に命名されたルールを参照することで、数十の異なるトラフィック シグネチャを評価でき、各シグネチャを手動で定義する必要がありません。3 つ目は、エッジ セキュリティ ポリシーの基本構成です。キャッシュに保存されたコンテンツのアクセスをフィルタリング、制御できます。

ワークフロー

https://storage.googleapis.com/gweb-cloudblog-publish/images/toolkit_arc_new.max-2200x2200.png

ユーザーが外部アプリケーション ロードバランサからウェブページをリクエストしたとします。リクエストは Cloud Armor のバックエンド セキュリティ ポリシーによって評価されてから、いずれかのバックエンド サーバーに配信されます。ウェブページがキャッシュされている場合、バックエンド サーバーは CDN からウェブページを取得します。ウェブページがキャッシュされていない場合、バックエンド サーバーはアプリケーション サーバーからウェブページを取得し、今後のリクエストに備えてキャッシュします。キャッシュが使用された場合、リクエストは Cloud Armor エッジ セキュリティ ポリシーで評価されます。最後に、バックエンド サーバーはウェブページをユーザーに送信します。

トラフィック分割はアプリケーション ロードバランサの組み込み機能であり、さまざまなユーザーを異なるバックエンド サーバーに送信してソフトウェアのバージョンを管理するためによく使用されます。上記の例では、60/40 の単純なトラフィック分割を変更し、より複雑なトラフィック管理スキームを作成できます。たとえば、最新バージョンのソフトウェアを使用しているユーザーをあるバックエンド サーバーに送信し、古いバージョンのソフトウェアを使用しているユーザーを別のバックエンド サーバーに送信するなどです。これにより、ユーザーへのサービスを中断せずにアプリケーションを更新できます。

使ってみる

完全なリポジトリは、こちらからご覧になれます。お気に入りの CI / CD パイプラインを構成し、リポジトリのクローンを作成して、Google Cloud でホストされるグローバル フロントエンドのインターネット接続アプリケーションを 1 時間足らずで利用できるようになります。

- プロダクト マネージャー Lihi Shadmi

- カスタマー エンジニア David Tu

投稿先