はじめに
今回は、AWSの『○○ゲートウェイ』の1つであるAmazon API GatewayをStudy&マスターして行きます!AWSには、この『○○ゲートウェイ』という用語が沢山あって、とてもややこしいです。ということで、今回はこの『○○ゲートウェイ』の1つ、Amazon API Gatewayを3分で頭に入れていきましょう!
【ここで扱う疑問】
などの、Amazon API Gatewayに纏わる様々な疑問を解消していきます!
*○○ゲートウェイっていうけど、そもそも「ゲートウェイってなに?」という鋭角な疑問を感じた人はこちらからご覧ください。
Amazon API Gatewayってなんだけ? 1/7
Amazon API Gatewayは、APIの作成、管理、公開を簡単にするための強力なツールです。セキュアでスケーラブルなAPIを迅速に開発・運用するために非常に有用です。このサービスを利用することで、開発者はインフラストラクチャの管理から解放され、ビジネスロジックの実装に集中できるようになります。以下の特性があります:
*そもそも「APIってなに?」という鋭利な疑問を抱いたなら、こちらに進みたまえ。
1.APIの作成と管理:
- APIエンドポイントを設定し、どのリクエストがどのバックエンドサービスに転送されるかを定義します。
- バージョン管理やデプロイメントを簡単に行えます。
*「そもそもエンドポイントってなんだったけ??」というような、一時期炎上した宮○博之さんのような疑問を抱いたらこちら↑をどうぞ。
*「エンドポイントは理解してるけど、APIエンドポイントって言われるとこんがらがる。」このような状況にいる場合はこちらをどうぞ。
p.s.元ネタはこちらの動画から↓
2.セキュリティと認証:
- APIリクエストに対する認証と認可を設定できます。例えば、APIキー、OAuth、AWS IAM、Cognitoなどを利用してアクセス制御を行います。
- SSL/TLSで通信を暗号化し、セキュアなデータのやり取りを保証します。
3.トラフィック管理:
- スロットリング(リクエスト数の制限)やキャッシング(応答のキャッシュ)を設定し、APIのパフォーマンスと可用性を向上させます。
4.モニタリングとロギング:
- APIの使用状況やパフォーマンスをリアルタイムで監視できます。Amazon CloudWatchと統合され、詳細なメトリクスやログを提供します。
5.スケーラビリティ:
- トラフィックの増減に応じて自動的にスケールアップまたはスケールダウンが行われます。これにより、突発的なトラフィック増加にも対応できます。
ゲートウェイってなんだけ? 2/7
ゲートウェイ(Gateway)は、ネットワークやシステムにおいて異なるプロトコルやネットワーク間の接続を行うための装置やサービスのことを指します。一般的には以下のような役割を持ちます:
- プロトコル変換: 異なる通信プロトコル間での通信を可能にする装置。
- アドレス変換: 通信プロトコルの変換と同時に、異なるネットワーク間のアドレスを変換することで通信を中継します。例えば、インターネットと企業内のプライベートネットワークを接続するためのゲートウェイがあります。
- セキュリティ機能の提供: ファイアウォールやVPN接続などのセキュリティ機能を組み込んだゲートウェイがあり、外部との安全な通信を実現します。
ゲートウェイというのは、異なるプロトコル間とネットワーク間で生じる差を吸収することによって、相互接続できるようにしてくれる装置。
APIってなんだけ? 3/7
API(Application Programming Interface)とは、ソフトウェアやアプリケーション間で機能やデータをやり取りするためのインターフェース(接点)を提供する仕組みです。APIは、他のプログラムが特定の機能を利用できるようにするための一連のルールやプロトコルで構成されています。
API(Application Programming Interface)は、異なるソフトウェアコンポーネントが互いに通信するためのインターフェイスです。具体的には、特定の機能やデータにアクセスするための一連の規則や手順を定義します。
エンドポイントってなんだけ? 4/7
エンドポイントは基本的には、通信の「接続点」や「インターフェース」を指します。具体的には以下のような意味があります。
- 通信の接続点: ネットワークやサービスで通信が行われる場所や、データのやり取りが行われる接続点。
- アクセスの入口: データや機能にアクセスするための「入り口」であり、クライアント(ユーザーやアプリケーション)がサービスやデータにアクセスする際の「入口」として機能します。
具体例でイメージ:
例えば、エンドポイントにはこんなものがあります。
1.ウェブサーバーのエンドポイント(HTTP/HTTPSエンドポイント)
- ウェブサーバーのリソースへのアクセスは『https://www.example.com/index.html』のようなURLがエンドポイントになります。
2.ネットワークエンドポイント(ネットワークデバイスのエンドポイント)
- 特定のネットワークデバイスにアクセスするためのエンドポイントは『
192.168.1.10:8080
』のようなIPアドレスとポートの組み合わせです。
エンドポイントっていうのは、ネットワークやシステムにおける「接続点」や「出入り口」であり、データやリクエストが通過する特定の場所。エンドポイントを通じて、リクエストが送信され、レスポンスが返されるといった役割を果たしている。
APIエンドポイントってなんだけ? 5/7
APIエンドポイントは、APIに対するリクエストを受け取る特定のURL(Uniform Resource Locator)やURI(Uniform Resource Identifier)です。APIエンドポイントは、クライアントがサーバーの特定の機能やデータにアクセスするための「出入り口」となります。
APIエンドポイントはエンドポイントの1種
:エンドポイントには、ネットワークのエンドポイント(IPアドレスとポート)やウェブサーバーのエンドポイント(URL)など色々な種類があります。そのうえで、APIエンドポイントとは、APIのエンドポイント=接続点を表しているのです。
まとめ 6/7
要するに…
まず、APIというのは異なるソフトウェア間でデータの橋渡しをしてくれるもの。 で、Amazon API Gatewayというのはその橋渡しをする上でのAPIの決まり事とか手順とかを自動で作ってくれるフルマネージドサービス。 だからそうすることによって通信の方法とかをわざわざ自分で1から作る必要がなくて、相互の異なるソフトウェア間のコンポーネントとかを簡単に連携させることができる。 これがAmazon API Gateway。
おわりに 7/7
本日はここまでです。今日はAmazon API GatewayをStudy&マスターしてきました!
一つ一つ、疑問を解消していくとなんだか知識が深まった気がしますよね?…..え?そんなことない?いやいや、気づいていないだけでしっかりと身についていますよ!
何事も継続は力なりですから。焦らず一歩ずつ着実に進んでいきましょう!では、さらばじゃ!