Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes 演算子
/

AtlasDataFederation カスタム リソース

注意

Atlas Kubernetes Operator は、Atlas for Government のAtlasDataFederationカスタム リソースをサポートしていません。

AtlasDataFederation カスタムリソースは、Atlas のフェデレーティッドデータベースインスタンスを構成します。AtlasDataFederation カスタムリソースを作成すると、Atlas Kubernetes Operator は Atlas 内のフェデレーティッドデータベースインスタンスを作成または更新しようとします。フェデレーティッドデータベースインスタンスを使用してフェデレーティッドクエリを実行できます。

重要

カスタム リソースはデフォルトでオブジェクトを削除しなくなりました

Atlas Kubernetes Operator はカスタム リソース構成ファイルを使用して Atlas 構成を管理しますが、Atlas Kubernetes Operator 2.0 以降では、Kubernetes で削除したカスタム リソースは Atlas では削除されなくなりました。 代わりに、Atlas Kubernetes Operator はそれらのリソースの管理を停止します。 たとえば、Kubernetes でAtlasProjectカスタム リソースを削除すると、Atlas Kubernetes Operator による、Atlas 内の対応するプロジェクトの自動削除が行われなくなるた、意図しないまたは予期しない削除を防げます。 この動作を Atlas Kubernetes Operator 2.0 より前に使用されていたデフォルトに戻す方法などの詳細については、「新しいデフォルト: Atlas Kubernetes Operator 2.0 の削除保護 」を参照してください。

Atlas Kubernetes Operator は、 Atlasクラスター API リソース高度なクラスター API リソースを使用して、新しいフェデレーティッドデータベースインスタンスを作成したり、既存のフェデレーティッドデータベースインスタンスを更新したりします。 spec.serverlessSpecの下のフィールドに値を指定すると、Atlas Kubernetes Operator は Atlas Serverless Instance API リソースを使用して、フェデレーティッドデータベースインスタンスのプライベートエンドポイントを作成または構成します。

Kubernetes クラスターからAtlasDataFederationリソースを削除すると、Atlas Kubernetes Operator は Atlas からフェデレーティッドデータベースインスタンスを削除します。

次の例では、プライベートエンドポイントが構成されたAtlasDataFederationカスタム リソース仕様を示しています。

apiVersion: atlas.mongodb.com/v1
kind: AtlasDataFederation
metadata:
name: my-federated-deployment
spec:
projectRef:
name: my-project
namespace: default
cloudProviderConfig:
aws:
roleId: 12345678
testS3Bucket: my-bucket
dataProcessRegion:
cloudProvider: AWS
region: OREGON_USA
name: my-fdi
storage:
databases:
- collections:
- dataSources:
- allowInsecure: false
collection: my-collection
collectionRegex:
database: my-database
databaseRegex:
defaultFormat: ".avro"
path: /
provenanceFieldName: string
storeName: my-data-store
urls:
- string:
name: my-collection-mdb
maxWildcardCollections: 100
name: my-database-mdb
views:
- name: my-view
pipeline:
source: my-source-collection
stores:
- name: my-store
provider: S3
additionalStorageClasses:
- STANDARD
bucket: my-bucket
delimiter: /
includeTags: false
prefix: data-
public: false
region: US_WEST_1
privateEndpoints:
- endpointId: vpce-3bf78b0ddee411ba1
provider: AWS
type: DATA_LAKE
- endpointId: vpce-3bf78b0ddee411ba2
provider: AWS
type: DATA_LAKE

このセクションでは、使用可能な主要なAtlasDataFederationカスタム リソース パラメータの一部について説明します。 利用可能なパラメーターの完全なリストについては、 Atlas Data Federation API を参照してください。

これらの説明、使用可能な例、 APIドキュメントを参照して、仕様をカスタマイズします。

metadata.name

: string

必須

Atlas Kubernetes Operator がこのフェデレーティッドデータベースインスタンスをプロジェクトに追加するために使用するAtlasDataFederationカスタム リソースを識別するラベル。

spec.cloudProviderConfig

: オブジェクト

必須

フェデレーティッドデータベースインスタンスのクラウドプロバイダー構成が格納されたリスト。

spec.cloudProviderConfig.aws

: オブジェクト

必須

フェデレーティッドデータベースインスタンスをホストするクラウド サービス プロバイダーの名前。

spec.cloudProviderConfig.aws.roleId

: string

必須

フェデレーティッドデータベースインスタンスがデータ ストアにアクセスするために使用できるロールの一意の識別子です。

spec.cloudProviderConfig.aws.testS3Bucket

: string

必須

指定されたロール ID がアクセスを許可されている S3 データ バケットの名前。

spec.dataProcessRegion

: オブジェクト

必須

フェデレーティッドデータベースインスタンスがクライアント接続をルーティングするクラウドプロバイダーのリージョンに関する情報。 Atlas Kubernetes OperatorはAmazon Web Servicesのみをサポートしています。

spec.dataProcessRegion.cloudProvider

: string

必須

フェデレーティッドデータベースインスタンスのデータ ストアをホストするクラウド サービス プロバイダーの名前。 Atlas Kubernetes Operator は、次の値を受け入れます。

  • AWS

  • TENANT

  • SERVERLESS

spec.dataProcessRegion.region

: string

必須

フェデレーティッドデータベースインスタンスのデータ ストアの地理的ロケーションを示すラベル。 Atlas Kubernetes Operator は、次の値を受け入れます。

  • SYDNEY_AUS

  • MUMBAI_IND

  • FRANKFURT_DEU

  • DUBLIN_IRL

  • LONDON_GBR

  • VIRGINIA_USA

  • OREGON_USA

  • SAOPAULO_BRA

  • SINGAPORE_SGP

spec.name

: string

任意

Atlas 内のフェデレーティッドデータベースインスタンスを識別するラベル。

spec.storage

: オブジェクト

任意

各データ ストアの構成情報と Atlas データベースへのマッピング。

spec.storage.databases

タイプ: 配列

任意

このフェデレーティッドデータベースインスタンスのクエリ可能なデータベースとコレクションが格納されたリスト。

spec.storage.databases.collections

タイプ: 配列

任意

storesデータストアにマッピングするコレクションとデータソースのリスト。

spec.storage.databases.collections.dataSources

タイプ: 配列

任意

このフェデレーティッドデータベースインスタンスのコレクションにマップされるデータ ストアが格納されたリスト。

spec.storage.databases.collections.dataSources.allowInsecure

タイプ: ブール値

任意

指定された URL のスキームを検証するフラグ。 trueの場合、Atlas Kubernetes Operator は安全でないHTTPスキームを許可し、サーバーの証明書チェーンとホスト名を検証せず、サーバーによって提示されたホスト名を持つ任意の証明書を受け入れます。 falseの場合、Atlas Kubernetes Operator は安全なHTTPSスキームのみを許可します。

spec.storage.databases.collections.dataSources.collection

: string

任意

データベース内のコレクションを識別する、人間が判読可能なラベル。 ワイルドカード( * )コレクションを作成するには、このパラメータを省略する必要があります。

spec.storage.databases.collections.dataSources.collectionRegex

: string

任意

ワイルドカード( * )コレクションの作成に使用する正規表現パターン。

spec.storage.databases.collections.dataSources.database

: string

任意

クラスター内のコレクションを含むデータベースを識別する、人間が判読可能なラベル。 動的に生成されたデータベースのワイルドカード( * )コレクションを生成するには、このパラメーターを省略する必要があります。

spec.storage.databases.collections.dataSources.databaseRegex

: string

任意

ワイルドカード( * )データベースの作成に使用する正規表現パターン。

spec.storage.databases.collections.dataSources.defaultFormat

: string

任意

Atlas Kubernetes Operator がstoreNameを検索中にファイル拡張子のないファイルを検出した場合に使用するファイル形式。 Atlas Kubernetes Operator は、次の値を受け入れます。

  • .avro

  • .avro.bz2

  • .avro.gz

  • .bson

  • .bson.bz2

  • .bson.gz

  • .bsonx

  • .csv

  • .csv.bz2

  • .csv.gz

  • .json

  • .json.bz2

  • .json.gz

  • .orc

  • .parquet

  • .tsv

  • .tsv.bz2

  • .tsv.gz

spec.storage.databases.collections.dataSources.path

: string

任意

Atlas Kubernetes Operator がstoreName内のファイルをコレクションにマッピングする前に、それらのファイルを検索して解析する方法を制御するファイルパス。 プレフィックス パスからすべてのファイルとフォルダーを取得するには、 /を指定します。

spec.storage.databases.collections.dataSources.provenanceFieldName

: string

任意

結果にドキュメントの出所が含まれるフィールドを識別する、人間が判読可能なラベル。 Atlas Kubernetes Operator では、サポートされているプロバイダーごとに結果に異なるフィールドが返されます。

spec.storage.databases.collections.dataSources.storeName

: string

任意

Atlas Kubernetes Operator がコレクションにマッピングするデータ ストアを識別する、人間が判読できるラベル。

spec.storage.databases.collections.dataSources.urls

タイプ: 配列

任意

パブリックにアクセス可能なデータファイルの URL。 認証が必要な URL は指定できません。 Atlas Data Federation は、各 URL のパーティションを作成します。 空または省略した場合、Atlas Data Federation はdataSources.storeNameパラメーターで指定されたストアの URL を使用します。

spec.storage.databases.collections.name

: string

任意

Atlas Kubernetes Operator がデータ ストア内のデータをマッピングするコレクションを識別する、人間が判読可能なラベル。

spec.storage.databases.maxWildcardCollections

タイプ: int32

任意

データベース内のワイルドカード コレクションの最大数。 これは S3 データソースにのみ適用されます。 デフォルト値は100です。

spec.storage.databases.name

: string

任意

フェデレーティッドデータベースインスタンスがデータをマッピングするデータベースを識別する、人間が判読可能なラベル。

spec.storage.databases.views

タイプ: 配列

任意

コレクションに適用される 集計パイプライン のリスト。 これは S3 データソースにのみ適用されます。

spec.storage.databases.views.name

: string

任意

コレクションの 集計パイプライン に対応するビューを識別する、人間が判読可能なラベル。

spec.storage.databases.views.pipeline

: string

任意

ソース コレクションに適用する 集計パイプライン ステージ 。

spec.storage.databases.views.source

: string

任意

ビューのソース コレクションを識別する、人間が判読可能なラベル。

spec.storage.stores

タイプ: 配列

任意

フェデレーティッドデータベースインスタンスのデータストアが格納されたリスト。

spec.storage.stores.name

: string

任意

データ ストアを識別する、人間が判読可能なラベル。 spec.storage.database.collections.dataSources.storeNameフィールドは、マッピング構成の一部としてこの値を参照します。

spec.storage.stores.provider

: string

条件付き

ストアのプロバイダー。 Atlas Kubernetes Operator はS3のみをサポートしています。 データ ストアを使用するには、このフィールドを指定する必要があります。

spec.storage.stores.additionalStorageClasses

タイプ: 配列

任意

Amazon Web Services S3 ストレージ クラスのコレクション。 Atlas Data Federation は、これらのストレージ クラスのファイルをクエリ結果に含めます。 Atlas Kubernetes Operator は、次の値を受け入れます。

  • STANDARD

  • INTELLIGENT_TIERING

  • STANDARD_IA

spec.storage.stores.bucket

: string

任意

Amazon Web Services S3 バケットを識別する、人間が判読できるラベル。 このラベルは、フェデレーティッドデータベースインスタンスが設定されたAmazon Web Services IAM認証情報を使用してアクセスできる S3 バケットの名前と完全に一致する必要があります。

spec.storage.stores.delimiter

: string

任意

データ ストア内のspec.storage.database.collections.dataSources.pathセグメントを区切る区切り文字。 Atlas Kubernetes Operator は区切り文字を使用して、階層的なディレクトリ構造の S 3バケットを効率的に走査します。 S 3オブジェクト キー でサポートされている任意の文字を区切り文字として指定できます。 たとえば、区切り文字としてアンダースコア(_)またはプラス記号(+)、またはdoubleアンダースコア(__)などの複数の文字を指定できます。 省略された場合、デフォルトは/となります。

spec.storage.stores.includeTags

タイプ: ブール値

任意

指定されたパス内のファイルの S3 タグを追加のパーティション属性として使用するかどうかを示すフラグ。 true に設定すると、Atlas Kubernetes Operator は S3 タグを追加のパーティション属性として追加し、各タグを各ドキュメントに関連付けるための新しい最上位の BSON 要素を追加します。 省略した場合、デフォルトはfalseになります。

spec.storage.stores.prefix

: string

任意

S 3バケット内のファイルを検索するときに Atlas Kubernetes Operator が適用するプレフィックス。 データ ストアは、プレフィックスの値をspec.storage.databases.collections.dataSources.pathの先頭に追加して、取り込むファイルの完全なパスを作成します。 省略した場合、Atlas Kubernetes Operator は S 3バケットのルートからすべてのファイルを検索します。

spec.storage.stores.public

タイプ: ブール値

任意

バケットがパブリックかどうかを示すフラグ。 true に設定すると、 Atlas Kubernetes Operatorは S3 バケットにアクセスするために、設定されたAmazon Web Services IAMロールを使用しません。 false に設定されている場合、設定されたAmazon Web Services IAMロールには S3 バケットにアクセスするための権限が含まれている必要があります。

spec.storage.stores.region

: string

任意

S3 バケットの物理的なロケーションを示すAmazon Web Servicesのリージョン。

spec.privateEndpoints

タイプ: 配列

任意

フェデレーティッドデータベースインスタンスのプライベートエンドポイント構成が格納されたリスト。

spec.privateEndpoints.endpointId

: string

必須

のプライベートエンドポイントを識別する、 で始まる一意の 22string vpce-Amazon Web Services文字の英数字

spec.privateEndpoints.provider

: string

任意

クラウド サービス プロバイダーを識別する、人間が判読可能なラベル。 Atlas Data Federation はAWSのみをサポートしています。

spec.privateEndpoints.type

: string

任意

このプライベートエンドポイントに関連付けられているリソースの種類を識別する、人間が判読可能なラベル。 Atlas Data Federation はDATA_LAKEのみをサポートしています。

spec.projectRef.name

: string

必須

フェデレーティッドデータベースインスタンスが属するプロジェクトの名前。 既存のAtlasProjectカスタム リソースを指定する必要があります。

spec.projectRef.namespace

: string

必須

spec.projectRef.name で指定されたAtlasProject カスタム リソース が存在する名前空間。

戻る

AtlasTeam

項目一覧