terraform-provider-aws v6.10.0 (2025/8/21)
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 検知 / 依存解決が強化
- 多数のリソースで Resource Identity Support を追加
リソースを特定するための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 可能に
- Compute Environment (
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