Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Cloud Control API & AWSCC Provider

y-ohgi
April 03, 2025
18

AWS Cloud Control API & AWSCC Provider

y-ohgi

April 03, 2025
Tweet

Transcript

  1. 1. AWS Cloud Control API 2. AWSCC Provider 3. AWS

    Provider with AWSCC Provider 4. まとめ はなすこと
  2. is 何? • AWSサービスを標準化された方法で統一的に管理するための AWSサービス ◦ AWS CLIからも叩ける AWS Cloud

    Control API $ aws cloudcontrol help : AVAILABLE COMMANDS o cancel-resource-request o create-resource o delete-resource o get-resource o get-resource-request-status o help o list-resource-requests o list-resources o update-resource o wait $ aws cloudcontrol create-resource \ --type-name AWS::EC2::VPC \ --desired-state '{"CidrBlock": "10.0.0.0/16", "Tags": [{"Key": "Name", "Value": "example"}]}' { "ProgressEvent": { "TypeName": "AWS::EC2::VPC", "RequestToken": "5543dadd-1e7c-4208-ba9e-xxxxxxxx", "Operation": "CREATE", "OperationStatus": "IN_PROGRESS", "EventTime": "2025-03-25T11:07:52.653000+00:00" } }
  3. なぜ使うのか? • 統一的なインターフェースで対応しているサービスに対して CRUD-Lで操作可能なことが嬉しい • 基本的にCloudFormationのTypeとPropetiesを与えるイメージ ◦ 語弊を恐れずに言うと、 CFnのcli/API版 ◦

    CFnのcli/APIなので、CFnができないことはできない。 • 全てのAWSサービスが対応しているワケではないのでドキュメントを要確認 AWS Cloud Control API https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/supported-resources.html
  4. 1. AWS Cloud Control API 2. AWSCC Provider 3. AWS

    Provider with AWSCC Provider 4. まとめ はなすこと
  5. Terraform/OpenTofuで活用 • AWS Cloud Control API専用のProviderが存在する • AWS Providerでは互換性のないリソースが存在する ◦

    その際にAWSCC Providerを利用する • AWSCC Providerは独自の書き方をする ◦ CFnの書き方に引っ張られるため AWSCC Provider https://registry.terraform.io/providers/hashicorp/awscc/latest
  6. 1. AWS Cloud Control API 2. AWSCC Provider 3. AWS

    Provider with AWSCC Provider 4. まとめ はなすこと
  7. 2つのProviderを利用する • AWS ProviderとAWSCC Providerを併用することが可能 • CFn/CDKからの移行に役に立つ • 例としてCFnのAWS::EC2::KeyPair ◦

    CFnでKeyPairを作成すると、ParameterStoreに 秘密鍵が保管される。 ◦ AWS Providerには同様のリソースがない • サンプルコード ◦ AWSCC Providerでキーペアを作成 ◦ AWS ProviderでEC2を作成 AWS Provider with AWSCC Provider
  8. 1. AWS Cloud Control API 2. AWSCC Provider 3. AWS

    Provider with AWSCC Provider 4. まとめ はなすこと
  9. • SDKやライブラリを作る人にとって統一的な APIを使用できるため嬉しい • 正直Cloud Control APIを直接使わないと思う • CDK/CFnからの移行 をする際にAWSCC

    Providerを使おう! • AWSCC ProviderはAWS Providerと書き方が異なる • 個人的にAWSCC Providerは最終手段にして、AWS Providerに移行し切っちゃった方が楽 な気はするzoi! まとめ