Terraformのmoduleではnested block構文が使えない

Terraformのresourceやdata sourceではnested block構文を利用できるが、 module定義ではnested block構文を利用できないし、resourceなどにおいても現在は非推奨であることを知ったのでメモ。

resourceでのnested block構文

resourceのような top-level block type 内において利用するblock構文をnested blockと呼ぶらしい。

例えば aws_instance resourceでは、ebs_block_device blockを複数回指定できる。 この ebs_block_device がnested block構文。これは attribute ではないので ebs_block_device = {...} のような構文になっていないことに注意。

resource "aws_instance" "example" {
  ami           = "ami-12345678"
  instance_type = "t3.micro"

  ebs_block_device {
    device_name = "/dev/sdf"
    volume_size = 10
  }

  ebs_block_device {
    device_name = "/dev/sdg"
    volume_size = 20
  }
}

Block構文は詳細にはList Nested, Set Nested, Single Nestedの3種類が存在する。これはterraformのplugin開発者向けのドキュメントで解説されている。 実際のところ、 ebs_block_device の場合は順番が考慮されない Set Nested Block Typeであることが、実装などからもわかる。

moduleにはblock構文が利用できない

module呼び出しでは同様のblock構文を利用できない。

module "example" {
  source = "./modules/example"

  # これは不可能
  ebs_block_device {
    device_name = "/dev/sdf"
    volume_size = 10
  }

  # これは可能
  ebs_block_device = {
    device_name = "/dev/sdf"
    volume_size = 10
  }
}

moduleの入力変数はすべてattributeとして扱われるため、blockを指定することはできない。 あまり意識したことが無かったのでmodule block referenceを確認したが、特に block構文についての説明は無かった。

resourceにおけるblock要素の非推奨化について

参考に、resourceのlifecycleのようなmeta-argumentはnested block構文で定義されている。 一方で、AWS providerなどで定義されているresourceやdata sourceにおいてはblock構文は非推奨化されている。前述のaws_instance resourceでいえば ebs_block_deviceのようなblock構文は非推奨で、互換性のためにサポートされている。代替としてattributeを利用することを推奨している

Tip

Use nested attribute types instead of block types for new schema implementations. Block support is mainly for migrating legacy SDK-based providers.

もちろん、awsなどのproviderを利用する上では関係無いが、providerを開発する上では block構文は非推奨でattributeを利用すればよいこと、block構文は基本的にはmeta-argumentで利用するものと考えておいてよさそう。

aqua本体の更新エラーをSLSA無効化で回避する

aquaの更新エラー

aqua upaでaqua本体をアップデートしようとした際、SLSA検証で以下のエラーが発生した:

Verifying artifact /tmp/996689781: FAILED: matching bundle entry with content: unexpected tlog entry type: expected intoto:0.0.2, got dsse:0.0.1
FAILED: SLSA verification failed: matching bundle entry with content: unexpected tlog entry type: expected intoto:0.0.2, got dsse:0.0.1

実際には5回のリトライ後に失敗し、アップデートが完了しなかった。 アップデートは v2.31.0からv2.53.9に更新しようとしていた。

SLSA検証を無効化してアップデート

SLSA証明書の形式変更による互換性の問題によるエラー。一時的にSLSA検証を無効化してアップデートを実行する。 以下のように実行することで正常に更新できるようになった。

AQUA_DISABLE_SLSA=true aqua upa

アップデート後にシェルキャッシュをクリア

aqua upaが成功してもaqua versionを実行すると古いバージョンが表示された。which aqua でインストール先を確認すると確かに更新されているようだった。

これは、シェルのコマンドキャッシュが原因の様子。シェルが実行効率のためにキャッシュしているコマンドのフルパスをhash -rで全てクリアすることで解消できる。 バイナリが更新された際に新しいバージョンを確実に実行するために必要。

# コマンドハッシュテーブルをクリア
hash -r

# バージョン確認
aqua version

go fmtとgofmtの違いと使い分け

goのフォーマッタとしてgofmt と go fmtがあることを知った。

go fmt

go fmtはgoのサブコマンドとして実装されているフォーマッタ。 その実態は gofmt -l -w を指定パスに対して適用してくれる。

$ go help fmt 
usage: go fmt [-n] [-x] [packages]

Fmt runs the command 'gofmt -l -w' on the packages named
by the import paths. It prints the names of the files that are modified.

gofmt

pkg.go.dev

フォーマッタの実態。 差分表示(-d)やコード簡略化(-s)など、go fmtでは指定されていない細かなオプションなどを指定できる。

$ gofmt -h
usage: gofmt [flags] [path ...]
  -cpuprofile string
        write cpu profile to this file
  -d    display diffs instead of rewriting files
  -e    report all errors (not just the first 10 on different lines)
  -l    list files whose formatting differs from gofmt's
  -r string
        rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')
  -s    simplify code
  -w    write result to (source) file instead of stdout

何が違うのか、どう使い分けるのか

go fmt 実行時に指定されるオプションの -l-w なので、デフォルトルールでフォーマットの修正を適用した上で修正したファイル一覧を出力してくれる。 なので基本的な動作は同じ。

基本的にはフォーマッタを適用して欲しいので、普段使いとしては go fmt ./... でよさそう。 CIで差分検知だけして書き換えまでは行いたくないときや、書き換えルールをカスタマイズしたいような特別なケースで gofmt を使えばよさそう。

Google Cloud release notes キャッチアップ 2025-02-08 - 2025-02-14

cloud.google.com

Kubernetes Engine

[CHANGE] (2025-R06) Version updates

GKEパッチリリース。 Rapid/Regular/Stable/Extended/No Channel のすべてで新しいバージョンがリリースされている。 特に、Regular Channelでは 1.31.5-gke.1023000 がデフォルトバージョンとして設定される。

github.com

BigQuery

[FEATURE] BigQuery data preparation provides context-aware join operation recommendations from Gemini

data preparationはGemini in BigQueryを使用してデータのクリーニング・変換・拡充を行う機能。 data preparationではGeminiが提案するデータ整形に加えて、手動でステップを追加することができる。このステップ追加において結合オペレーションがサポートされるようになった。

cloud.google.com

Cloud CDN

[FEATURE] Cloud CDN supports invalidation by using cache tags with faster performance and higher rate limits in Preview

Cloud CDNにおけるキャッシュ無効化のための機能として、invalidation by cache tagsがプレビューリリースされた。 従来のキャッシュ無効化の方法としてパスパターンを指定するがあるが、1分間に1回しかリクエストできず、反映に1-3分掛かる。cache tagを用いたキャッシュ無効化は1分間に500回までリクエストでき、反映に10秒程度で済む。

cloud.google.com

Cloud NAT

[FEATURE] Cloud NAT gateways for Public NAT support IPv6 to IPv4 network address translation in Preview

Public NATにおいて IPv6からIPv4に変換するNAT64機能がプレビューリリースされる。 NAT64を利用するためにはDNS64が必要で、DNS64は1月30日に先行してプレビューリリースされている。

cloud.google.com

Cloud Run functions

[FEATURE] Cloud Run functions created with the Cloud Functions (v2) API (cloudfunctions.googleapis.com) can now be detached so that they can only be managed through the Cloud Run Admin API (run.googleapis.com)

Cloud Run functionsは現在はCloud Runの機能の一部として構成されているが、従来はCloud Functionsとして別機能として構成されていた。このなごりで、Cloud Runを制御するAPIであるCloud Run Admin APIとは異なり、Cloud Run functionsはCloud Functions v2 APIで制御する。 このCloud Run functionsのAPI制御をCloud Functions v2 APIからCloud Run Admin APIに切り替えるためのdetach操作がリリースされた。 Cloud Run functionsに対してdetach操作を実行すると、今後はCloud Functions v2 APIではなく、Cloud Run Admin APIで制御するようになる。この機能はプレビューリリースされる。

cloud.google.com

AlloyDB

[CHANGE] The extension vector, which includes pgvector functions and operators, is updated to version 0.8.0

AlloyDB for PostgreSQLがサポートする拡張のうち、vectorがアップデートされた。 PostgreSQLにおいてベクトルデータを扱うための拡張として pgvector があり、これをAlloyDB for PostgreSQL向けにカスタマイズしたものがvector拡張として利用できる。このベースとなっているpgvectorがv0.8.0にアップデートされた。

Cloud SQL

[FEATURE] You can now use a custom DNS name to connect to your Cloud SQL instances by adding a custom subject alternative name (SAN) to your Cloud SQL instances.

Cloud SQLインスタンスにアクセスするためにIPではなくカスタムDNS名を利用できるようになる。 この機能はCustomer-managed CAを選択して構築したインスタンスでのみ利用可能。またこの機能はプレビューリリースされる。

cloud.google.com

[FEATURE] Cloud SQL for PostgreSQL now supports the tds_fdw extension

Cloud SQL においてPostgreSQL拡張の tds_fdwがサポートされた。 tds_fdw拡張はTabular Data Stream (TDS) プロトコルをサポートして外部へのアクセスを実現するための拡張で、これを用いて Microsoft SQL Serverなどと接続できるようになる。

cloud.google.com

Cloud Monitoring

[FEATURE] You can now use a variable to control the visibility of a dashboard widget

Cloud Monitoringのダッシュボードにはデータの表示を制御する仕組みとしてフィルタと変数があり、変数を用いてウィジェットレベルで表示を制御できるようになった。

cloud.google.com

Cloud Asset Inventory

[FEATURE] The following resource types are now publicly available through the ExportAssets, ListAssets, BatchGetAssetsHistory, QueryAssets, Feed, and Search (SearchAllResources, SearchAllIamPolicies).

アセットの操作対象として Essential Contacts API のリソースがサポートされた。

VPC Service Controls

[FEATURE] VPC Service Controls feature: Support for using third-party identities (both single identities and groups) in the ingress and egress rules to allow access to resources protected by a service perimeter is generally available

VPC Service ControlsはSecurity機能の一部で、 Google Cloudに対するAPI リクエストのアクセス元を制御する。 アクセス制御を実現する上では、IDグループを仕様することでユーザ集合を定義して制御できるが、このIDグループにWorkforce IdentityWorkload Identityを通してサードパーティIDを利用できる。この機能がGAリリースされた。

上り(内向き)ルールと下り(外向き)ルールで ID グループとサードパーティ ID を構成する  |  VPC Service Controls  |  Google Cloud

Organization Policy

[FEATURE] Custom organization policies are now generally available for Spanner / Identity-Aware Proxy / Developer Connect / Dataproc Serverless / Cloud DNS / security posture

組織ポリシーのカスタム制約を用いてSpanner / Identity-Aware Proxy / Developer Connect / Dataproc Serverless / Cloud DNS / security postureのリソースを柔軟に制御できるようになった。

Google Cloud release notes キャッチアップ 2025-02-01 - 2025-02-07

Cloud Billing

[CHANGE] Google Cloud Marketplace now uses the agency model for marketplace services for UK, FR, and DE customers.

Google Cloud Marketplaceは代理店が販売する形態(agency model)とGoogleが直接販売する形態の2つのトランザクションモデルをサポートしている。 代理店モデルを利用するためにはいつくかの要件を満たす必要があるが、アメリカに加えてUK、FR、DEの顧客は代理店モデルが採用されるようになった。これに伴い請求書の分割などが生じる。 (日本は対象外なのでこれらの条件は適用されない)。

cloud.google.com

Kubernetes Engine

[CHANGE] Starting on February 3, 2025, GKE will create a new service agent named service-{PROJECT_ NUMBER}@gcp-sa-gkenode.iam.gserviceaccount.com that the GKE system workloads that run on your worker nodes can use.

Google Cloudが提供・管理するサービスアカウントの一種であるサービスエージェントとして、GKEは新しいサービスエージェントを2025年2月3日以降に提供する。 現時点では、このサービスエージェントはデフォルトではGKEがノードを管理する上で必要最小の権限しか保持していない。GKEが管理して実行するワークロードをユーザのワークロードと区別するために利用される。 また、今後のGKEバージョンによって新しいGKE管理のワークロードが提供されるようになる。具体的な内容は今後のリリース待ち。

[FIXED] A bug in the image streaming feature caused authentication-related failures in specific scenarios when the workload tried to access container image data.

GKEにはコンテナイメージ全体をpullして利用するのではなく、必要なデータのみを取得して実行するための仕組みとしてイメージストリーミングがある。 イメージストリーミングを利用することでpull時間を短縮して素早くコンテナを起動することができる。

このイメージストリーミングの認証機能について一部のワークロードで正常に動作しない不具合があり、これが解消された。

[SECURITY] A security vulnerability was discovered in the Google Secret Manager Provider for Secret Store CSI Driver.

Google Secret Manager Provider for Secret Store CSI Driver において脆弱性が検出された。 この脆弱性CSI driverのサービスアカウントトークンを不正に取得できる可能性がある。

cloud.google.com

[FEATURE] GKE cluster notifications have the following new capabilities:

GKEクラスタの通知機能において以下の機能がサポートされた。

  • GKEクラスタに関するイベント通知をPub/SubではなくCloud Logging経由で取得することができる
  • 実行中のマイナーバージョンがEOS(end of support)を迎えているか近くEOSを迎える場合に、新しく通知するようになった
  • 実行中のGKEクラスタのアップグレードが完了したときに新しく通知するようになった。アップグレード完了は SUCCEEDED FAILED CANCELED の3つのステータスがある。

[CHANGE] (2025-R05) Version updates GKEパッチリリース。 Rapid/Regular/Stable/Extended/No Channel のすべてで新しいバージョンがリリースされている。 特に、Regular Channelでは 1.31.4-gke.1372000 がデフォルトバージョンとして設定される(1.31系が初めてデフォルト化された)。

[FEATURE] Weighted load balancing for GKE External LoadBalancer Services is now generally available on GKE clusters running version 1.31.0-gke.1506000 or later.

外部ロードバランサにおいて重み付きロードバランシングがサポートされる。 従来のロードバランサは稼動しているpod数にかかわらずリクエストをルーティングしていた。重み付きロードバランサは稼動しているpod数に応じてリクエストの割り当てを分散してくれる。

cloud.google.com

Cloud Service Mesh

[ANNOUNCEMENT] A new version of the data plane for Gateway API is now generally available (GA) as a part of managed Cloud Service Mesh for clusters on GKE Rapid channel.

Gateway APIKubernetes公式のプロジェクトの1つで、L4/L7ネットワークの構築の仕組みを共通化してくれる。GKEにおいてもCloud Service Meshの構築を簡単に実現可能となる。 Gateway APIがGAとして、Rapidチャンネルで利用できるようになった。

cloud.google.com

[ANNOUNCEMENT] Managed Cloud Service Mesh starts using Envoy.1.33 for Gateway API on GKE clusters with rapid channel.

GKE rapid channelにおいて、Envoy 1.33の利用が開始した。 これは前述のGateway API提供の一環としてアップデートされた様子。

Config Connector

[ANNOUNCEMENT] Config Connector version 1.128.0 is now available. Config ConnectorはOSSとしても提供されており、v1.128.0がリリースされた。 この変更内容が以下のリリースノートとしても記載されている。

[FEATURE] New Beta resources (direct reconciler)

Config Connectorには直接APIを叩いてリソースを構築するdirect reconcilerという方式がある。 このdirect reconcilerにて新しく ApigeeEnvgroupおよびKMSAutokeyconfigのリソースがサポートされた。

[FEATURE] New Fields

SpannerIsntanceリソースに対して、spec.autoscalingConfig および spec.edition の機能を指定して利用するためには direct reconcilerのアノテーションタグを利用する必要がある。 direct reconcilerのアノテーションタグについては次のReconcilation Improvementsを参照。

[CHANGE] Reconciliation Improvements

direct reconcilationをオプトイン形式でAPI変更なしに利用する方法をサポートする。 alpha.cnrm.cloud.google.com/reconciler: direct アノテーションを対応するオブジェクトに付与することで利用可能となる。この方式は現在 AlloyDBInstance および SpannerInstance のリソースにてサポートされている。

[CHANGE] New Alpha resources (direct reconciler)

direct reconcilerにて新しく IAPSettings, SecureSourceManagerInstance, SecureSourceManagerRepositoryのリソースがサポートされた。

[FIXED] DataformRepository fields validation error.

DaformRepositoryリソースにおけるフィールドのバリデーションフォーマットが正しくない問題が解消された。

Cloud Storage

[ANNOUNCEMENT] Announced billing changes for accessing Cloud Storage through BigQuery take effect Feb 21, 2025.

2025年2月21日以降、BigQueryを通してGCSを利用した場合に利用料が発生するようになる。 従来は不具合により請求されていなかった。この変更は2025年2月1日以降適用される予定だったが、この予定が変更された。

cloud.google.com

BigQuery

[CHANGE] The BigQuery ML ML.BUCKETIZE and ML.QUANTILE_BUCKETIZE functions now support formatting of the function output.

BigQuery MLはBigQueryに対するクエリでMLのモデルの作成と実行ができる機能。 このBigQuery MLにおける2つの関数 ML.BUCKETIZEML.QUANTILE_BUCKETIZE (いずれも分類タスクを実施する関数)において出力フォオーマットが指定できるようになった。

cloud.google.com

cloud.google.com

[FEATURE] You can now use the BY NAME and CORRESPONDING modifiers with set operations to match columns by name instead of by position

BigQueryで用いられるSQLシンタックスである GoogleSQL for BigQueryに BY NAME および CORRESPONDING 修飾子が追加された。 これにより、集合をカラム位置ではなくカラム名で一致させることができる。

cloud.google.com

また、この内容については以下のブログ記事がわかりやすかった。

dev.classmethod.jp

[FEATURE] You can create a JavaScript user-defined aggregate function by using the CREATE AGGREGATE FUNCTION statement.

SQLによるユーザ定義集計関数(UDAF)と同様に、JavaScriptによるユーザ定義集計関数を作成できるようになる。 この機能がGAリリースされる。

cloud.google.com

Cloud Run

[FEATURE] When deploying a function in Cloud Run, you can now specify an Artifact Registry image repository to store the container (Preview).

Cloud Run functionをデプロイするとき、作成した関数はGoogle Cloudが管理するArtifact Registryにイメージとして保存される。 この保存先のリポジトリとして、ユーザが作成・管理するリポジトリを指定できるようになった。 この機能はプレビューとして提供される。

cloud.google.com

AlloyDB for PostgreSQL

The AlloyDB Omni Kubernetes operator version 1.3.0 is generally available (GA).

AlloyDB Omniはダウンロードして利用可能なAlloyDB互換のソフトウェア。AlloyDB Omni Kubernetes operatorはAlloyDB OmniKubernetesクラスタにデプロイするためオペレータ。 このAlloyDB Omni Kubernetes Operatorの v1.3.0がGAリリースされた。

cloud.google.com

Cloud SQL for PostgreSQL

[ANNOUNCEMENT] All Cloud SQL for PostgreSQL 9.6, 10, 11, and 12 instances are running community end-of-life (EOL) major versions and are now enrolled in Cloud SQL extended support.

Cloud SQL for PostgreSQLの 9.6, 10, 11, 12がEOLとなり、Extended supportが適用される。

cloud.google.com

[FEATURE] You can now migrate a subset of databases from an external server to a destination Cloud SQL instance.

外部のPostgreSQLサーバからCloud SQLへのマイグレーションを実施するとき、一部のデータベースのみ対象とすることができるようになった。

cloud.google.com

[FEATURE] You can now configure customer-managed CA (CUSTOMER_MANAGED_CAS_CA) as the server certificate authority (CA) mode when you create a Cloud SQL instance.

Cloud SQL for PostgreSQLインスタンスを作成するとき、顧客管理のCAで署名されたサーバ証明書を利用できるようになった。

cloud.google.com

Cloud Logging

[FEATURE] You can now create and manage your log views by using the Google Cloud console.

ログビューを利用することでログの一部のみユーザにアクセス権限を付与して参照可能とすることができる。 従来このログビューはgcloud CLIを用いてのみ作成管理することができたが、今回のリリースによりコンソールから作成管理できるようになった。

cloud.google.com

Cloud Monitoring

[FEATURE] You can now create custom organization policies on alerting policies, notification channels, and snoozes.

組織ポリシーのカスタム制約を用いてCloud Monitoringのリソースを柔軟に制御できるようになった。

[FEATURE] When you create a snooze from the Incident details page, you can now apply the snooze to other incidents that have one or more of the same resource labels.

Cloud Monitoringには監視基準を満たさない状況をインシデントとして検知・管理することができる。 インシデントが継続的に検知されているとき、繰り返し同じインシデントが作成・通知されないようにする仕組みとしてスヌーズ(snooze)がある。スヌーズを作成することでインシデントの作成と通知を一時的に防止することができる。

スヌーズは基本的に1つの種類のインシデントと紐付くが、指定したリソースラベルが付与された別のインシデントも同じスヌーズで制御できるようになった。

cloud.google.com

Resource Manager

[FEATURE] You can now create custom organization policies for Cloud Monitoring alerting policies, notification channels, and snoozes.

Cloud Monitoringに記載の内容と同様。

[FEATURE] You can now create custom organization policies for Workflows.

組織ポリシーのカスタム制約を用いてWorkflowのリソースを柔軟に制御できるようになった。

cloud.google.com

Google Cloud release notes キャッチアップ 2025-01-25 - 2025-01-31

Cloud Billing

[FEATURE] Tags data for BigTable instances is available in both the Standard usage cost export and the Detailed usage cost export.

Cloud Billingには使用料の詳細をBigQueryにエクスポートする機能がある。 このエクスポートされるデータ構造には Standard usage cost table, Detailed usage cost table, Pricing data tableの3種類がある

このうち、Standard usage cost および Detailed usage costには、リソース・プロジェクト・フォルダ・組織に付与されたタグがエクスポートされる。このうちのリソースレベルのタグは対象となるサービスが限られているが、Bigtableインスタンスが対象として加わった。 現時点ではBigtableに加えて、AlloyDBやCloud Run、Cloud Storageなど合計9種類のリソースがサポートされている。

cloud.google.com

Compute Engine

[FEATURE] Preview: You can now modify which machine types are recommended, so that the generated recommendations only include your preferred machine series.

Compute Engineには、過去8日間のリソース利用量を踏まえて適切なインンタンスタイプを推奨してくれる machine type recommendation機能がある。 このrecommendations機能において、推奨事項のカスタマイズができるようになった。

カスタマイズの1つがマシンタイプの指定。 デフォルトでは標準マシンタイプとカスタムマシンタイプの両方から推奨してくれる。 これを標準マシンタイプからのみ推奨してくれるようにカスタマイズできる(これにどのようなメリットがあるのか不明。推奨設定はデフォルトの両方のマシンタイプを考慮する)。

もう1つのカスタマイズ項目がメモリの利用量に基く推奨を算出するときに利用する計測方法を変更できる。 デフォルトメトリクスだけでなくOps Agentを利用したメトリクスを用いて算出することでより正確な推奨値を得ることができる。 (ただし、このデフォルトのメトリクスが何なのかわからなかった。Ops Agentなしにはメモリの利用量はCompute Engineコンソール上からは参照できないはず?)

cloud.google.com

Kubernetes Engine

[CHANGE] (2025-R04) Version updates

GKEパッチリリース。Rapid/Regular/Stable/Extended/No Channel のすべてで新しいバージョンがリリースされている。 特に、Regular Channelでは 1.31.4-gke.1256000 がデフォルトバージョンとして設定される。

[DEPRECATED] Starting on January 28, 2025, the following Preview features are deprecated:

2025-01-28以降、以下の機能が非推奨化される。

cloud.google.com

BigQuery

[FEATURE] The following BigQuery ML generative AI features are now available:

  • Creating a remote model based on an open model from Vertex Model Garden or Hugging Face that is deployed to Vertex AI.
  • Using the ML.GENERATE_TEXT function with this remote model to perform a broad range of generative AI tasks.
  • Using the ML.EVALUATE function to evaluate the remote model.

BigQueryに対するクエリでMLのモデルの作成と実行ができるBigQuery ML にて、複数機能がGAリリースされた。

[ANNOUNCEMENT] We are temporarily delaying enforcement of these procurement methods, and no purchase is required at this time

Gemini in BigQueryは現在無料で利用できるが、2025年1月27日以降は有償化されBigQuery Enterprise PlusまたはGemini Code Assist Enterpriseの購入が必要となる予定だった。 この予定が修正され、まだ引き続き無料で利用できる。

cloud.google.com

[FEATURE] You can now set conditional IAM access on BigQuery datasets with access control lists (ACLs).

IAMには許可または拒否のポリシー条件を指定するIAM Conditions機能がある。 この機能を利用し、BigQueryリソースへのアクセス制御を実現できる。この機能がGAリリースされた。

cloud.google.com

[FEATURE] You can now view stored column usage information for a query job that performs vector search using stored columns

BigQueryにてベルトル検索を行うとき、効率的に実行するためのベクトルインデックスを利用する方法がある。 また、インデックスの更なる活用として、Store Columnsという方法がある(利用する列情報を保存することでクエリの結合処理を不要にするらしい、詳細不明)。

今回のリリースでは、store columnsの利用状況がStoredColumnUsageとして、クエリジョブのVectorSearchStatisticsに出力されるようになった。

cloud.google.com

Virtual Private Cloud

[FEATURE] VPC Flow Logs metadata annotations include InstanceGroupDetails.

VPC Flow Logsにおいて src_instanceフィールドおよびdest_instanceフィールドに InstanceGroupDetails型のmanaged_instance_groupフィールドが含まれるようになった。 これは、VMがMIGsに属している場合にそのインスタンスグループ名を出力してくれる。 この機能はGAリリースされる。

cloud.google.com

[ISSUE] There is a known issue with global access endpoints that access services that are published by using internal passthrough Network Load Balancers or internal protocol forwarding (target instances).

VPCにはVPC内からGoogle Cloudのマネージドサービスにプライベート接続するための機能としてPrivate Service Connect機能がある。 Private Service Connectエンドポイントはリージョンリソースなので複数のリージョンで共有することはできないが、他のリージョンから利用できるようにするオプションとしてグローバルアクセスがある。 また、ロードバランサからPrivate Service Connect経由でトラフィックを送受信することでフェイルオーバーや一元化されたアクセス制御を実現する、Private Service Connectエンドポイント機能もある。

このグローバルアクセスを有効にしたPrivate Service Connectにおいて、internal passthrough Network Load BalancersProtocol forwardingを利用する場合に正常に動作しない事象が発生している。

cloud.google.com

cloud.google.com

Cloud DNS

[FEATURE] DNS64 is now available in Preview.

IPv6のみアタッチされたCompute EngineインスタンスからIPv4の接続先にDNS64を用いてアクセスできる。 (DNS64やNAT64はGoogle Cloud固有の技術ではなくIPv4/IPv6に関連する一般的な技術)。 この機能はプレビューで提供される。

cloud.google.com

Cloud Monitoring

[FEATURE] You can now monitor usage, throughput, and latency, and troubleshoot 429 errors on Vertex AI foundation models like Google Gemini and Anthropic Claude by using a new predefined dashboard.

Vertex AI foundation modelに関するダッシュボードモニタが提供され、利用状況を可視化できる。

Cloud Asset Inventory

[FEATURE] The following resource types are now publicly available through the ExportAssets, ListAssets, BatchGetAssetsHistory, QueryAssets, Feed, and Search (SearchAllResources, SearchAllIamPolicies) APIs.

Cloud Asset Inventoryの各種APIにて Cloud Asset Inventory、Firebase、Idnetity-Aware Proxyがサポートされた。

Google Cloud release notes キャッチアップ 2025-01-18 - 2025-01-24

Compute Engine

[FEATURE] Generally available: Managed instance groups (MIGs) let you create pools of suspended and stopped virtual machine (VM) instances.

Compute Engineのインスタンスを管理してオートスケールや更新などを自動管理する仕組みとしてマネージドインスタンスグループ(MIGs)がある。 MIGsで管理するインスタンスは停止や一時停止させることができなかった。 この機能はpreviewとして提供されていたが、今回のリリースでGA利用できるようになった。

cloud.google.com

cloud.google.com

[FEATURE] Preview: To prevent data loss or corruption when a compute instance is stopped, you can enable graceful shutdown in the instance.

デフォルトのCompute Instanceはコンソールから停止や削除を選択するとSpot VMで30秒、その他のVMで90秒のシャットダウン期間が与えられる。この期間に安全に停止できないプロセスは強制終了されるのでデータの損失が発生する可能性があった。 今回のリリースで、Graceful Shutdownを有効化することができる。この機能を有効化するとデフォルトで10分、最大で1時間までのシャットダウン期間に変更することができる。 この機能はpreviewとして提供される。

cloud.google.com

Kubernetes Engine

[FEATURE] You can now use A3 Ultra VM powered by NVIDIA H200 Tensor Core GPUs with our new Titanium ML network adapter, which delivers non-blocking 3.2 Tbps of GPU-to-GPU traffic with RDMA over Converged Ethernet (RoCE).

A3 Ultraシリーズとしてマシンタイプ a3-ultragpu-8g が利用可能になった。これは、NVIDIA H200 Tensor Core GPU を搭載しており、ネットワークについてもさまざまな改善が適用されている。

cloud.google.com

[CHANGE] (2025-R03) Version updates

GKEパッチリリース。 Rapid/Regular/Stable/Extended/No Channel のすべてで新しいバージョンがリリースされている。 特に、Regular Channelでは 1.31.4-gke.1183000 がデフォルトバージョンとして設定される(今回から1.31系がデフォルトになった)。

[CHANGE] Starting with GKE version 1.32.1-gke.1002000, the default OS image for Ubuntu is updated from Ubuntu 22.04 to Ubuntu 24.04.

GKEではノードイメージのOSとして、デフォルトではContainer-Optimized OSが選択されるが、Ubuntuも利用可能。 1.32.1-gke.1002000までのバージョンではUbuntuは22.04が利用されていたが、このバージョンからはUbuntu 24.04が選択されるようになった。

[FEATURE] User-managed firewall rules for GKE LoadBalancer Services is now generally available on GKE clusters running version 1.31.3-gke.1056000 or later.

GKEではデフォルトでLoadBalancer Serviceのファイアウォールルールの自動作成と管理が有効化されており、自前でファイアウォールルールを管理しなくてもよい。 特に、複数のGKEクラスタトラフィックルールを共有して利用する場合や、VPCファイアウォールではなくCloud Next Generation Firewallのようなより柔軟なファイアウォールを利用する場合は、この自動管理の仕組みを無効化して手動でセットアップする必要があった。 1.31.3-gke.1056000 以降のGKEバージョンでは、このユーザ管理によるファイアウォールルールがGAリリースされた。

cloud.google.com

[FEATURE] You can now customize a node system configuration with the following new kubelet and sysctl configuration options

GKEのノードにおけるKubeletやSysctlのオプションとして、従来は linsecureKubeleteReadonlyPortEnabledやpodPidsLimit、net.core.busy_poll、net.ipv5,tcp_rmemなどの一部のオプションのみカスタマイズ可能だった。 これに加えて、containerLogMaxSizeやkernel.shmmniなど複数のオプションが追加でカスタマイズ可能になった。

cloud.google.com

BigQuery

[FEATGURE] In BigQuery ML, you can now evaluate Anthropic Claude models by using the ML.EVALUATE function.

BigQuery MLはBigQueryに対するクエリでMLのモデルの作成と実行ができる機能。 従来はここで利用できるLLMモデルとしてgemini-1.5-proなどgemini系のみ選択できた。 このモデル選択においてAnthropic Claudeがプレビューで利用できるようになった。

cloud.google.com

[FEATURE] You can use natural language to prepare data with Gemini in BigQuery.

BigQueryにはGeminiを用いてSQLの提案などの支援を受けることができる。 また、データのクリーニングなどの提案を受けてデータの整形を効率的に進めるための機能として prepare data機能がある。 この機能において、従来は対象テーブルを選択することでサンプルデータが抽出されてデータ整形の提案を受けることができた。

今回のリリースでは、おそらく自然言語による問合せができるようになったと推測する。 ただし、公式ドキュメントにはこの natural language についての記載が無いので詳細不明。 実際にprepare dataで提案を受けても自然言語を入力するフォームは確認できなかった。

cloud.google.com

[FEATURE] Data preparation in BigQuery lets you test data preparations you're developing before you deploy and schedule runs in production.

prepare dataをスケジュール実行する前に、手動で実行して動作検証することができる。 詳細はよくわからなかった。

cloud.google.com

[FEATURE] BigQuery metastore lets you access and manage metadata from a variety of processing engines, including BigQuery and Apache Spark.

BigQuery metastoreはデータ分析用の機能で、Apache SparkやApache Icebergなどのデータ分析エンジンからメタデータの同期なしにクエリを発行して分析することができる。 この機能は2024年4月に開催されたGoogle Cloud Next 24にて発表されていたが、今回のリリースによりパブリックプレビューとして利用できるようになった。

cloud.google.com

cloud.google.com

Network Service

Load Balancing

[CHANGE] Changes to RSA certificate requirements coming April 28, 2025

Application Load BalancerからバックエンドへのTLS接続において利用するRSA証明書において、keyUsageの設定により本来拒否されるはずの接続が許可されていた問題が修復される。 ALBのバックエンドにおいてRSA証明書を利用している場合は、証明書の Key Usageの設定が適切か確認する必要があり、必要であればRSA証明書の更新が必要になる。 この変更は2025年4月28日より適用され、それ以降は接続が拒否されるようになる。

datatracker.ietf.org

Cloud Run

[FEATURE] The Cloud Run Builder (roles/run.builder) IAM role is now available in preview.

Cloud Run関連の新しいロールとして roles/run.builderが提供される。 ソースコードからCloud Runをデプロイするとき、ビルドを実行するために利用するCompute Engineのデフォルトサービスアカウントにはこのロールを付与する必要がある。 この機能はプレビューとして提供される。

cloud.google.com

[FEATURE] You can now use dual-stack subnets with internal IPv6 to let your Cloud Run services and jobs send IPv4 and internal IPv6 traffic to a VPC network with Direct VPC egress.

Cloud Run (serviceおよびjob)において、dual-stack subnetが利用できるようになる。 これにより、Direct VPC egressにおいてIPv4IPv6の両方の通信が可能になる。この機能はプレビューとして提供される。

cloud.google.com

Cloud Logging

[ANNOUNCEMENT] On April 22, 2025, Cloud Logging will replace the single, global quota for the number of calls to write log entries with a set of volume-based regional quotas.

Cloud Logging APIのクオータのうち Number of entries.write requests は 120,000 per minute per Google Cloud project が適用されていた。 このクオータが 2025年4月22日以降は書き込み先のリージョンに応じて異なるログ容量に応じて制限されるようになる。 東京リージョン(asia-northeast1)を含む11のリージョンでは 4.8GB per minute per Google Cloud projectの制限が、それ以外のリージョンでは 300MB per minute per Google Cloud project のクオータが適用される。 このクオータは2025年4月22に値を起点とした過去6ヶ月の利用量に応じて自動で制限緩和が適用されている可能性がある。

cloud.google.com

Trace

[CHANGE] The Trace Explorer page in the Google Cloud console has been refreshed

Google Cloud コンソールにおけるTrace Explorerページがリニューアルされた。

cloud.google.com

[FEATURE] Introducing trace scopes.

Google Cloud Observabilityでは複数のプロジェクトのデータを可視化するための仕組みとしてスコープという概念がある。 スコープを設定することでどのプロジェクトのデータを可視化するか、その権限をどのように設定するか制御できる。 このスコープは従来はログおよびメトリクスで提供されていた。

今回のリリースによりTraceに対してもスコープが設定できるようになった。

cloud.google.com

Organization Policy

[FEATURE] You can use custom constraints with Organization Policy to provide more granular control over specific fields for some Cloud Data Fusion resources.

組織ポリシーのカスタム制約を用いてCloud Data Fusionのリソースを柔軟に制御できるようになった。

cloud.google.com