Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
share facebook facebook facebook x x menu hatena pocket slack

【Google Cloud Next ’24】IaCで実現するマルチ環境

廣山 豊 廣山 豊 イベントレポートエンジニアブログ 2024.04.11

セッションタイトル: Multi-project, multi-runtime, multi-region infrastructure as code
スピーカー: Rosemary Wang

TerraformやVaultなどで有名なHashiCorp社によるセッション。
再利用しやすいIaCのベストプラクティスを紹介いただきました。
Tips的なものが多く散りばめられて、非常に参考になるものでした。
この投稿でも、Tipsの要約を含めていきたいと思います。

はじめに

Terraformとはマルチクラウド対応のIaCツールで、デファクトスタンダードと言えると思います。
Google CloudにもDeployment Managerというマネージドサービスがありますが、Terraform の利用を公式サイトで推奨していたります。

IaC Journey

概要は以下のような流れです。
書く → 共有する → リファクタ → スケール

ここでのスケールは、スケールアウトに限らず、他のリソースを対象にするようなことも含みます。
[Tips] IaCの基本。IaCは進化することを見越して設計する

Atomic changes

この実現のために、レイヤーごとに、1状態、サービスアカウント、パイプラインを意識しましょう。
ソフトウェア設計における原子性の担保と同様なものに見えましたが、セキュリティの視点も加わっているように受け取りました。

依存関係

Terraformでは、参照させる形で依存関係のある構築が可能です。

Multi-project

最初にBootstrapを用意しましょう。

Bootstrap

Bootstrapとは、一番初めに他のインフラをデプロイするために必要なリソース群を構築するものです。
Bootstrapの要素は、以下のようなものになります。
– バケットのような状態の保存先
– IAMやGCSのようなサービスアカウント
– CI/CD環境向けのような、共用リソース用のプロジェクト群

Shared Org Resources

要素は以下のようなものになります。
– BillingやLogging
– KMSやSecrets
– 共用NWのためのプロジェクト

ここまでのことを踏まえ、サンプルとしてはこのような構成が考えられます。

より完全なサンプルはコチラ

Multi-runtime

Runtimeとはサービスを稼働させるために必要なインフラになります。
業務上の組織によって分離しましょう。
環境ごとによる違いはキャプチャのように表すことができます。

[Tips] モジュールのネストは、トラブルシュートのために2階層までにしましょう

Multi-region

マルチリージョンのリソースサンプルはこちらです。

[Tips] 繰り返しであっても、読んで精査を
これはマルチリージョンに限らない気がしましたが、重要なTipsと思います。

Multi-cloud

Cross-Cloud Interfaces をサポートする


Cross-Cloudとは、複数のクラウド環境で構築されるシステムです。一見、マルチクラウドでは?って思われるかもですが、マルチクラウドの進化系といいますか、クラウド内でのサイロ化がされず、データ境界がなくなるようなものです。
例としては以下のようなものが挙げられます。
– Kubernetes
– Service mesh
– Secrets management

まとめ

普段何気なく使っていたTerraformや、そのベストプラクティス確立への背景を体系的に学べたセッションでした!

イベントレポートエンジニアブログ

この記事を書いた人

廣山 豊
廣山 豊 AWS および Google Cloud の運用、運用自動化のための開発、セキュリティを管轄しています。内部統制として、各種監査対応やインシデントハンドリングも行っています。そのため、運用やセキュリティ、開発など横断的な知識が強みです。
Google Cloud Partner Top Engineer - 2021 ~
Google Cloud Champion Innovator - 2022 ~
Japan APN AWS Ambassador - 2020, 2021
AWS Top Engineers - 2019 ~
廣山 豊が書いた記事