注意
Atlas は、AWS、Google Cloud、Azure でホストされている専用クラスターと、マルチクラウドのシャーディングされたクラスターにおけるネットワーク ピアリング接続をサポートしています。
ネットワークピアリングで、Atlas VPCとクラウドプロバイダーのVPCの間で確立されるプライベート接続では、パブリック ネットワークのトラフィックを分離することで、セキュリティが強化されます。 Atlas Stream Processing は、 2 種類のネットワークピアリング接続をサポートしています。
アウトバウンド: ストリーム処理ワークスペースがクラウドプロバイダー VPC にピアリングリクエストを送信する VPC 接続。この接続タイプは、外部VPCへの完全な管理アクセス権を持ち、その外部 VPC に対する接続リクエストを承認できるシナリオに適しています。
インバウンド: クラウドプロバイダーの VPC が Stream Processing ワークスペースにピアリングリクエストを送信する VPC 接続です。この接続タイプは、Atlas の VPC 内でのみ承認を必要とするため、クラウドプロバイダーの VPC への完全な管理アクセス権がないシナリオに適しています。
警告
Atlas では、異なるクラウドプロバイダーの単一リージョンに配置されるクラスター間のネットワークピアリングはサポートしていません。たとえば、AWS の単一リージョンでホストされている Atlas クラスターと、GCP の単一リージョンでホストされているアプリケーションとの間には、ネットワークピアリングを構成できません。
このページの手順では、アウトバウンドVPC接続の作成、Stream Processing ワークスペースへの受信 VPC ピアリング接続の作成、受け入れ、拒否、削除について説明します。
前提条件
接続を作成および構成するには、次のものが必要です。
Atlasプロジェクト
Atlas user
Project Owner接続レジストリを管理するためのProject Stream Processing Ownerまたは ロールを持つ注意
Project Ownerロールでは、データベース配置の作成、プロジェクト アクセスとプロジェクト設定の管理、IP アクセス リスト エントリの管理などを行うことができます。Project Stream Processing Ownerのロールは、Stream Processing ワークスペースの閲覧、作成、削除、編集、接続レジストリ内の VPC ピアリング接続の作成、更新、削除などの Atlas Stream Processing アクションを可能にします。2 つのロールの違いの詳細については、「プロジェクト ロール」を参照してください。
Atlas クラスター
Considerations
Atlas Stream Processing は、 VPCピアリングの RFC 1918 プライベートIP範囲のみをサポートします。次のいずれかのIP範囲を使用する必要があります。
10.0.0.0/8172.16.0.0/12192.168.0.0/16
アウトバウンドVPCピアリング接続の作成
stream processing ワークスペースへのアウトバウンドVPCピアリング接続を作成するには、次の手順に従います。
Atlas UIを使用して、stream processingワークスペースからクラウドプロバイダー VPC へのアウトバウンド VPC ピアリング接続を作成するには、 Atlas Stream Processing 接続の追加 Apache Kafkaを参照し、接続タイプとして を選択し、インターフェースとしてAtlas UI を選択します。
VPCピアリング接続のセキュリティプロトコルとして SASL_SSL を選択する必要があります。
APIを使用してstream processingワークスペースへのアウトバウンドVPCピアリング接続を作成するには、1つのプロジェクトのすべてのネットワークピアリング接続を返すを参照してください。
VPCピアリング接続のセキュリティプロトコルとして SASL_SSL を選択する必要があります。
Confluent から受信 VPC ピアリング接続リクエストを生成します。
Confluent アカウントから開始されたAWS VPCピアリング接続を設定および構成するには、以下の手順に従います。
Atlas 管理APIで認証するためのサービス アカウントを作成します。
サービス アカウントを作成し、アクセス トークンを生成し、 APIリクエストを認証します。詳細については、Atlas 管理APIの使い始める を参照してください。
Atlas Cloud AWSアカウント ID、VPC ID、および CIDRブロックを検索します。
サンプルAPIリクエストは、次のようになります。
curl \ -s --header "Authorization: Bearer {ACCESS-TOKEN}" \ --header 'Accept: application/vnd.atlas.2024-11-13+json' \ --header 'Content-Type: application/json' \ --request GET \ "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/accountDetails?cloudProvider=aws®ionName=US_EAST_1"
次の例のパラメーター値に注意してください。
Parameter values | 説明 |
|---|---|
671a86f4cfc9da7d7c31b14f | AtlasプロジェクトID |
AWS (Amazon Web Services) | クラウドプロバイダー |
US_EAST_1 | AWS リージョン名 |
サンプル出力は次のようになります。
{ "awsAccountId": "974404375205", "cidrBlock": "192.168.248.0/21", "vpcId": "vpc-0ef7efa5ceca36e2f" }
VPCピアリング接続リクエストは、潜在的な遅延の後に Atlas に表示されます。
Atlas アカウントで保留中のリクエストを確認するには、次のような API リクエストを実行してください。
curl \ -s --header "Authorization: Bearer {ACCESS-TOKEN}" \ --header 'Accept: application/vnd.atlas.2023-02-01+json' \ --header 'Content-Type: application/json' \ --request GET \ "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/vpcPeeringConnections?requesterAccountId=417601102659"
次の例のパラメーター値に注意してください。
Parameter values | 説明 |
|---|---|
671a86f4cfc9da7d7c31b14f | AtlasプロジェクトID |
417601102659 | ステップ 7 で取得された Confluent AWS アカウント ID |
サンプル出力は次のようになります。
{ "links": [ { "href": "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/vpcPeeringConnections?requesterAccountId=417601102659&pageNum=1&itemsPerPage=100", "rel": "self" } ], "results": [ { "_id": "6759e61aa6cf0a5476e233d1", "accepterAccountId": "974404375205", "accepterVpcId": "vpc-0ddfd37072cc5ed61", "cloudStatus": "pending-acceptance", "expirationTime": "2024-12-18T19:20:37Z", "groupId": "671a86f4cfc9da7d7c31b14f", "localStatus": "NONE", "name": "pcx-09277e1e81d0751c1", "requesterAccountId": "417601102659", "requesterCidr": "10.0.0.0/16", "requesterVpcId": "vpc-0d13eb6a2f0377854" } ], "totalCount": 1 }
受信 VPC ピアリング接続リクエストを承認します。
cloudStatusの値がpending-acceptanceであることにご注意ください。
次のAPIリクエストを実行します。
curl \ -s --header "Authorization: Bearer {ACCESS-TOKEN}" \ --header 'Accept: application/vnd.atlas.2023-02-01+json' \ --header 'Content-Type: application/json' \ -d '{"requesterVpcId": "vpc-0d13eb6a2f0377854", "requesterAccountId":"417601102659"}' \ --request POST \ "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/vpcPeeringConnections/pcx-09277e1e81d0751c1:accept"
次の例のパラメーター値に注意してください。
Parameter values | 説明 |
|---|---|
{"requesterVpcId": "vpc-0d13eb6a2f0377854", "requesterAccountId":"417601102659"} | これは、リクエスタの VPC IDとリクエスタの AWS アカウント ID を含む書き込みペイロードです。この場合、「リクエスタ」は Confluent です。 |
671a86f4cfc9da7d7c31b14f | AtlasプロジェクトID |
pcx-09277e1e81d0751c1 | 前のステップで取得された受信 VPC 接続名 |
プロジェクトのAmazon Web ServicesアカウントIDとVPC IDを取得
Stream Processing ワークスペースへの受信 VPC ピアリング接続を作成する場合は、まず AWS アカウント ID、AWS VPC ID、Atlas プロジェクトに関連付けられている CIDR ブロックを検索して、外部のクラウド環境から VPC ピアリングリクエストを開始する必要があります。
Atlas 管理APIを使用して AtlasプロジェクトのAWSアカウントID、 AWS VPC ID 、 CIDR ブロックを検索するには、アカウントID、指定されたグループとリージョンのVPC IDを返す を参照してください。
インバウンドVPCピアリング接続を一覧表示する
Atlas 管理APIを使用してストリーム処理ワークスペースへのすべてのインバウンドVPCピアリング接続を一覧表示するには、すべてのVPCピアリング接続を返すを参照してください。
インバウンドVPCピアリング接続の受け入れ
Atlas Administration APIを使用してストリーム処理ワークスペースへのインバウンドVPCピアリング接続を受け入れるには、受信VPCピアリング接続の受け入れをリクエストするを参照してください。
サンプルAPIリクエストは、次のようになります。
注意
この curl コマンドは、サービス アカウント アクセス トークン(OAuth 2.0)を使用して認証します。詳細については、Atlas 管理APIの使い始める を参照してください。
curl \ -s --header "Authorization: Bearer {ACCESS-TOKEN}" \ --header 'Accept: application/vnd.atlas.2023-02-01+json' \ --header 'Content-Type: application/json' \ -d '{"requesterVpcId": "vpc-0d13eb6a2f0377854", "requesterAccountId":"417601102659"}' \ --request POST \ "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/vpcPeeringConnections/pcx-09277e1e81d0751c1:accept"
次の例のパラメーター値に注意してください。
インバウンドVPCピアリング接続の拒否
Atlas 管理APIを使用してストリーム処理ワークスペースへのインバウンドVPCピアリング接続を拒否するには、受信VPCピアリング接続の拒否をリクエストするを参照してください。
インバウンドVPCピアリング接続の削除
Atlas 管理APIを使用してストリーム処理ワークスペースへのインバウンドVPCピアリング接続を削除するには、受信VPCピアリング接続を削除するを参照してください。