Amazon Web Services ブログ

AWS サービスの新しい AWS PrivateLink: VPC 内の Kinesis、Service Catalog、EC2 Systems Manager、Amazon EC2 API、ELB API

今回のブログは Colm MacCárthaigh 氏、Amazon Virtual Private Cloud のシニアエンジニアより寄稿頂きました。


2015 年に VPC エンドポイントをリリースして以来、エンドポイントの作成は、インターネットゲートウェイや NAT ゲートウェイまたはファイアウォールプロキシの必要なく、Amazon Virtual Private Cloud (VPC) から S3 や DynamoDB へ安全にアクセスする方法として人気を集めています。VPC エンドポイントを使用することで、VPC と AWS サービス間のルーティングは AWS ネットワークにより処理され、サービスリソースへのアクセス管理に IAM ポリシーを使用することができます。

そして本日、すべてのトラフィックを AWS ネットワーク内に維持しながら、可用性が高くスケーラブルな方法でユーザーが AWS サービスにアクセスできるように設計した新世代の VPC エンドポイント、AWS PrivateLink を発表しました。KinesisService CatalogAmazon EC2EC2 Systems Manager (SSM)、Elastic Load Balancing (ELB) API を VPC 内で利用できるようになりました。また、Key Management Service (KMS) や Amazon Cloudwatch といったサービスのサポートも今後提供する予定です。

従来のエンドポイントは、VPC と AWS サービス間で仮想ケーブルを繋げるようなものでした。AWS サービスとの接続にインターネットまたは NAT ゲートウェイは必要ありませんが、エンドポイントは VPC の外で維持されます。PrivateLink では、Elastic Network Interfaces (ENI) や VPC のサブネットにある IP アドレスを使用して VPC 内に直接エンドポイントが作成されます。これにより、サービスは VPC 内にあり、プライベート IP アドレスを介して AWS サービスとの接続が有効になります。つまり、エンドポイントへのアクセスを管理するために VPC セキュリティグループを使用したり、AWS Direct Connect を介してプレミスから PrivateLink エンドポイントにアクセスすることが可能になります。

PrivateLink によるサービスを使用することで、ユーザーはインスタンスのフリート管理や IT サービスのカタログ作成と管理、そしてトラフィックがインターネットを通過する必要なくデータの保存や処理を行うことができます。

PrivateLink エンドポイントの作成
PrivateLink エンドポイントを作成するため、VPC コンソールにアクセスし [Endpoints] を選び、[Create Endpoint] を選択します。

次にアクセスしたいサービスを選びます。新しい PrivateLink エンドポイントには「インターフェイス」タイプがあります。この場合は、VPC から直接 Kinesis サービスを使用したいので [kinesis-streams] サービスを選択します。

この時点で、新しいエンドポイントをどの VPC で起動するか選ぶことができます。EIN と IP アドレスが配置されるサブネットを選択します。新規または既存のセキュリティグループとエンドポイントを関連付けて、どのインスタンスがエンドポイントにアクセスできるか管理することもできます。

PrivateLink エンドポイントは VPC から IP アドレスを使用するので、VPC プライベート DNS を使用して AWS サービス DNS 名の DNS をオーバーライドするオプションがあります。[Enable Private DNS Name] をチェックした状態にしておくことで VPC 内から「kinesis.us-east-1.amazonaws.com」をルックアップでき、作成しているエンドポイントの IP アドレスにすることができます。これでアプリケーションを変更せずに、エンドポイントへの移行をシームレスに行えます。デフォルトでトラフィックを処理する前にエンドポイントをテストしたり設定したい場合は、これを無効の状態にしておき、エンドポイントを編集することでいつでも変更が可能になります。

VPC、サブネット、DNS を希望通りに設定したら [Create Endpoint] をクリックして、このプロセスを完了します。

PrivateLink エンドポイントの使用

デフォルトで、プライベート DNS 名を有効にした状態で PrivateLink エンドポイントを使用するのは、SDK、AWS CLI または VPC 内からサービス API にアクセスするその他のソフトウェアを使用する場合と同様に簡単です。コードや設定を変更する必要はありません。

テストや詳細設定をサポートするため、各エンドポイントはご自分のエンドポイントに独自の専有な DNS 名のセットを取得するようになっています。エンドポイントのプライマリ名とゾーン名があります。

プライマリ名は特に、DNS オーバーライドオンプレミスを使用せずに Direct Connect を介してエンドポイントにアクセスする場合に便利です。当然ながら、VPC 内でプライマリ名を使用することもできます。
プライマリ名とメインサービス名は (ここではオーバーライドするように選択したので) ゾーン耐障害性を含み、アベイラビリティーゾーン間のトラフィックのバランスをとります。障害抑制や区分化、低レイテンシーまたはリージョン間のデータ転送の最小化のためのゾーン分離技術を使用するアーキテクチャがある場合は、ゾーン名を使用してその間でトラフィックがフローするか、ゾーン内に留めることを明確に管理できます。

料金と提供地域
AWS PrivateLink は中国 (北京) を除くすべての AWS 商用リージョンでご利用いただけます。各サービスの提供地域に関してはこちらの「ドキュメント (documentation)」をご覧ください。

料金は 0.01 USD / 時間とデータ処理の料金 0.01 / GB からご提供しています。アベイラビリティーゾーン間のデータ転送または Direct Connect 経由のエンドポイントとプレミス間のデータ転送では、通常の EC2 リージョン別と Direct Connect データ転送料金も発生します。詳細については、「VPC の料金」を参照してください。

Colm MacCárthaigh