type
status
date
slug
summary
tags
category
icon
password
书籍
理論
1. インターフェースVPCエンドポイント
- インターフェースVPCエンドポイントは、VPC内からAWSサービス(API Gatewayを含む)に対してプライベートな接続を提供します。これを利用することで、インターネットを経由せず、VPC内のインスタンスから直接API Gatewayへアクセスすることが可能になります。
- VPC内のリソースが、インターネットゲートウェイやNATゲートウェイを使わずに、AWSサービスにアクセスできるため、セキュリティを強化できます。
2. API GatewayのプライベートAPI
- API GatewayのプライベートAPIは、特定のVPCからしかアクセスできないAPIです。通常、API Gatewayはインターネット経由でアクセスされますが、プライベートAPIでは、VPC内からのアクセスに限定されます。
- プライベートAPIの設定には、VPCエンドポイントや、APIリソースポリシーの設定が重要です。
3. エンドポイントポリシー
- エンドポイントポリシーは、インターフェースVPCエンドポイントにアクセスする際に使用されるIAMポリシーです。このポリシーを使って、VPCエンドポイントからアクセス可能なAWSサービスや操作を制御します。
execute-api:Invoke
など、API Gatewayへのアクセスに必要なアクションを許可するポリシーを設定します。
4. プライベートDNS
- プライベートDNSを有効にすると、VPC内からDNS名を使用してAPI Gatewayにアクセスすることができます。これにより、インターネットを経由せず、VPC内のリソースから安全にAPIにアクセスできます。
- プライベートDNSを無効にすると、VPC内からDNS名でAPIにアクセスすることができなくなり、IPアドレスを使用して接続する必要が生じます。
5. APIリソースポリシー
- APIリソースポリシーは、API Gatewayで設定できるアクセス制御ポリシーで、どのVPCやIPアドレス、エンドポイントからAPIにアクセスできるかを制御します。VPCからのアクセスを許可するために、適切なリソースポリシーを設定することが必要です。
6. VPCリンクとALB/NLB
- VPCリンクは、API GatewayとVPC内のサービス(例えば、ALBやNLB)とのプライベート統合を可能にします。API Gatewayを介してVPC内のサービスにアクセスする際には、ALBやNLBを使う場合もありますが、通常、API GatewayへのアクセスはインターフェースVPCエンドポイントで行うことが推奨されます。
結論
この問題のように、VPC内からのAPI Gatewayへのプライベートアクセスを設定する際、インターフェースVPCエンドポイントの作成と、適切なAPIリソースポリシーの設定、プライベートDNSの有効化が重要です。この構成により、インターネットを経由せずにVPC内のインスタンスからAPI Gatewayへの安全なアクセスが実現できます。
実践
略
一問道場
問題 #366
ある会社がAmazon API Gatewayを使用して、機密データへのアクセスを提供するプライベートREST APIをデプロイしています。このAPIは、VPCにデプロイされたアプリケーションからのみアクセスできる必要があります。会社はAPIを正常にデプロイしましたが、VPCにデプロイされたAmazon EC2インスタンスからAPIにアクセスできません。
EC2インスタンスとAPI間の接続を提供するためには、どのソリューションを使用すべきでしょうか?
A. API GatewayのインターフェースVPCエンドポイントを作成します。エンドポイントポリシーを追加して、apigateway:*アクションを許可します。VPCエンドポイントに対してプライベートDNS名を無効にします。VPCからアクセスを許可するAPIリソースポリシーを設定します。VPCエンドポイントのDNS名を使用してAPIにアクセスします。
B. API GatewayのインターフェースVPCエンドポイントを作成します。エンドポイントポリシーを追加して、execute-api:Invokeアクションを許可します。VPCエンドポイントに対してプライベートDNS名を有効にします。VPCエンドポイントからアクセスを許可するAPIリソースポリシーを設定します。APIエンドポイントのDNS名を使用してAPIにアクセスします。
C. ネットワークロードバランサー(NLB)とVPCリンクを作成します。API GatewayとNLB間でプライベート統合を構成します。APIエンドポイントのDNS名を使用してAPIにアクセスします。
D. アプリケーションロードバランサー(ALB)とVPCリンクを作成します。API GatewayとALB間でプライベート統合を構成します。ALBエンドポイントのDNS名を使用してAPIにアクセスします。
解説
この問題における解説は、Amazon API GatewayとVPC間で安全に通信を行う方法についてです。要点は、EC2インスタンスからAPI GatewayのプライベートREST APIにアクセスする方法に関するものです。
解決方法: インターフェースVPCエンドポイントを使用
API GatewayのプライベートREST APIは、インターネット経由ではなく、特定のVPC内からアクセスすることが求められています。そのため、インターフェースVPCエンドポイントを使って、VPC内のリソースからAPI Gatewayにアクセスできるようにします。
各選択肢の解説:
A. インターフェースVPCエンドポイントの作成 (不正解)
- 理由: エンドポイントポリシーで
apigateway:*
アクションを許可するのは、過剰に広い権限を与えることになり、セキュリティ上好ましくありません。API Gatewayへのアクセスを制限するために、より細かいポリシーを使用するべきです。
- また、プライベートDNSを無効にすると、VPC内からAPI Gatewayのアクセスが困難になり、推奨されない方法です。
B. インターフェースVPCエンドポイントの作成 (正解)
- 理由:
execute-api:Invoke
アクションを許可するエンドポイントポリシーは、API Gatewayへの正しいアクセス制御を提供します。さらに、プライベートDNSを有効にすることで、VPC内のインスタンスからAPI GatewayのDNS名で直接アクセスできるようになります。これは、APIをプライベートに安全にアクセスできる最適な方法です。
- APIリソースポリシーで、VPCからのアクセスを許可する設定を行うことで、APIのセキュリティが確保されます。
C. ネットワークロードバランサー(NLB)とVPCリンク (不正解)
- 理由: NLBはAPI Gatewayとの統合には適していません。NLBは通常、インスタンスやコンテナベースのサービスに対して利用されますが、API Gatewayとの統合に使用することは非推奨です。API GatewayはVPCエンドポイントを使ったアクセスをサポートしており、NLBを使う必要はありません。
D. アプリケーションロードバランサー(ALB)とVPCリンク (不正解)
- 理由: ALBも、API GatewayのプライベートAPIにアクセスするための推奨方法ではありません。API Gatewayは、VPCエンドポイントと組み合わせて利用することが一般的です。ALBを使ってAPI Gatewayと統合するのは不適切です。
結論
正解はBです。インターフェースVPCエンドポイントを作成し、
execute-api:Invoke
アクションを許可し、プライベートDNSを有効にすることで、VPC内のEC2インスタンスからAPI GatewayのプライベートREST APIに安全にアクセスできるようになります。- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/178d7ae8-88e2-80ab-bc4c-caf8dec8fd85
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章