AWSサービスのAPI、意識していますか?
唐突ですが、みなさんがAWSを触るとき、AWSサービスのAPIを意識していますか?
本記事では、AWSサービスとそのAPIについて、なるべく初心者にもわかりやすいよう図で表現しながら解説していこうと思います。
対象読者
- AWS初心者の方
- AWSのしくみを改めて確認したい方
なぜこの記事を書いたのか?
AWSを理解する上でAWSサービスやそのAPIについて理解することは重要だと考えています。
しかし、初心者向けの書籍やブログでAWSサービスのAPIについて言及しているモノは少ないような気がしたので、書いてみようと思いました。
(私が知る限りでは少ないと感じたのですが、すでにそのようなモノがあったら教えていただけますと幸いです。)
スライドで図解
文章で説明するよりも図を使って説明したほうが理解しやすいと思うので、スライドを作成しました。
本記事は、スライドに解説を加えていく形の構成となります。
なお、作成したスライドはSpeaker Deckにアップロードしてありますので、スライドの全容を確認したい場合はこちらをご参照ください。
結論
忙しい方やせっかちな方向けに結論から述べます。
詳細解説
ここからは詳しく解説していきます。
AWSサービス
AWSは様々なサービスの集合体です。
Amazon VPC や Amazon EC2、Amazon S3 などが AWSサービス に該当するモノです。
なお、本記事執筆時点(2024年2月)で200以上のサービスがあります。
AWSサービスとリソース
AWSサービスには1つ以上の リソース が含まれています。
例えば、Amazon VPC という AWSサービス には、VPC や Internet gateway、NAT gateway といった リソース が含まれています。
AWSサービスのAPI
AWSサービスには API が用意されており、APIを介してリソースを操作することができます。
例えば、Amazon VPC という AWSサービス には、DescribeVpcs や CreateVpc、DeleteVpc といった API が用意されています。
APIの確認
AWSサービスにどのようなAPIが用意されているかは、公式ドキュメント(APIリファレンス)で確認することができます。
例えば、Amazon VPC の API は下記リンクから確認することができます。
これを見ると、VPCs や Internet gateways のようにリソース毎に API (Actions) が定義されていることがわかります。
APIの実行
ここまで AWSサービスのAPI について確認してきました。
しかし、実際にはAWSを使用するユーザーが AWSサービスのAPIを直接実行することはほとんどありません。
通常は、AWS Management Console や AWS CLI、AWS SDK などの ツールを介してAWSサービスのAPIを実行しています。
視点を変えると、AWS Management Console や AWS CLI、AWS SDK はAWSサービスのAPIを実行しやすくするためのツール、とも言えます。
- AWS Management Console → ユーザーがGUI操作によってAWSリソースを操作するためのツール
- AWS CLI → ユーザーがコマンドやスクリプトによってAWSリソースを操作するためのツール
- AWS SDK → JavaやPythonなどのプログラムからAWSリソースを操作するためのツール
なお、AWSサービスのAPIを直接実行することもやろうと思えば可能ですが、本記事では、その方法には言及しません。
興味のある方は "aws api curl sigv4" などのキーワードで検索してみてください。
実行されたAPIの確認
ここまで、AWS Management Console や AWS CLI、AWS SDK などのツールを介してAWSサービスのAPIを実行することを確認してきました。
では、それらのツールを介して実行されたAPIはどのように確認することができるでしょうか。
答えは、AWS CloudTrail というAWSサービスで確認することができます。
AWS Management Console から AWS CloudTrail の画面を開き、イベント履歴 から実行されたAPIを確認することができます。
AWS CloudTrail のイベント履歴には、実行されたすべてのAPIが表示されます。
ルックアップ属性 を “ユーザー名” に変更し、検索条件に自身のユーザー名を入力すると、自身が実行したAPIだけを確認することができます。
まとめ
まとめです。
各AWSサービスにはAPIが用意されており、それらを使用してリソースを操作する
通常は、AWS Management Console や AWS CLI、AWS SDK などのツールを介してAWSサービスのAPIを実行している
付録
おまけです。
AWS Management Console でボタンを押したり、画面を切り替えた時にも、次に表示する情報を取得するため、AWSサービスのAPIが実行されています。
AWS Management Console でなにか操作した時に、裏でどのようなAPIが実行されているのかを AWS CloudTrail で確認してみると、イメージが湧き、理解が深まると思います。
AWS CloudTrail のイベント履歴に実行されたAPIが反映されるのには数分程度のタイムラグがあります。
反映されていない場合は少し時間をおいてから更新ボタンを押してみましょう。
あとがき
AWSサービスと、そのリソース、APIについて、理解が深まったでしょうか?
基本的なことではありますが、これらの概念をしっかりと覚えておくことが今後のスキルアップに役立つと考えています。
例えば、IAMロールやIAMポリシーによるアクセスコントロールのしくみは、これらの概念を正しく理解していないと、習得することが難しいと思います。
本記事がみなさまのスキルアップの一助になれば幸いです。
最後まで読んでいただき、ありがとうございました。
(いいねやストックをいただけると励みになります。)