Google Cloud Next '24は、2024年4月9日から4月11日の3日間、アメリカ・ラスベガスのMandalay Bayにおいて開催されるGoogleのクラウドサービスに関する世界最大級のイベントです。開発者、エンジニア、IT専門家、業界リーダーが集結し、3日間にわたり技術の最前線を駆け巡ります。特に今年のイベントは、AI/ML(人工知能・機械学習)にフォーカスが当てられ、セッションの約4割がAI/ML関連となり、その最新情報が発表されることが強く期待されています。
私たち日本情報通信株式会社も、Google Cloudに精通した専門家として、技術イノベーションの最新動向を取り入れ、顧客に対するソリューション提供に活かしていくことを目指して参加しています。
このような貴重な機会ですので、現地からいち早くブログで最新情報や熱量を発信してまいります。
Terraform を長く運用していくと、管理部分が非常に煩雑になる為、この考え方は基本原則として実装すると保守性の高いコードが作成できます。
では、実際のサンプルを見ていきましょう。
このセクションでは Terraform にて Google Cloud プロジェクトの管理方法に関する、ディレクトリ構成の推奨例をご紹介します。
bootstrap common というディレクトリを作成し、組織に共通したリソース配置用プロジェクトを作成しています。
続いて、各環境毎にもディレクトリを作成し、その中で環境に必要なプロジェクトを分けて管理しています。この例では、モニタリングとシークレットプロジェクトは環境毎に共通的に払い出す対象としています。
さらに、ランタイム、ビジネスユニットを観点としプロジェクトを管理する方法です。
扱うプロジェクト別に、それぞれの観点でディレクトリ構成や何を管理するかの検討にこの考え方は非常に有効です。
続いて、実際の Terraform コードを実装する際に考慮すべき観点においてのサンプルをご紹介します。
サンプルコードでは以下のユースケースの実装例をご紹介します。
この項では、以下のモジュールを使用してサンプルコードをご紹介します。
基本的に環境別の管理は provider ブロックにて記述します。ここにプロジェクトを記載することで、リソース毎にプロジェクトを指定することなく、意図したプロジェクトに作成されるように認識されます。
本番環境にのみ構築したいリソースが存在する場合、本番環境の Terraform にそのリソースを定義します。
複数リージョンにリソースを構築したい状況もよくあるケースかと思います。その場合は provider ブロックを複数定義し、alias にて対象を選択できるようにします。これにより、複数リージョンをプロビジョニングできるようになります。
これらは Style Guide - HashiCorp Developer でも推奨コーディング方法として紹介されています。
広い場内に多くのエンジニアが聴講に来られていました。IaCの注目度とその運用に対する難しさを多くの方が抱えているのだと再認識できたセッションでした。
これらの Terraform のサンプルは terraform-google-modules を元に考えられており、弊社でも Google Cloud 基盤を構築する際に参考としたものになります。Google Cloud 基盤を構成する際は、是非参考にしてみてはいかがでしょうか。
Google Cloud、Google Workspaceに関する お問い合わせはこちら
XIMIX®は日本情報通信株式会社が所有する登録商標です。(商標登録第6755234号)