みなさん、こんにちは。サニービュー事業部の小寺です。
AWSを使う際にAPIを使っている方も多いのではないでしょうか。
今日お伝えするのは、クラウドコントロールAPIです。新しくリリースされたサービスについて、特徴などみていきたいと思います。
https://aws.amazon.com/jp/blogs/news/announcing-aws-cloud-control-api/
AWS クラウドコントロール APIとは
AWS クラウドコントロール APIとは、デベロッパーが AWS およびサードパーティーのサービスを簡単に管理できるようにするために設計された、一般的なアプリケーションプログラムインターフェイス (API) のセットです。
このアップデートのメリット
AWS のサービスが増えてきて、個別の APIを学習し、ナレッジを蓄積し、運用管理するのは大変になってきています。
特にサードパーティーのサービスも利用する場合には、AWS とサードパーティーのサービスの両方を一緒に管理するカスタムコードを書いて、運用を維持していかないといけません。
例えば、S3 CreateBucket API を使用して、Amazon Simple Storage Service (Amazon S3) バケットを作成できます。
また、Amazon Elastic Compute Cloud (Amazon EC2) RunInstances API を使用して EC2 インスタンスを作成することができます。
このように各サービスでAPIや使い方が分かれていて、管理も煩雑になってきます。
さらに、今までAWS が新しいサービスまたは機能をリリースする場合、新しい AWS のサービス API を学習、テストしてリリースする必要がありました。リリース後すぐにAPIを本番にリリースできるわけではなく、タイムラグが発生していました。
そんな課題を解決するのが、AWS クラウドコントロール APIです。
新しいクラウドコントロール API により、一貫した命名規則やサービスのライフサイクルを管理するため、以下の5つの動作を提供しています。
API operation | AWS CLI command |
CreateResource | create-resource |
DeleteResource | delete-resource |
GetResource | get-resource |
ListResources | list-resources |
UpdateResource | update-resource |
入力パラメータは、JSON を使用した統合リソースモデルによって定義されます。また、戻り値のタイプとエラーメッセージも全ての5つの動作で同じものに統一がされています。
さらに、クラウドコントロール APIでは今後は、新しいサービスリリースの当日に新しい AWS リソースをサポートする予定です。既存のサービスにも対応を進めていく予定になっています。
なお、クラウドコントロール API は、従来の AWS のサービスレベル API を置き換えることが目的ではないとのことです。
AWSによるとクラウドコントロール API はより使いやすく、より一貫性があり、新しいアプリケーションに使用するのがおすすめとのことです。
試してみるには
AWS Command Line Interface (AWS CLI)を使って、コマンドを試してみることができます。詳細はこちらより。
やっておいた方がよいこと
create-resource API コールに渡した client-token パラメータについてです。
Create、Update、および Delete のリクエストはすべて、クライアントトークンを受け入れます。
常にクライアントトークンを渡すことがお勧めです。クライアントトークンを渡しておけば、リトライが必要な場合にリクエストが明確になります。
もし、渡さない場合、ConcurrentOperationException や AlreadyExists などの予期しないエラーが発生する可能性があります。
また、クライアントトークンは、UUID を渡すなど、リクエストごとに常に一意になるようにすることがお勧めです。
利用可能なリージョンと料金
クラウドコントロール API は、中国を除くすべての AWS リージョンで利用することができます。 CloudWatch ログや Lambda 関数の呼び出しなど、基盤となる AWS リソースの利用の料金のみ支払いが必要です。また、サードパーティーのリソース (Datadog モニターや MongoDB Atlas クラスターなど) の使用に関連する、ハンドラーオペレーションの数とハンドラーオペレーションの期間にかかる料金のみ支払いが必要です。
まとめ
AWS クラウドコントロール APIとは、デベロッパーが AWS およびサードパーティーのサービスを簡単に管理できるようにするために設計された、一般的なアプリケーションプログラムインターフェイス (API) のセットです。
ここからは所感です。
とても便利なサービスがリリースされたと思います。
今までのAPIは引き続きサポートされるので、この新しいクラウドコントロールAPIへ今すぐ全面移行が必要というわけではないようですね。新しいアプリケーションを構築する際には、ぜひ活用していきたいと思います!
AWSをご利用いただくには、直接契約するより断然お得。
AWS利用料が5%割引、さらに日本円の請求書による支払いが可能です!