AWSCC providerの実態に迫る～どれだけAWS providerより早くリリースされるのか～

# はじめに
- これまで2回にわたってAWS provider(以下AWS provider)とAWSCC provider(AWSCC provider)について説明してきました
    - [Terraform AWS providerの補完に！AWS Cloud Control providerの概要と使い方](https://qiita.com/ec2_on_aws/items/fd90ce364e87a132a9a8)
    - [HashiCorp社によるAWS providerとAWSCC providerの解説記事を翻訳&解説](https://qiita.com/ec2_on_aws/items/5c035e4f2f18252bec47)
- どちらも多くの方にご覧いただきありがとうございます
- 本記事では、実際にAWSCC providerがAWS providerに取って代われるのか、すなわちAWSCC providerの方がAWS providerよりも新サービス/新機能対応が早いのか、あくまで現時点(2025年5月8日)の対応状況について調査してみました

# 調査ポイント
- [AWS providerのリリースノート](https://github.com/hashicorp/terraform-provider-aws/releases?page=1)、並びに[AWSCC providerのリリースノート](https://github.com/hashicorp/terraform-provider-awscc/releases)から個人的に主要と思われる機能をpickし、それぞれのリリース時期について比較していきます
- なお、AWSCC providerは2024年5月30日にGAとなった、比較的最近のproviderのため、**寛容な気持ち**が大切です

# 調査！
## Amazon Bedrock Knowledge bases
- 機能概要
    - Amazon Bedrockで、いわゆるRAGを簡単に作成することができる機能です
    - 具体的に説明すると長くなるため、詳細は以下ブログ記事をご参照ください
    - [AWS 入門ブログリレー 2024 〜Amazon Bedrock Knowledge bases編〜](https://dev.classmethod.jp/articles/introduction-2024-amazon-bedrock-knowledge-bases/)
- 機能リリース
    - 2023年9月13日にPreviewリリース、2023年11月28日にGAとなりました
        - [ナレッジベースは、Amazon Bedrock でフルマネージド型の RAG エクスペリエンスを提供するようになりました](https://aws.amazon.com/jp/blogs/news/knowledge-bases-now-delivers-fully-managed-rag-experience-in-amazon-bedrock/)
        - [Preview – Connect Foundation Models to Your Company Data Sources with Agents for Amazon Bedrock](https://aws.amazon.com/jp/blogs/aws/preview-connect-foundation-models-to-your-company-data-sources-with-agents-for-amazon-bedrock/)
- AWS provider
    - AWS providerでは、[v5.47.0(2024年4月26日リリース)](https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.47.0)で対応しました
- AWSCC
    - AWSCC providerでは、[v0.73.0(2024年4月5日リリース)](https://github.com/hashicorp/terraform-provider-awscc/releases/tag/v0.73.0)で対応しました
- つまり
    - わずかな差ではありますが、AWSCC providerの方が2週間早く対応したようです

## CloudfrontのVPC origin
- 機能概要
    - 従来、Cloudfrontのバックエンドに配置していたELBはパブリックサブネットに配置する必要がありました
        - すなわち、管理者が予期しないCloudfront以外のパブリックリソースにアクセスされるリスクの対応とそのパブリックリソースにパブリックIPを割り当てる必要がありました
    - これに対して、VPC origin機能を用いることで、Cloudfront以外のパブリックにアクセスさせたくないリソースをプライベートリソースとすることができ、また、パブリックIPが不要となり、AWSの価格改定により、Elastic IPでなくとも料金がかかるようになった点がかからなくなったというメリットがあります
    - [Amazon CloudFront VPC オリジンの紹介: アプリケーションのセキュリティ強化と運用の合理化](https://aws.amazon.com/jp/blogs/news/introducing-amazon-cloudfront-vpc-origins-enhanced-security-and-streamlined-operations-for-your-applications/)
- 機能リリース
    - 大体2024年11月20日にリリースされました
    - [Introducing Amazon CloudFront VPC origins: Enhanced security and streamlined operations for your applications](https://aws.amazon.com/jp/blogs/aws/introducing-amazon-cloudfront-vpc-origins-enhanced-security-and-streamlined-operations-for-your-applications/)
- AWS provider
    - AWS providerでは、[v5.82.0(2024年12月20日リリース)](https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.82.0)で対応しました
- AWSCC
    - AWSCC providerでは、[v1.27.0(2025年1月31日リリース)](https://github.com/hashicorp/terraform-provider-awscc/releases/tag/v1.27.0)で対応しました
- つまり
    - AWS providerの方が1月早く対応したようです

## VPC Lattice Resource configuration
- 機能概要
    - 旧来VPC LatticeはHTTP/HTTPSの通信のみをサポートしていましたが、TCP通信も許可するようになりました
    - これにより、特にRDS等のDB通信、SSHなどのサーバへの通信もVPC Latticeを経由して接続できるようになりました
    - [Amazon VPC Lattice が TCP 接続に対応し、VPC 内の幅広いリソースへアクセスができるようになりました](https://dev.classmethod.jp/articles/amazon-vpc-lattice-tcp-vpc-resources/)
- 機能リリース
    - AWS re:invent2024 Day1である2024年12月2日にリリースされました
        - [VPC Lattice に VPC リソースに対する TCP サポートが追加](https://aws.amazon.com/jp/about-aws/whats-new/2024/12/vpc-lattice-tcp-vpc-resources/)
- AWS provider
    - AWS providerでは、[v5.85.0(2025年2月4日リリース)](https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.85.0)で対応しました
- AWSCC
    - AWSCC providerでは、[v1.24.0(2024年12月20日リリース)](https://github.com/hashicorp/terraform-provider-awscc/releases/tag/v1.24.0)で対応しました
- つまり
    - AWSCC providerの方が約1月半早く対応したようです

## Amazon SageMaker Unified Studio
- 機能概要
    - Amazon SageMaker Unified Studio は、組織内のすべてのデータを検索してアクセスし、あらゆるユースケースにおいて、極めて優れたツールを使用して、それらのデータに基づいて行動できる、単一のデータおよび AI 開発環境です
    - SageMaker Unified Studioは、Amazon EMR、AWS Glue、Amazon Athena、Amazon Redshift、Amazon Bedrock、Amazon SageMaker AIなど、既存のAWSの分析およびAI/MLサービスの機能とツールを統合します
    - 統合スタジオ内から、組織全体のデータやAIアセットの検索、アクセス、クエリを行い、プロジェクトで協力して、データ、モデル、生成AIアプリケーションなどの分析結果や AI アーティファクトを安全に構築および共有できます
    - [Amazon SageMaker Unified Studio](https://aws.amazon.com/jp/sagemaker/unified-studio/)
    - [Amazon SageMaker Unified Studio が一般提供開始](https://aws.amazon.com/jp/about-aws/whats-new/2025/03/amazon-sagemaker-unified-studio-generally-available/)
- 機能リリース
    - AWS re:invent2024 Day2である2024年12月3日にPreviewリリース、2025年3月13日にGAとなりました
        - [次世代の Amazon SageMaker のご紹介](https://aws.amazon.com/jp/about-aws/whats-new/2024/12/next-generation-amazon-sagemaker/)
        - [Amazon SageMaker Unified Studio が一般提供開始](https://aws.amazon.com/jp/about-aws/whats-new/2025/03/amazon-sagemaker-unified-studio-generally-available/)
- AWS provider
    - 現時点ではまだ対応していないようです
    - しかし、以下AWS re:Postにて、SageMaker Unified StudioがPreview時期に以下モジュールが紹介されていました
        - ただし、以下の通りSageMaker Unified Studio用のモジュールではなく旧来のSageMaker Studio用である点には注意が必要です
        ```
        このTerraformモジュールは、SageMaker Studioリソースのデプロイと管理を自動化するのに役立ちます。
        これは、SageMaker Unified Studioを使用したPoC作業に役立つ可能性があります。
        このモジュールはSageMaker Studio用ですが、Unified Studioはより新しく、より統合された製品であるため、SageMaker Unified Studioの特定の機能すべてを網羅しているわけではないことにご注意ください。
        ```
        - [sagemaker unified studio](https://repost.aws/questions/QUN1WqGuc4Rd22MLJ-OvAoBQ/sagemaker-unified-studio)
- AWSCC
    - 現時点ではまだ対応していないようです
- つまり
    - AWS providerもAWSCC providerもどちらも対応していませんでした
    - AWS謹製のCloudformation、AWS CDKのどちらも未対応のようで、今までにない大きな機能のIaCにはAWS側も苦戦している？時間がかかっている様子がうかがえます

## Amazon S3 Tables
- 機能概要
    - Apache Iceberg サポートが組み込まれた初めてのクラウドオブジェクトストアを提供し、表形式データの大規模な保存を効率的に行えるようにします
    - 継続的なテーブル最適化は、バックグラウンドでテーブルデータを自動的にスキャンして書き換えるため、管理されていない Iceberg テーブルと比較して最大 3 倍高速なクエリパフォーマンスを実現します
    - [Amazon S3 Tables](https://aws.amazon.com/jp/s3/features/tables/)
- 機能リリース
    - AWS re:invent2024 Day2である2024年12月3日にリリースされました
        - [New Amazon S3 Tables: Storage optimized for analytics workloads](https://aws.amazon.com/jp/blogs/aws/new-amazon-s3-tables-storage-optimized-for-analytics-workloads/)
- AWS provider
    - AWS providerでは、[v5.80.0(2024年12月5日リリース)](https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.80.0)で対応しました
- AWSCC
    - AWSCC providerでは、[v1.24.0(2024年12月20日リリース)](https://github.com/hashicorp/terraform-provider-awscc/releases/tag/v1.24.0)で対応しました
- つまり
    - AWS providerの方が2週間早く対応したようです

# おわりに
- あくまで5つの機能/サービスに対してのみ調査をしたため、これがすべてではない点、改めてお伝えさせていただきます
- そのうえで、今回調査したものに関してはAWS providerの方が早かったものが2件、AWSCC providerの方が早かったものが2件、これから対応が期待されるものが1件というのが実態でした
- AWSCC providerは2024年5月30日にGAとなりまだ日が浅いこと、AWS providerが過去対応済みのサービス/機能にまだ対応しきれていないことから、AWSCC providerの期待されている **【自動的に早くリリースされる】** がもう少し達成できていないという状況なのかなと推測します
- これからのAWSCC providerの発展を願っています