🐖

terraform-provider-aws v6.10.0 (2025/8/21)

に公開
2025/09/04

v6.10.0 (2025/08/21)

参考リンク:https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md

要確認ポイント

  • aws_instance / aws_spot_instance_request の network_interface ブロックが非推奨 (deprecated)
    • 今後は primary_network_interface を使用
    • 追加NICは aws_network_interface_attachment を利用

これまでの書き方だと、「device_index = 0」でプライマリを表現していた。追加がある場合は 1, 2, 3, ...というふうにaws_instanceのリソース内で定義していた。

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

  # メインのNIC
  network_interface {
    network_interface_id = aws_network_interface.example.id
    device_index         = 0
  }
  
  # 追加のNIC
  network_interface {
    network_interface_id = aws_network_interface.example.id
    device_index         = 1
  }
}

新しいバージョンでは

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

  # メインのNIC
  primary_network_interface {
    network_interface_id = aws_network_interface.primary.id
  }
}

# 追加のNIC
resource "aws_network_interface_attachment" "extra" {
  instance_id          = aws_instance.example.id
  network_interface_id = aws_network_interface.extra.id
  device_index         = 0 # ドキュメントでは0が記載されていたので0スタートで良さそう
}

Terraformの変更でよくある、パラメーターをリソースで切り出しましたというやつ。
本番環境で細かいネットワーク要件がある場合は利用するケースがありそう。
あとモジュール化とかしやすくなるかなぁ。

機能追加・強化

  • ECR
    • aws_ecr_repository / aws_ecr_repository_creation_template に
      image_tag_mutability_exclusion_filter 追加(属性 + 設定ブロック)

タグのmutabilityというのは、ECRではレジストリに登録されているコンテナイメージにタグをつけて管理できるのだけど、その際にタグの上書き可否を設定する項目。同じタグを使いまわせるのがmutableで、使いまわせないのがimutable。
例えば、v1.0.0やv1.0.1というようにコンテナイメージをバージョニングする際は、imutableにしてあげて誤った更新を回避した方がよくて、latestとかで、常に最新を見るタグはmutableにしておいた方がいい。これまでは、常に最新のコンテナイメージを参照する場合はmutableなタグ付けをしていたが、これからはlatest, v1.0.0, v1.0.1などのmutableとimutableのタグ付けをハイブリットに利用することができるようになるという変更だと思う。

  • Glue Job
    • worker_type に以下が追加
      G.12X, G.16X, R.1X, R.2X, R.4X, R.8X

これは、2025年7月にあったGlueのアップデートにあった、ワーカーの追加に対応するもの。

新しいワーカーには、より大きな G.12X および G.16X 汎用コンピューティングワーカーと、メモリを大量に消費する AWS Glue ワークロード向けの 4 つの新しいメモリ最適化ワーカー R.1X、R.2X、R.4X、R.8X が含まれます。

  • CloudWatch / Lambda / S3 / Secrets Manager / SQS
    • 多数のリソースで Resource Identity Support を追加
      → Import / Drift 検知 / 依存解決が強化

リソースを特定するためのIdentitiyを強化して、より細かい変更点がTerraformの差分として検知できるようになったという話。Importしやすくなったというものそうだけど、差分を検知できるようになったのが大きい。aws_s3_bucket_public_access_blockこれとかなかったん?ってなる。
正しくは「リソース単位で identity が明確になり、Terraform が差分検知や import をより正確に、安全に行えるようになった」

  • Lightsail
    • aws_lightsail_static_ip_attachment が import 対応

Lightsail、こんなサービスあったっけ...となった。勉強不足や

バグ修正

  • Batch
    • Compute Environment (SPOT_PRICE_CAPACITY_OPTIMIZED) が
      in-place update 可能に

AWS Batchのcompute environmentリソースで、SPOT_PRICE_CAPACITY_OPTIMIZEDという スポットインスタンス向けのallocation strategyを使っている場合、Terraformによる更新ができないというバグの修正らしい

  • EC2
    • aws_instance / aws_spot_instance_request に
      primary_network_interface を追加
      → カスタム NIC 付きリソースを Import 可能に

これはバグだったのか。。。。?
Importした後、EC2自体を再作成しないとNICを更新できなかったということか。こういうの他にもあったような気がする。。イシューあげとけばよかった。

  • RDS Cluster
    • database_insights_mode="advanced" 有効化時の不具合修正
    • KMS カスタムキー利用時の database_insights_mode 修正

そもそもRDSとAuroraには、Performance Insights/Database Insightsなるものがあって、
それぞれ
Performance Insights : DBの負荷、CPU使用率などが可視化されるサービス(クラスタ単位で見る)
Database Insights : 複数のデータベース横断的に分析できて、Performance Insightsよりもデータの保存期間が長い(PI:7日 vs DI:15ヶ月)のと、SQLのトランザクションだけではなく、DBを利用しているアプリケーションのメトリクスも見れるらしい(わからん)
大事なのは、Performance InsightsがEOLを迎えるということ(公式Doc参照)
Performance Insights利用していたら、Database Insightsに移行しないといけないらしい。だらか早めにバグ対応しているのか。。なるほどだ

  • ImageBuilder
    • policy_detail.exclusion_rules.amis.is_public 省略時の
      Provider produced inconsistent result after apply エラーを修正

AMIを作成するマネージドなサービス。こんなのあったのねという学び。

全体まとめ

  • EC2 ネットワークIF の管理方法が刷新(移行推奨)
  • ECR / Glue 機能拡張
  • S3 / Secrets Manager / SQS など多数リソースで「リソースアイデンティティ」サポート
  • RDS / Batch / ImageBuilder の安定性改善

Discussion