Amazon Data Firehoseへのプライベートアクセス ── VPCエンドポイントとDirect Connectの組み合わせ

目次

概要

オンプレミスのアプリケーションからAWSのマネージドサービスにデータを送信する場合、通常はインターネット経由でパブリックエンドポイントにアクセスします。しかし、セキュリティポリシーで「データはプライベートネットワーク経由で転送し、転送中に暗号化すること」が求められるケースでは、インターネットを経由しない接続方法が必要です。

本記事では、AWS Direct Connectで接続されたオンプレミス環境からAmazon Data Firehose(旧 Kinesis Data Firehose)にプライベートにアクセスする方法として、インターフェイス型VPCエンドポイント(AWS PrivateLink) を使用する構成を解説します。ゲートウェイ型VPCエンドポイントやIAMポリシーによる送信元IP制限など、他の選択肢との違いも整理します。

オンプレミスからDirect Connect経由でVPCに入り、インターフェイス型VPCエンドポイント経由でAmazon Data Firehoseにプライベートアクセスする構成図
オンプレミスからDirect Connect経由でVPCに入り、インターフェイス型VPCエンドポイント経由でAmazon Data Firehoseにプライベートアクセスする構成図

この記事のメリット

  • インターフェイス型VPCエンドポイントの仕組みとオンプレミスからのアクセス方法を理解できる
  • ゲートウェイ型VPCエンドポイントとの違いを明確に区別できる
  • Direct Connect経由でAWSサービスにプライベートアクセスする構成パターンを把握できる
  • SCS試験で「プライベートネットワーク経由のデータ転送」に関する問いに正確に答えられるようになる

執筆者とキャラクター紹介

執筆者:土肥(とひ)

株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。

土肥

クラウドおさる

クラウドおさる

はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。

クラウドおさる

基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。

クラウドおさる

猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。

技術解説

VPCエンドポイントとは

VPCエンドポイントは、VPC内のリソースからAWSサービスにプライベートに接続するための仕組みです。インターネットゲートウェイ、NATデバイス、VPN接続、Direct Connect接続を経由せずに、AWS内部ネットワークを通じてサービスにアクセスできます。VPCエンドポイントにはインターフェイス型とゲートウェイ型の2種類があります。

インターフェイス型VPCエンドポイント(AWS PrivateLink)

インターフェイス型VPCエンドポイントは、AWS PrivateLinkを使用してAWSサービスにプライベートに接続する仕組みです。エンドポイントを作成すると、指定したサブネットにエンドポイントネットワークインターフェイス(ENI) が作成され、サブネットのアドレス範囲からプライベートIPアドレスが割り当てられます。

Amazon Data Firehoseを含む多くのAWSサービスがインターフェイス型VPCエンドポイントに対応しています。サービス名の形式は以下の通りです。

com.amazonaws.<リージョン>.kinesis-firehose

例: com.amazonaws.ap-northeast-1.kinesis-firehose

インターフェイス型VPCエンドポイントの主な特徴は以下の通りです。

  • 指定したサブネットにENIが作成され、プライベートIPアドレスが割り当てられる
  • セキュリティグループでENIへのトラフィックを制御できる
  • エンドポイントポリシーでアクセスできるアクションやリソースを制御できる
  • プライベートDNSを有効化すると、パブリックエンドポイント名でのリクエストが自動的にVPCエンドポイントに解決される
  • オンプレミスネットワークからDirect ConnectやVPN経由でアクセスできる

ゲートウェイ型VPCエンドポイント

ゲートウェイ型VPCエンドポイントは、ルートテーブルにルートを追加することでAWSサービスへのトラフィックをAWS内部ネットワークに誘導する仕組みです。対応しているサービスはAmazon S3とAmazon DynamoDBの2つのみです。

ゲートウェイ型はルートテーブルベースの仕組みであるため、VPC内部のリソースからのアクセスに限定されます。オンプレミスネットワークからDirect Connect経由でゲートウェイ型VPCエンドポイントに直接アクセスすることはできません。

2種類のVPCエンドポイントの比較

項目インターフェイス型(AWS PrivateLink)ゲートウェイ型
仕組みサブネットにENIを作成し、プライベートIPで接続ルートテーブルにルートを追加
対応サービス多数のAWSサービスAmazon S3、Amazon DynamDBのみ
オンプレミスからのアクセスDirect Connect/VPN経由で可能不可(VPC内部のみ)
セキュリティグループ適用可能適用不可
料金時間課金 + データ処理量課金無料

オンプレミスからのプライベートアクセス構成

Direct Connectで接続されたオンプレミス環境からAmazon Data Firehoseにプライベートにアクセスする構成は以下の通りです。

graph LR
    subgraph On-Premises
        APP[Application]
    end
    subgraph AWS
        subgraph VPC
            DX[Direct Connect Gateway]
            ENI[VPC Endpoint ENI<br>Private IP]
        end
        FIREHOSE[Amazon Data Firehose]
    end
    APP -->|Direct Connect| DX
    DX -->|Private Network| ENI
    ENI -->|AWS PrivateLink| FIREHOSE
  1. オンプレミスのアプリケーションがDirect Connect経由でVPCに接続する
  2. VPC内のインターフェイス型VPCエンドポイントのプライベートIPアドレスに対してリクエストを送信する
  3. AWS PrivateLinkがエンドポイントからAmazon Data Firehoseにトラフィックを転送する

この構成により、データはインターネットを経由せず、すべてプライベートネットワーク上で転送されます。

プライベートDNSとオンプレミスからのDNS解決

インターフェイス型VPCエンドポイントでプライベートDNSを有効化すると、VPC内ではパブリックサービスエンドポイント名(例: firehose.ap-northeast-1.amazonaws.com)に対するDNSクエリが、自動的にVPCエンドポイントのプライベートIPアドレスに解決されます。

オンプレミスからこのDNS解決を利用するには、Route 53 Resolverのインバウンドエンドポイントを設定し、オンプレミスのDNSサーバーからサービスのDNSクエリをRoute 53 Resolverに転送する条件付き転送ルールを構成します。

他の選択肢との比較

この要件に対して、以下の選択肢が挙がることがあります。

選択肢プライベートネットワーク経由転送中の暗号化適切か理由
VPCエンドポイント + Direct Connectはいはい(TLS)はいプライベートネットワーク経由のアクセスと転送中の暗号化の両方を実現
IAMポリシーの送信元IP制限いいえいいえいいえアクセス制御の仕組みであり、通信経路やデータの暗号化には関与しない
Direct ConnectでFirehoseのVPCにピア接続––いいえAmazon Data FirehoseはAWSマネージドサービスであり、特定のVPCに属さないためピア接続は不可
CloudFrontディストリビューション経由いいえはい(TLS)いいえCloudFrontはパブリックインターネット経由のアクセスであり、プライベートネットワークの要件を満たさない

IAMポリシーの送信元IP制限(aws:SourceIp 条件キー)は、特定のIPアドレスからのアクセスのみを許可するアクセス制御機能です。通信経路をプライベートにする機能ではなく、データの転送中の暗号化を提供するものでもありません。

Amazon Data Firehoseは特定のVPCに属するサービスではなく、AWSが管理するリージョナルなサービスです。そのため、Direct ConnectでFirehoseの「VPC」にピア接続するという構成は成立しません。

フリーランス案件
クラウドおさる
クラウドキャリアフリーランス

AWS の実務経験があるなら、単価を上げにいく

AWS に特化したフリーランスエージェントです。以下は取り扱い案件の一例です。設計・SRE・セキュリティ・生成 AI の領域で、専門を掛け合わせるほど単価が上がります。

横にスクロールできます。掲載時点の情報のため、募集が終了している場合があります。条件の近い案件をご紹介しますので、お気軽にご相談ください。

実践

ここでは、Amazon Data Firehose用のインターフェイス型VPCエンドポイントをVPC内に作成し、エンドポイントのプライベートIPアドレスを確認するまでの手順をコンソールで説明します。

前提条件

  • リージョン: ap-northeast-1(東京)
  • VPC・サブネットが作成済みの状態
  • VPCの「DNS ホスト名」と「DNS 解決」が有効化されていること(プライベートDNSの利用に必要)
リソース種別リソース名用途
VPCエンドポイントfirehose-vpceAmazon Data Firehoseへのプライベートアクセス
セキュリティグループfirehose-vpce-sgVPCエンドポイントのトラフィック制御

手順1: VPCエンドポイント用セキュリティグループの作成

インターフェイス型VPCエンドポイントのENIにはセキュリティグループを関連付けます。VPC内やオンプレミスからのHTTPS通信を許可するセキュリティグループを作成します。

  • AWSマネジメントコンソールにログインし、右上のリージョンが「アジアパシフィック(東京) ap-northeast-1」であることを確認します。
  • 上部の検索バーに VPC と入力し、表示された「VPC」を選択します。
  • 左側ナビゲーションの「セキュリティ」→「セキュリティグループ」を選択します。
  • 「セキュリティグループを作成」をクリックします。
  • 「基本的な詳細」に以下を入力します。
  • セキュリティグループ名: firehose-vpce-sg
  • 説明: Security group for Firehose VPC endpoint
  • VPC: VPCエンドポイントを作成するVPCを選択します
  • 「インバウンドルール」セクションで「ルールを追加」をクリックし、以下を設定します。
  • タイプ: HTTPS(選択するとプロトコルは TCP、ポート範囲は 443 が自動で入り、変更できなくなります)
  • ソース: 「カスタム」のまま、検索欄にVPCのCIDR(例: 10.0.0.0/16)を入力して候補から選びます
  • 説明 – オプション: HTTPS from VPC など
  • その他の項目はデフォルトのままにします。
セキュリティグループ作成画面 ── グループ名、説明、VPC選択、インバウンドルール(HTTPS/443/VPC CIDR)が入力されている状態
セキュリティグループ作成画面 ── グループ名、説明、VPC選択、インバウンドルール(HTTPS/443/VPC CIDR)が入力されている状態
  • 「セキュリティグループを作成」をクリックします。
セキュリティグループ作成完了画面(firehose-vpce-sg のセキュリティグループIDが表示されている状態)
セキュリティグループ作成完了画面(firehose-vpce-sg のセキュリティグループIDが表示されている状態)

オンプレミスからDirect Connect経由でアクセスする場合は、オンプレミスネットワークのCIDRもインバウンドルールのソースに追加します。

手順2: インターフェイス型VPCエンドポイントの作成

  • 左側ナビゲーションの「仮想プライベートクラウド」→「エンドポイント」を選択します。
  • 「エンドポイントを作成」をクリックします。
  • 「エンドポイントの設定」で以下を設定します。
  • 名前タグ – オプション: firehose-vpce
  • タイプ: 「AWS のサービス」を選択します
  • 「サービス」セクションの検索欄に kinesis-firehose と入力して Enter を押し、絞り込まれた com.amazonaws.ap-northeast-1.kinesis-firehose(タイプ: Interface)のラジオボタンを選択します。
  • 「ネットワーク設定」の「VPC」でVPCエンドポイントを配置するVPCを選択します。
  • 「追加設定」の「プライベート DNS 名を有効化」にチェックが入っていることを確認します。
  • 「サブネット」セクションで、配置するアベイラビリティーゾーンの行にチェックを入れ、その行の「サブネットを選択」からサブネットを選びます。各アベイラビリティーゾーンにつき1つのサブネットを選択します。
  • 「セキュリティグループ」セクションで、手順1で作成した firehose-vpce-sg にチェックを入れます(デフォルトのセキュリティグループのチェックは外します)。
  • 「ポリシー」セクションは「フルアクセス」のままにします。
VPCエンドポイント作成画面 ── 名前タグ、サービス(kinesis-firehose)、VPC、サブネット、セキュリティグループの設定が入力されている状態
VPCエンドポイント作成画面 ── 名前タグ、サービス(kinesis-firehose)、VPC、サブネット、セキュリティグループの設定が入力されている状態
  • 「エンドポイントを作成」をクリックします。

手順3: エンドポイントの確認

作成したVPCエンドポイントの状態とプライベートIPアドレスを確認します。

  • エンドポイント一覧から firehose-vpce のVPCエンドポイントIDをクリックします。
  • 「詳細」の「ステータス」が「使用可能」になっていることを確認します。作成直後は「保留中」と表示される場合があります。
  • 同じ「詳細」の「DNS 名」に以下のようなDNS名が表示されます。サービス名は kinesis-firehose ですが、DNS名は firehose になる点に注意してください。
  • リージョナルDNS名: vpce-xxxxxxxxxxxxxxxxx-yyyyyyyy.firehose.ap-northeast-1.vpce.amazonaws.com
  • ゾーンDNS名: vpce-xxxxxxxxxxxxxxxxx-yyyyyyyy-ap-northeast-1a.firehose.ap-northeast-1.vpce.amazonaws.com
  • プライベートDNS名: firehose.ap-northeast-1.amazonaws.com と firehose.ap-northeast-1.api.aws の2つ(プライベートDNS有効時)
  • 「サブネット」タブでは、エンドポイントネットワークインターフェイスのIDとプライベートIPアドレスを確認できます。
VPCエンドポイント詳細画面 ── ステータス「使用可能」とDNS名が表示されている状態
VPCエンドポイント詳細画面 ── ステータス「使用可能」とDNS名が表示されている状態

プライベートDNSが有効化されている場合、VPC内から firehose.ap-northeast-1.amazonaws.com に対するDNSクエリは、VPCエンドポイントのプライベートIPアドレスに解決されます。オンプレミスのアプリケーションからも、Direct Connect経由でこのプライベートIPアドレスに到達できます。

まとめ

オンプレミス環境からAmazon Data Firehoseにプライベートネットワーク経由でアクセスするには、インターフェイス型VPCエンドポイント(AWS PrivateLink) を使用します。

要件適切な方法
プライベートネットワーク経由でAWSサービスにアクセスしたいインターフェイス型VPCエンドポイント + Direct Connect
VPC内からS3/DynamoDBにプライベートアクセスしたいゲートウェイ型VPCエンドポイント(無料)
特定のIPアドレスからのアクセスのみを許可したいIAMポリシーの aws:SourceIp 条件キー

ゲートウェイ型VPCエンドポイントはAmazon S3とAmazon DynamoDBのみに対応しており、VPC内部のリソースからのアクセスに限定されます。オンプレミスからDirect Connect経由でアクセスする構成には使用できません。

IAMポリシーの送信元IP制限はアクセス制御の仕組みであり、通信経路のプライベート化やデータの転送中の暗号化を実現するものではありません。

SCS試験では「プライベートネットワーク経由でAWSマネージドサービスにアクセスする」要件に対して、VPCエンドポイントの種類(インターフェイス型/ゲートウェイ型)の違いと、それぞれのオンプレミスからのアクセス可否を正確に把握しておくことが重要です。

参照先

フリーランス案件
クラウドおさる
クラウドキャリアフリーランス

AWS の実務経験があるなら、単価を上げにいく

AWS に特化したフリーランスエージェントです。以下は取り扱い案件の一例です。設計・SRE・セキュリティ・生成 AI の領域で、専門を掛け合わせるほど単価が上がります。

横にスクロールできます。掲載時点の情報のため、募集が終了している場合があります。条件の近い案件をご紹介しますので、お気軽にご相談ください。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社ジェニュイン(https://genuine-pt.jp)の代表取締役.

2018年〜インフラエンジニアとしてキャリアをスタートし、オンプレミスのネットワーク・サーバ環境で3年半、クラウド環境で4年半の8年間エンジニアとして従事。
2021年に佐藤氏の創業した株式会社Luxyを引き継ぎ、代表に就任。
その後アガルートグループ内の株式会社ジェニュインと合併。
合併後同社代表に就任。

目次