

Contents
基礎知識
●プレフィックスリスト
AWSのVPCの機能で、IP アドレス範囲一式を指す。1つ以上のCIDRブロックを一元管理できる。セキュリティグループで複数プロトコルを利用して接続元を絞る場合、それぞれのリソースに同じルールを記載する手間があった。各リソースをリスト化のように扱うことで、重複したIPの設定を省略できるようになった。
- マネージド
AWSが管理するIPアドレスレンジのリスト。最新のIPアドレスレンジを手動で更新する必要が無くなる。 - カスタマーマネージド
その名の通り、ユーザー自身が管理することのできるIPアドレスレンジのリスト。これらのプレフィックスリストは AWS が管理しており、さまざまな AWS サービスで使用される IP アドレスを参照する手段を提供する。
・S3 や DynamoDB、その他数多くの AWS サービスに対応している。
[セキュリティ面]
AWS が提供する信頼のおける IP アドレス情報に依存することで、設定ミスや予期せぬ接続問題によるリスクを最小限に抑えることができる。
[参考サイト]
●VIF(Virtual Interface)
仮想インターフェイス。AWSリソースにアクセスするための論理インターフェイス。 ※DX:専用接続
| パブリックVIF | オンプレ環境とAWS側をパブリックIPアドレスでつなぐ。接続対象はVPCの中ではなく、VPCの外のパブリックIPアドレスで提供される。 |
| プライベートVIF | オンプレ環境とAWS側をプライベートIPアドレスでつなぐ。VPCの中にインターネットと通信する出入口のない部屋(プライベートサブネット)を作成する。 |
| トランジットVIF | Direct Connect Gateway 経由でTransit Gateway につなぐときに利用する。 |
[一時ポート]
| 多くの Linux カーネル (Amazon Linux カーネルを含む) | ポート 32768~61000 を使用 |
| Elastic Load Balancing からのリクエスト | ポート 1024-65535 を使用 |
| Windows Server 2003 を介する Windows オペレーティングシステム | ポート 1025~5000 を使用 |
| Windows Server 2008 以降のバージョン | ポート 49152~65535 を使用 |
| NAT ゲートウェイ | ポート 1024~65535 を使用 |
| AWS Lambda 関数 | ポート 1024-65535 を使用 |
[参考公式サイト]
- VPN 接続
高可用性のために同時に使用できる 2 つの VPN トンネルが含まれている。
- VPN トンネル
お客様のネットワークと AWS の間でデータを送受信できる暗号化されたリンク。
[オンプレミスからのプライベートな接続]
通信元がオンプレミス環境の場合、ゲートウェイ型エンドポイントは利用できない。
専用線やVPNを経由し、インターフェイス型エンドポイントを選択することで実現できる。
●MACsec暗号化
(Media Access Control Security)
イーサネット通信を暗号化する技術で、レイヤ2(データリンク層)で動作する。つまり、LANやWANなどの物理的な接続部分でデータを守る仕組み。MACsecは、IPsecやTLSのような上位層の暗号化とは違い、物理的な接続そのものを保護するのが特徴。
[主な特徴]
・通信内容の暗号化:盗聴や改ざんを防止
・データの整合性チェック:改ざんされていないかを確認
・認証機能:正当なデバイス同士の通信かを検証
・リプレイ攻撃防止:古いパケットの再送信による攻撃を防ぐ
[MACsec接続関連付けキー]
MACsecで暗号化通信を行うには、通信相手と共通の鍵情報(CKN/CAK)を持っている必要がある。
- CKN(Connectivity Association Key Name):鍵の識別名
- CAK(Connectivity Association Key):実際の暗号化に使う鍵
このペアを「MACsec接続関連付けキー」と呼び、例えばAWS Direct Connectなどでは、ユーザーがこのCKN/CAKを設定して、MACsec通信を確立する。
[注意点]
AWSではこのキーをSecrets Managerで安全に管理することも可能です。一度接続に関連付けたキーは変更できないため、変更したい場合は一度解除して再設定が必要。
ルーティング機能
| ルーティングテーブル | ルータに記録される経路情報。ルーティング処理を行う際に参照する。 ※デフォルトルートは1つ |
| サブネット (サブネットワーク) | ネットワークトラフィックは不要な ルーターを通過せずとも、短い距離を移動して宛先に到達させる効率的なネットワーク。 (デフォルトのサブネットマスクは常に/20になる) ・同じサブネット内のインスタンスは互いに通信ができる (セキュリティグループの設定による) |
[サブネットの考え方]
以下、重複しない構成。
〇VPC:10.0.0.0/24:10.0.0.0~10.0.0.255
- パブリックサブネット:10.0.0.0/25:10.0.0.0~10.0.0.127
- プライベートサブネット:10.0.0.128/25~10.0.0.255
※CIDR 10.0.54.0/24(重複)、CIDR10.1.0.0/24(範囲外)
NAT機能
NATゲートウェイ、NATインスタンスともにプライベートIPをグローバルIPへ変換するという機能は同じ。アウトバウンドの受け入れのみ、対象とする。
●NATインスタンス
プライベートサブネットに配置されたサーバーから外部サイトへアクセスするときの踏み台サーバー。コストが高い(¥7,000)が、運用管理をユーザーが行わなくて良い。
・性能、冗長性を適切な調整やセキュリティアップデート等のメンテナンスが必要。
・EC2インスタンスであるため、一時停止が可能。
・NATインスタンスには送信元/送信先チェック(SrcDestCheck 属性)を無効にする必要がある。
●NATゲートウェイ

【静的IPアドレス】同一のIP(静的IPアドレス)を提供する。つまり、アプリケーションに一貫したIPアドレス(つまり静的IPアドレス)が付与できる。
コストが安く(¥1,000~¥3,000)で、カスタマイズが自由にできる。
※IPv6トラフィックは処理できない
運用管理はユーザー側が行う。ただしAWSマネージドサービスであるためメンテナンス不要で、トラフィックに応じた十分な性能およびMultiAZ冗長性も確保されている。ただし、一時的な停止はできない。
・ネットワークアドレスを変換する
・セキュリティグループは不要
[接続タイプ]
[引用元サイト]
| パブリック | プライベートサブネットのインスタンスは、パブリック NAT ゲートウェイを介してインターネットに接続できる。しかし、インターネットから未承諾のインバウンド接続を受信することはできない。パブリックサブネット内にパブリック NAT ゲートウェイを作成し、Elastic IP アドレスを NAT ゲートウェイに関連付ける必要がある。 ※お客様が所有するパブリックIPアドレスを(パブリック)NATゲートウェイに割り当てることにより、サードパーティはこの単一のIPアドレスをホワイトリストに登録できる。承諾済みのインバウンドとして、受信できる。 |
| プライベート | プライベートサブネットのインスタンスはプライベート NAT ゲートウェイを介して他の VPC またはオンプレミスのネットワークに接続できる。この場合、NAT ゲートウェイからのトラフィックを Transit Gateway または仮想プライベートゲートウェイ経由でルーティングできる。Elastic IP アドレスをプライベート NAT ゲートウェイに関連付けることはできない。 |
Elastic Network Interface

【リソースのNW設定変更】※ENI:Elastic Network Interface
仮想ネットワークカードを表す VPC 内の論理ネットワーキングコンポーネント。
ネットワークの設定(IPアドレス、セキュリティグループなど)や付替えが可能。
アカウントで独自のネットワークインターフェイスを作成して設定し、VPC内のインスタンスにアタッチできる。
- VPC の IPv4 アドレス範囲からのプライマリプライベート IPv4 アドレス
- VPC の IPv4 アドレス範囲からの 1 つ以上のセカンダリプライベート IPv4 アドレス
- プライベート IPv4 アドレスごとに 1 つの Elastic IP アドレス (IPv4)
- 1 つのパブリック IPv4 アドレス
- 1 つ以上の IPv6 アドレス
- 1 つ以上のセキュリティグループ
- MAC アドレス
- 送信元/送信先チェックフラグ
- 説明
●トラフィックミラーリング
インスタンスに接続されているネットワークインターフェースからのインバウンドトラフィックとアウトバンドトラフィックをコピーする。
[EC2へのアタッチ]
| ホットアタッチ | 【実行中のアタッチ】 ENI をインスタンスの実行中にアタッチすること。 |
| ウォームアタッチ | 【停止中のアタッチ】 ENI をインスタンスの停止中にアタッチすること。 |
| コールドアタッチ | 【インスタンス起動中にアタッチ】 ENI をインスタンスの起動中にアタッチすること。 |
[IPについて]
| IPフローティング | 【トラフィック切り替え】 ENIのプロパティの一つ。Elastic IPアドレスをフローティングすることで即時に別のEC2インスタンスへとトラフィックを切り替えることができる。 |
| Ipsec | 【ネットワーク層暗号化】 OSI参照モデルにおける「ネットワーク層(第3層)」において暗号化を行っている。 そのため、上位層である「トランスポート層」や「アプリケーション層」が暗号化に対応なくても、下位層である「ネットワーク層」が暗号化しているため、より安全に通信を行える。 |
| Elastic IP(EIP) | 固定のグローバルアドレスを提供。EC2のデフォルト設定では、インスタンスが停止するとアタッチしたパブリックIPアドレスは解放(削除)してしまう。 ※NLBには直接IPを割り当てることができるが、ALBには実施できない 以下条件時、料金が発生する。 ・アドレスが実行中のインスタンスに関連付けられていないとき ・関連付けたインスタンスが停止しているとき ・ネットワークインターフェイスに関連付けられているとき ※インスタンスに直接付与するのではなく、ENIのプロパティのひとつである。 |
[インスタンスに複数のIPアドレス付与]
インスタンスに複数のENIを接続することで、複数のプライベート IPv4 および IPv6 アドレスを指定できる。
[参考公式サイト]
接続サービス
VPN(Client VPN)

【クライアントベースVPN】 ※VPN(Virtual private network)
AWS リソースやオンプレミスネットワーク内のリソースに安全にアクセスできるようにする、クライアントベースのマネージド VPN サービス。
[VPN エンドポイントの分割トンネル]
VPN接続を利用しているクライアントは、VPC内のリソースのトラフィックのみをVPNトンネルを通して送信し、それ以外のトラフィックはVPNトンネルを使用せずに直接送信する。
これにより、VPCあてのトラフィックのみがVPNトンネルを通過するというコンプライアンス要件を満たせる。
[参考公式サイト]
[VPNのプロトコルの種類]
| OpenVPN 【オープンソース】 | 比較的新しく、利用ユーザーの多いオープンソースのプロトコル。セキュリティが強固で、速度が速い。ファイヤーウォールを通過できる。 |
| IKEv2 【取り扱い:少】 | Ciscoとマイクロソフトによって開発された安定性の高いVPNプロトコル。セキュリティが強固で、速度が速い。通信を自動的に再接続してくれる。ただし、サポートされている端末が少ない。 |
| L2TP 【取り扱い:多】 | 通信速度が遅いが、IPSecと併用することで、PPTPより安全性を高めることができる。セキュリティが強固であり、対応端末が多い。しかし、ファイヤーウォールにブロックされることがある。 |
| SSTP 【Windows向け】 | Windows向けのVPNプロトコル。セキュリティが強固であるが、Windows向け。 |
| PPTP 【古い】 | 多くの端末に対応しており、速度が速いが、プロトコルが古い。 |
VPCピアリング接続

VPC間の接続を実施する。(リージョン間も可能)プライベートで隔離されており、接続数に上限が在る。IGWは不要。IAMロールを通じて、VPCピアリング操作の許可・制御・クロスアカウントアクセスを制御できる。
※推移的なルーティングには不向き
| ★ピアアクセプタ(Peer Acceptor)… VPCピアリング接続において、リクエストを受け入れる側のVPCを指す。 |
[図解]

Private Link

【サービスとVPC安全接続】(SLA 99.9%)
VPC、サポートされる AWS サービスまたはオンプレミスでホストされているサービスと仮想プライベートクラウド (VPC) との間のプライベート接続を確立。
※VPC間の接続は、同じリージョン内でないと利用できない
・PrivateLink を利用したインターフェース VPC エンドポイントは、AWS パートナーがホストするサービスと AWS Marketplace で利用可能なサポートするソリューションへの接続を可能にする。
※サービスを利用する側のVPCエンドポイントと、サービス提供側のVPCエンドポイントサービスの2つのセットでプライベート接続できる形式
・インターネットやパブリックIPアドレスを使用しないため、ブルートフォース攻撃やDDoS攻撃の恐怖にさらされない。
Private Link for Amazon S3
【オンプレとS3間の接続】
Virtual Private Cloud (VPC) でインターフェイス VPC エンドポイント (インターフェイスエンドポイント) をプロビジョニングできる。これにより作成されたENIにプライベートIPが割り当てられオンプレミス環境から S3 へ直接プライベート接続することができる。
これらのエンドポイントは、VPN および AWS Direct Connect 経由でオンプレミスにあるアプリケーション、または VPC ピアリング経由で別の AWS リージョン にあるアプリケーションから直接アクセスできる。
Site-to-Site VPN

【Direct Connect下位互換】
オンプレミス機器と VPC 間の安全な接続。仮想プライベートゲートウェイまたは AWS 側の トランジットゲートウェイ と、リモート (オンプレミス) 側のカスタマーゲートウェイの間に 2 つの VPN トンネルを提供。DirectConnect のセカンダリパスとしても利用可能。
※帯域幅:Direct Connect > Site-to-Site VPN
※インターネットプロトコルセキュリティ (IPsec) VPN 接続をサポート
[フェイルオーバー用の冗長設定]
カスタマーゲートウェイデバイスが使用できなくなった場合に接続が失われるのを防ぐために、2 番目のカスタマーゲートウェイデバイスを追加して、VPC および仮想プライベートゲートウェイへの 2 番目の Site-to-Site VPN 接続を設定できる。
[参考サイト]
Direct Connect

【オンプレとAWS間専用線】接続ポイントというロケーションを経由することで、オンプレミス環境とAWSの間の専用線。
※プライベート接続、高速なNW
※VOCとオンプレミスのネットワークは重複しないIPアドレス空間が必要
▲注意点
物理的にAWS側と専用線接続の設定が必要であるため、AWSへの申請と設定などが必要不可欠となり、準備が間に合わない可能性がある。
[Direct Connect仮想インターフェイス]
接続を使用するには下記のインターフェースから選択が必要。
| パブリック仮想インターフェイス | パブリック IP アドレスを使用してすべての AWS のパブリック(パブリックにアクセス可能な)サービスにアクセスできる。 |
| プライベート仮想インターフェイス | プライベートIPアドレスを使ってVPCにアクセスするために使用。 |
| トランジット仮想インターフェイス | Direct Connectゲートウェイに関連付けられた一つまたは複数のAmazon VPCトランジットゲートウェイにアクセスできる。 |
連携サービス
| IPsecVPN | バックエンドAPIへの安全な接続を提供する。DirectConnect接続上にVPNを設定すると、転送中のデータが保護される。VPCにVGWを追加し、パブリック仮想インターフェイスを設定し、パブリック仮想インターフェースを介してデータセンターとVGWの間にIPSecトンネルを作成する。 [参考] |
| MACsec | 10 Gbps , 100 Gbps , 400 Gbps の専用 Direct Connect 接続のみでサポートされている。 ※MACsec イーサネットの通信を暗号化する技術のこと。IEEE 標準の 1 つ。データの機密性、データの整合性、およびデータオリジンの信頼性を定義。 |
ゲートウェイ(Gateway)
Internet Gateway

VPCとインターネットの接続を確立する。
Customer Gateway

AWS に作成するリソースであり、オンプレミスネットワーク内のカスタマーゲートウェイデバイスを表す。
●カスタマーゲートウェイデバイス
【カスタマー側のエンドポイント】
オンプレミスネットワーク (Site-to-Site VPN 接続のユーザー側) で所有または管理している物理アプライアンスまたはソフトウェアアプライアンス。ユーザーまたはネットワーク管理者は、Site-to-Site VPN 接続で動作するようにデバイスを設定する必要がある。
Virtual Private Gateway

【VPN接続】(仮想プライベートゲートウェイ)
サイト間VPNをAWSとオンプレミス間に構成する。オンプレミス側のネットワークにおけるカスタマーゲートウェイの設定が必要。
※VPC上で仮想プライベートゲートウェイはひとつしか利用できない
Egress-OnlyインターネットGateway
インターネットからのトラフィックを防ぎつつ、IPv6の発信トラフィックをサポートする。
(アウトバウンドのみ)水平的に拡張でき、冗長で高度な高可用性を持つVPCコンポーネントで、IPv6経由でVPCからインターネット接続出来る。
Transit Gateway

【VPC上のハブルーター】
中央のゲートウェイからネットワーク上にある VPC、オンプレミスのデータセンター、リモートオフィスそれぞれに単一の接続を構築して管理することができる。クラウドルーターとして機能するため、ネットワークへの追加が簡単。Direct Connect介してVPCとオンプレミスネットワークを接続することも可能。
Transit Gateway を他のアカウントと共有することで、複数のアカウントが Transit Gateway を利用することができる。
機能性
| Transit Gateway ルートテーブル | VPCアタッチメントごとに作成することで、各VPCのトラフィックを効率的に制御できる。 |
| (ルート)プロパゲート機能 | 特定の接続(VPC、VPN、Direct Connect)のルート情報をTransit Gatewayのルートテーブルに伝播(プロパゲート)する設定。本設定を有効にすることで、対象ネットワークのルート情報が自動的にルートテーブルに反映させることができる。 |
| Transit Gateway Resolver | VPC間のルーティングを効率化するためのDNSリゾルバのことです。これにより、異なるVPCに存在するリソース間で名前解決を可能にし、ネットワーク構成の複雑さを軽減する。 |
連携サービス
| Route53 | Route53 プライベートホストゾーンを複数のVPCおよびAWSアカウントで解決する場合、ホストゾーンをアカウント間で共有し、それを必要な各VPCに関連付けることで、DNSの一元管理が可能になる。 |
Direct Connect Gateway

【複数接続版】
一つのDirect Connect Gateway接続で複数の拠点と複数のAWSアカウントやVPCに接続できる。プライベート仮想インターフェイスを介して、DirectConnect接続を同じリージョンまたは異なるリージョンに配置された1つ以上のVPCに接続できる。
Storage Gateway

【オンプレとストレージ】
オンプレミスから実質無制限のクラウドストレージへのアクセスを提供するハイブリッドクラウドストレージサービス。オンプレミスにあるデータをクラウドに連携させるための受け口。(ストレージと組み合わせて使用するもの)
タイプ
●(S3)ファイルゲートウェイ
ネットワークファイルシステムなどのファイルプロトコルを使用して、既存のファイルをS3でオブジェクトとして保存と取得を実行できる。書き込まれたオブジェクトにS3で直接アクセスできる。
・オンプレミスサーバーやEC2上で、S3バケットへのファイルアクセスをローカルのファイルシステム操作として実行できる。
・S3とのデータ転送を最適化し、ローカルキャッシュを利用するために、アプリケーションに対して高速なデータアクセスを提供。
●ボリュームゲートウェイ
オンプレミス内のデータをスナップショットしたものを保存する。iSCSI プロトコルを使用してアプリケーションにブロックストレージを提供する。AWSでiSCSI ボリュームにアクセスする場合は、EBSボリュームの作成に使用できるEBSスナップショットを作成する。
| キャッシュ型 | プライマリデータを S3 に保存。プライマリデータはS3に書き込まれ、頻繁にアクセスするデータはキャッシュでローカルに保持され、低レイテンシーアクセスを実現する。 [スナップショット切り替え] スナップショットから新しいボリュームを作成する時、ゲートウェイは S3 にあるスナップショットデータを保持する。そこでスナップショットデータが新しいボリュームのプライマリデータに切り替わる。 |
| 保管型 | プライマリデータはローカルに保管される。保管されたデータセットは低レイテンシーアクセスできる。データセット全体が低レイテンシーのアクセスのために、使用可能となり、非同期にAWSにバックアップする。 [スナップショット切り替え] スナップショットから新しいボリュームを作成する時、ゲートウェイはスナップショット内に含まれているデータをローカルハードウェアにダウンロードする。 そこで、データが新しいボリュームのプライマリデータになる。 |
●テープゲートウェイ
物理のテープライブラリの代替として、仮想テープライブラリを使用。仮想テープのデータはS3内に保存される。または、S3 Glacier へのアーカイブが可能。テープベースのアーカイブをクラウドに移行するために設計されている。
そのため、頻繁な読み書きなどの複雑な処理には適していない。
暗号化
SSL / TLSを使用してゲートウェイアプライアンスとAWSストレージ間で転送されるデータを暗号化。デフォルトで S3管理暗号化キー(SSE-S3)を使用して、S3に格納されているデータをサーバー側で暗号化する。
| CHAP認証 | 不正なクライアントのなりすまし防止。 |
| データ暗号化 | KMSを使用して暗号化可能。 |
| 通信の暗号化 | HTTPSの暗号化 |
[参考公式サイト]
API Gateway

【API管理】
簡単にAPIの作成と保護, そして公開, モニタリングが可能なフルマネージドサービス。トラフィック管理、認可とアクセスコントロール、モニタリング、APIバージョン管理などAPIコールの受け入れと処理に伴うすべてのタスクも取り扱う。
[クライアント→リクエスト受信⇒バックエンド⇒クライアント]に返す, プロキシのような働きする。
※スケールも自動化
・ソフトウェアやアプリケーションなどの一部を外部に向けて公開することで、第三者が開発したソフトウェアと機能を共有できる
・AWS SDK、CLIは頻繁にローテーションされる一時的なセキュリティ認証情報は自動的に生成できる。
・料金は、受け取ったAPI呼び出し、送出したデータの量の分
・HTMLに直接書き込んでコードを呼び出すことも可能
●Lambda オーソライザー
Lambda関数を使用してAPIへのアクセスを制御できる。クライアントがAPIのメソッドの1つにリクエストを送信すると、API Gateway は Lambda オーソライザーを呼び出す。
・発信者IDを入力として受け取り、IAMポリシーを出力として返す。
※OAuth や SAML などのベアラートークン認可戦略を使用する、または発信者 ID を判断するためにリクエストパラメータを使用するカスタム認証スキームをする場合に有効。
| トークンベース (TOKENオーソライザー) | JSON ウェブトークン(JWT)やOAuth トークンなどのベアラートークンで発信者IDを受け取る。 |
| リクエストパラメータベース (REQUESTオーソライザー) | ヘッダー、クエリ文字列パラメータ、stageVariables、および$context 変数の組み合わせで発信者IDを受け取る。WebSocket API では、REQUESTオーソライザーのみサポートする。 |
機能性
| 機能 | 説明 |
|---|---|
| スロットリング | API またはメソッドレベルで秒間リクエスト数などの制限を設ける。リクエストが多すぎるために バックエンドサービスが処理しきれなくなることを防ぐ。 |
| クォータ | 一定期間(例:1日、1週間)内の最大リクエスト数を設定。個別のAPIメソッドを使用料プランの設定に基づいてAPIキー認証を要求するように設定できる。 |
| ステージの指定 | 使用量プランごとに対象となる API ステージを定義可能 |
| APIキーの関連付け | クライアントを識別してアクセス制御を適用 |
| 使用量プラン | API キーと使用量プランを組み合わせることで、特定の顧客やアプリケーションに対してアクセス可能な API ステージやメソッドを限定し、識別・制限することができる。これにより、他社アプリに対しても適切なアクセス制御(スロットリングやクォータ)が可能となる仕組み。 |
| API キャッシュ | エンドポイントのレスポンスがキャッシュされるようにする。エンドポイントへの呼び出し回数が削減できる。秒単位で指定した有効期限(TTL)が切れるまで有効。※TTL値の最大値は3600秒 |
API Gateway の処理
[リクエスト]
| メソッドリクエスト 【検証】 | 「受付可能なクエリパラメータ」「必須のパラメータ」「認可の有無」「API Keyの有無」などと実際に受付けるリクエストを絞り込む、いわばリクエストの受付。必須のパラメータを含んでいるかを確認することで、バックエンドのリソースを無駄に呼び出さずレスポンスを返すことが可能になる。 ※誤ったリクエストでバックエンドを無駄に起動すると、レスポンスに遅れが生じる |
| 統合リクエスト 【HTTPリクエストをカプセル化】 | API Gateway がバックエンドに送る HTTP リクエスト。バックエンドが受け取ったHTTPリクエストをカプセル化。どのバックエンドにどのようにデータを渡すかを決定する。 [データの整形] バックエンドにリクエストを投げる前にデータの整形が必要な場合、XML形式で受け取ったリクエストをJSON形式にしたいなど、バックエンドでは不要なフィールドを削除したいといったケースに対応できるマッピングテンプレートがある。 ※バックエンド:Lambda関数やAWSサービスなど実際にリクエストを処理するコンポーネント |
[レスポンス]
| 統合レスポンス | バックエンドの出力をカプセル化。バックエンドから返ってきたレスポンスに関する設定を行う。例えばHTTPステータスコードをマッピングしたり, レスポンスの内容の変換を行ったりする。 |
| メソッドレスポンス | 【受信の定義】 クライアントから受け取るリクエストに対するAPI Gatewayの最終的なレスポンスを定義。 ステータスコードやHTTPヘッダなどといった部分。 |
エンドポイント
●リージョン API エンドポイント
同じリージョンのクライアントを対象とする。
下記の場合、リージョン別 API は接続のオーバーヘッドを減らすことが可能。
・EC2 インスタンスで実行されているクライアントが同じリージョンの API を呼び出す場合
・ API が要求の高い少数のクライアントへのサービスを目的としている場合
- カスタムドメイン
複数のリージョンでリージョン別 API をデプロイする場合、すべてのリージョンで同じカスタムドメイン名を使用できる。
・ユーザーが使用するカスタムドメイン名は API がデプロイされているリージョンに固有となる。
・リージョン別 API エンドポイントは、すべてのヘッダー名をそのまま渡す。
・カスタムドメインをRoute 53 と組み合わせて使用すると、レイテンシーベースのルーティングなどのタスクを実行できる。
●エッジ最適化 API エンドポイント
地理的に分散されたクライアントに最適。API リクエストは、最寄りの CloudFront POP (Point Of Presence) にルーティングされる。エッジ最適化された API に使用するカスタムドメイン名はすべてのリージョンに適用される。
※これは、API Gateway REST API のデフォルトのエンドポイントタイプ。
[CloudFrontと比較]
リクエストをオリジンに転送前に、Cookie 名の自然な順序で HTTP Cookie を並べ替える。
[API gatewayのキャッシュ有効]
指定された存続時間(TTL)期間(秒単位)にエンドポイントからの応答をキャッシュする。エンドポイントにリクエストを送信する代わりに、キャッシュからエンドポイントレスポンスを検索することでリクエストに応答する。
※存続可能時間(TTL)を設定することで、キャッシュの制御を実施。
⇒「エンドポイントへの呼び出しの数」、「API へのリクエストのレイテンシー」を減らせる。
※APIキャッシングのデフォルトのTTL値は300秒。最大TTL値は3600秒。
※TTL = 0は、キャッシュが無効になっていることを意味する
メトリクス
| [Integration Latency]メトリクス | バックエンドの応答性を測定。 |
| [Latency]メトリクス | API コールの全体的な応答性を測定。 |
| [Cache Hit Count / Cache Miss Count]メトリクス | 目的のパフォーマンスの実現に向けてキャッシュ容量を最適化する。 |
エラー
| 502 | Lambdaプロキシ統合バックエンドから互換性のない出力が返答されている。 |
| 504 | エンドポイントのリクエストのタイムアウト。 |
ペイロードサイズの上限
| APIタイプ | 最大ペイロードサイズ | 備考 |
|---|---|---|
| REST API | 10MB(10,485,760バイト) | リクエスト・レスポンスともに対象。超えると413 Request Too Largeエラー |
| HTTP API | 10MB | REST APIと同様の制限が適用されます |
| WebSocket API | 128KB | メッセージ単位の制限。32KBを超えるとフレーム分割が必要 |
プライベートAPI
API Gateway を使って構築される、VPC(Virtual Private Cloud)内からのみアクセス可能な REST API 。インターネット経由ではアクセスできず、AWS 内部ネットワーク(PrivateLink)を通じてのみ呼び出せるのが特徴。
[概要]
- エンドポイントタイプに「Private」を指定して作成
- VPC エンドポイント(Interface型) を経由してアクセス
- AWS PrivateLink によってセキュアな通信を実現
- パブリックインターネットを経由しないため、セキュリティが高い
[構成要素]
| コンポーネント | 説明 |
|---|---|
| API Gateway(Private) | プライベートAPIのホスト |
| VPC エンドポイント | API Gateway へのプライベートな接続口 |
| リソースポリシー | アクセス元の VPC や VPC エンドポイントを制限 |
| Route 53(任意) | プライベートDNSでの名前解決に使用可能 |
S3 File Gateway

【オンプレ~S3接続】
オンプレミスと S3 をつなぐ仮想ソフトウェアアプライアンス。既存のファイルサーバーを無理なくクラウド化したいときに活躍するソリューション。既存アプリの修正なしで S3 をファイルストレージとして利用可能。
特徴
| プロトコル | 標準的なファイルプロトコル(NFS や SMB)を使って、S3 にオブジェクトを保存・取得できる。 |
| マウントポイントの提供 | S3 オブジェクトを、ローカルファイルのようにアクセスできる |
| VM環境に対応 | オンプレミスに設置される仮想マシン(VM)として実行される。 ※VMware ESXi、Microsoft Hyper-V、Linux KVM に対応。 |

APP Sync

GraphQL(WebAPI)を用いて、(DynamoDBやElasticsearchなど)複数のリソースのデータへ安全なアクセス API を構築する。GraphQL ベースのリアルタイムデータ同期やオフライン対応を簡単に実現する。WebSocket による双方向通信と連携し、スケーラブルで高パフォーマンスなアプリ開発を支援。
- GraphQL API の開発を容易にする完全マネージド型サービス。
- キャッシュやサブスクリプションを活用してパフォーマンスを向上。
- クライアント側のデータストアによるオフライン同期を実現。
- API 実行エンジンは自動的にスケールアップ/ダウン。
- 数百万のクライアントに WebSockets を通じてリアルタイムでデータをプッシュ。
- モバイル/ウェブアプリで、オフライン時のローカルアクセスや競合解決も可能。
| ★GraphQLとは… AWS AppSyncで開発できるGraphQLとは、API用のクエリ言語とスキーマ言語のこと。 |
AWSには、AppSyncと似たサービスでAPI Gatewayがある。どちらも、APIを開発できるフルマネージドサービスだが、AWS AppSyncはGraphQLの開発ができるのに対し、Amazon API GatewayはRESTful APIとWEBSOCKET APIを作成できる点で異なる。
[※引用サイト]
[サブスクリプション機能]
リアルタイムに同期処理を実現できる。
[※引用公式サイト]
帯域強化サービス
拡張ネットワーキング
シングルルート I/O 仮想化 (SR-IOV) を使用して、サポートされるインスタンスタイプにおける高性能ネットワーキング機能が提供される。(SR-IOVは、従来のものと比較し、I/O パフォーマンスが高く、CPU 利用率が低いデバイス仮想化の手法)
・高い帯域幅、1 秒あたりのパケット (PPS) の高いパフォーマンス(低レイテンシー)
・拡張ネットワーキングは追加料金なしで使用できる。
Global Accelerator

AWSのグローバルネットワークインフラを利用して、「世界中の顧客に提供するアプリケーションの可用性」と「ユーザートラフィックのパフォーマンス」を最大 60% 向上させる。ユーザーに最も地理的に近いAWS エッジロケーションにトラフィックをルーティングし、アプリケーションにトラフィックを迅速かつ安全に転送する。主にTCPおよびUDPトラフィックを最適化する。
・S3のデータのアップロードには利用できない。
[仕組み]
ユーザ変更は不要で、バックエンドでALB、NLB、EC2、Elastic IPなどのアプリケーションに対して固定エントリポイントとして機能する2つのグローバルな静的IPアドレスを提供することでグローバルアプリケーションの管理を容易にする。
・パフォーマンスに基づいて最適なエンドポイントにユーザートラフィックを自動的にルーティングし、アプリケーションの状態、ユーザーの位置、設定するポリシーの変更に瞬時に反応する。
・障害が発生した際、アプリケーションの正常なインスタンスが存在するリージョンに自動的にリクエストをルーティングする。
・速度比較ツールを使用することで、お客様のロケーションからどのようなパフォーマンスの利点があるかをテストできる。
機能性
●エンドポイント
NLB / ALB / EC2 / EIP を指定できる。
エンドポイントグループは1つ以上のエンドポイントが含まれるエンドポイントの集合体を指す。
各リスナーに対してそれぞれ1つ以上のエンドポイントグループを指定する。
- リスナー
エンドポイントの正常性やトラフィックダイヤルによって設定されたトラフィック量に基づいてそれぞれのエンドポイント(グループ)にトラフィックをルーティングする。リージョンが異なるエンドポイントグループをひとつのリスナーに関連付けることができる。
●アクセラレータ
- 標準アクセラレータ
世界中のユーザのインターネットアプリケーションの可用性を向上。AWSグローバルネットワーク経由でクライアントに最も近いリージョンのエンドポイントにトラフィックを転送する。
- カスタムルーティングアクセラレータ
アプリケーションまたはサービスへのトラフィックのルーティングは細かく制御できる
※NLBをエンドポイントしてサポートしていない
Wavelength

【5G回線利用】
AWSで5Gを利用するためのサービス。モバイルネットワークを利用する際に、従来のリージョンと比べてより低遅延でアクセスできるサービス。
※5G や 4G ネットワークを使って AWS リージョンにアクセスすると、従来使用されていたネットワークを経由しなくなり、早い回線を利用できるようになる




