Open2

Terraform AWS Provider アップデートまとめ

よぴよぴ

v6.10.0 (2025/08/21)

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

要確認ポイント

  • aws_instance / aws_spot_instance_requestnetwork_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.0v1.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_attachmentimport 対応

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 の安定性改善
よぴよぴ

6.11.0 (2025/8/25)

新機能

  • Timestream InfluxDB

    • aws_timestreaminfluxdb_db_cluster
      そもそも時系列データベースというものに馴染みがないのだけど、基本、時刻と値の二つのカラムを持ち、RDBのようなリレーションはもたない。そしてレコードも基本追加のみで更新などは行うものではない。センサーやIoTのログを記録しておくのに特化したデータベースという理解。
  • Amazon WorkSpaces Web

    • aws_workspacesweb_portal
    • aws_workspacesweb_trust_store / *_association
    • aws_workspacesweb_session_logger / *_association
    • aws_workspacesweb_identity_provider
    • aws_workspacesweb_user_*_association
    • aws_workspacesweb_network_settings_association
    • aws_workspacesweb_ip_access_settings_association
      クラウド上で動くセキュアなマネージドWebブラウザがAWSにあるらしい。BYODしつつもブラウザ上でセキュリティーを担保するような目的でつかわれるのかな。画面録画、スクショ、コピペとかどこまで制限できるのか気になる。誰か教えて。

機能拡張 (Enhancements)

データソース

  • Client VPN → IPv6 対応 (endpoint_ip_address_type, traffic_ip_address_type)
    IPv6になったら、IPが増える以外にどんなメリットがあるのかわかっていない。。。
👨
教えてChat-GPT

🤖
- アドレス枯渇回避:IPv6 の広大なアドレス空間で大量ユーザー接続が可能
- 最新ネットワーク対応:モバイル回線や企業ネットワークで IPv6 ネイティブ接続可能
- セキュリティ強化:細かいアクセス制御やユニークローカルアドレスの利用が可能
- ネットワーク柔軟性:IPv4/IPv6 デュアルスタックで段階的移行や冗長構成が可能
- 将来性対応:インターネット標準の IPv6 に対応し、今後のネットワーク環境に適応
  • Network Interfaceattachment.network_card_index
  • SESv2 Email Identityverification_status
  • VPC IPAMmetered_account
  • Signer Signing Profilesigning_material, signing_parameters

リソース

  • DLM Lifecycle Policy → タグコピー、除外設定、スクリプト実行、アーカイブ等を追加
    「DLM(Data Lifecycle Manager) Lifecycle Policy は、AWS 上で EBS ボリュームやスナップショットのライフサイクルを自動管理するための仕組み」らしいですね。その細かい設定ようのパラメーターが追加されたらしい
- Add copy_tags, create_interval, exclusions, extend_deletion, policy_language, resource_type and retain_interval attributes to policy_details configuration block (#41055)
- Add default_policy argument (#41055)
- Add policy_details.create_rule.scripts argument (#41055)
- Add policy_details.schedule.cross_region_copy_rule.target_region argument (#33796)
- Make policy_details.schedule.cross_region_copy_rule.target optional (#33796)
- Add policy_details.schedule.archive_rule argument (#41055)
  • ECR / KMS / Route53 / S3 など多数resource identity サポート
    resource identity サポート」について勘違いしていたけど、Terraform実行する時に、利用するロールをリソースごとに使い分けられるということなのか!
resource "aws_s3_bucket" "example" {
  bucket = "my-example-bucket"

  # resource identity 指定
  resource_identity {
    arn = aws_iam_role.s3_operator.arn
  }

  tags = {
    Environment = "dev"
  }
}

ここまで権限管理バッチリにできたらすごいと思う。

  • ECS Servicesigint_rollback サポート、deployment_configuration の改善
  • EKS Clusterremote_network_config 更新対応(ハイブリッドノード)
  • MWAA Environmentworker_replacement_strategy
  • NLBsecondary_ips_auto_assigned_per_subnet
  • S3Tables Table Bucketforce_destroy
  • Synthetics Canary → IPv6 dual stack サポート
  • Inspector2 Filter → ECR イメージ利用状況フィルタ

バグ修正 (Bug Fixes)

  • Glue Catalog Tablepartition_keys.parameters エラー修正
  • Cognito User Pool → 空の email_mfa_configuration 許容
  • DB Instance → KMS 利用時の database_insights_mode 修正
  • DX Hosted Connection → 接続 ID 解決バグ修正
  • Image Builder → EBS IOPS 上限 100k に拡大
  • NAT Gateway → secondary IP 不整合修正
  • Spot Instance Requestnetwork_card_index を Computed に変更
  • Timestream InfluxDB Instance → タグ更新バグ修正
  • WAFv2 Web ACL → response inspection の plan diff 修正

まとめ

  • 新規: WorkSpaces Web 系リソース大量追加、Timestream InfluxDB クラスタ
  • 拡張: S3/KMS/ECR/Route53 に resource identity、DLM/ECS/EKS/MWAA の運用強化
  • 修正: Glue、Cognito、RDS、NAT GW、WAFv2 などの不具合解消