🔌
Interface VPC Endpoint(PrivateLink)を使用してAmazon Athenaに接続する
概要
このドキュメントを元に、実際にInterface VPC Endpoint(PrivateLink)を使用してAmazon Athenaに接続してみました。
PrivateLinkとは
インターネットを経由せず、イントラ内で通信をするためのAWSの仕組みのことです。
--endpoint-url ***
のようなオプションをつけることで、設定したVPCから対象のサービス(S3, Athena, etc)にインターネットを介さず接続ができます。
構成図
ざっくりこんな感じです
今回はAthenaやVPC, EC2等の環境は既に出来てる前提でVPC Endpointの設定に焦点を当てたいと思います。
また、リージョンは東京を前提した内容になっています
VPC Endpointの作成
要点は以下です
- エンドポイントの作成でサービスをAthenaに選択
- DNS名の有効化にチェックをいれる
- これにより、
athena.ap-northeast-1.amazonaws.com
でアクセスができる様になります
- これにより、
- 事前に以下の様なセキュリティグループを作成してアタッチする
- inbound: 今回のアクセス元であるVPCから443で許可する
- outbound: 全許可
接続にトライ
EC2にsshで入って以下のようにコマンドを叩いてレスポンスがあれば成功です
aws athena list-data-catalogs --region ap-northeast-1 --endpoint-url https://athena.ap-northeast-1.amazonaws.com
結果
{
"DataCatalogsSummary": [
{
"CatalogName": "AwsDataCatalog",
"Type": "GLUE"
}
]
}
なお、AthenaへのCLIは以下があります
Discussion