🔌

Interface VPC Endpoint(PrivateLink)を使用してAmazon Athenaに接続する

2022/03/22に公開

概要

このドキュメントを元に、実際にInterface VPC Endpoint(PrivateLink)を使用してAmazon Athenaに接続してみました。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/interface-vpc-endpoint.html

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は以下があります

https://docs.aws.amazon.com/cli/latest/reference/athena/index.html#cli-aws-athena

Discussion