AtlasDeployment
カスタム リソース
AtlasDeployment
カスタムリソースは、Atlas のMongoDBクラスターまたはサーバーレスインスタンスを構成します。 AtlasDeployment
カスタムリソースを作成すると、Atlas Kubernetes Operator は Atlas 内のクラスターまたはサーバーレスインスタンスを作成または更新しようとします。
重要
Atlas Kubernetes Operator 2.0 による変更の重大な変更に必要なアクション
Atlas Kubernetes Operator 2.0 では、
deploymentSpec
はAtlasDeployment
カスタム リソース内のadvancedDeploymentSpec
を置き換えます。AtlasDeployment
カスタム リソースは次のように更新する必要があります。advancedDeploymentSpec
を使用する場合は、名前をdeploymentSpec
に変更します。 形式を変更する必要はありません。Atlas Kubernetes Operator 2.0より前に
deploymentSpec
を使用していた場合は、 の例で使用されている形式と一致するようにAtlasDeployment
カスタム リソースを書き換えます。
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 は、 AtlasDeployment
カスタム リソースで指定した値に応じて、次のいずれかのアクションを実行します。
spec.deploymentSpec
の下のフィールドに値を指定すると、Atlas Kubernetes Operator は Atlas Clusters API リソースを使用して、新しいクラスターを作成するか、既存のクラスターを更新します。spec.serverlessSpec
の下のフィールドに値を指定すると、Atlas Kubernetes Operator は Atlas Serverless Instance APIリソースを使用して、新しいサーバーレスインスタンスを作成するか、既存の サーバーレスインスタンスを更新します。
クラスターまたはサーバーレスインスタンスの作成または更新には最大 10 分かかる場合があります。 Atlas Kubernetes Operator は更新プロセスを監視します。
次のコマンドを実行して、ステータスを確認できます。
kubectl get atlasdeployment -o yaml
以下の例は、プロビジョニング中のクラスターのステータス セクションを示しています。
status: conditions: - lastTransitionTime: "2021-03-18T16:32:43Z" status: "False" type: ClusterReady reason: ClusterCreating message: Cluster is provisioning
クラスターまたはサーバーレスインスタンスが準備完了すると、ClusterReady
のステータスは True
に変わります。
例
ステータスの例
次の例では、 ClusterReady
ステータスがTrue
であるAtlasDeployment
リソースを示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster namespace: mongodb-atlas-system spec: projectRef: name: my-project deploymentSpec: name: test-cluster tags: - key: "environment" value: "production" replicationSpecs: - zoneName: US-Zone numShards: 3 regionConfigs: - regionName: CENTRAL_US providerName: GCP backingProviderName: GCP priority: 7 electableSpecs: instanceSize: M10 nodeCount: 3 status: conditions: - lastTransitionTime: "2021-03-18T16:32:43Z" status: "True" type: Ready - lastTransitionTime: "2021-03-18T16:32:43Z" status: "True" type: ClusterReady connectionStrings: standard: mongodb://test-cluster-shard-00-00.kpc8f.mongodb.net:27017,test-cluster-shard-00-01.kpc8f.mongodb.net:27017,test-cluster-shard-00-02.kpc8f.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-1gm1pv-shard-0 standardSrv: mongodb+srv://test-cluster.kpc8f.mongodb.net mongoDBVersion: 6.0 mongoURIUpdated: "2021-03-12T12:21:41Z" observedGeneration: 1 stateName: IDLE
構成例
次の例では、マルチリージョン クラスターをオートスケーリングするために構成されたAtlasDeployment
カスタム リソース仕様を示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: test-cluster-name namespace: mongodb-atlas-system spec: projectRef: name: development deploymentSpec: clusterType: REPLICASET name: service-name tags: - key: "environment" value: "production" backupEnabled: true replicationSpecs: - numShards: 1 regionConfigs: - regionName: EASTERN_US providerName: GCP autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40 analyticsSpecs: instanceSize: M30 nodeCount: 1 electableSpecs: instanceSize: M30 nodeCount: 3 priority: 7 readOnlySpecs: instanceSize: M30 nodeCount: 1
追加オプションの例
次の例では、追加オプションの一部を使用して構成されたAtlasDeployment
カスタム リソース仕様を示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster spec: projectRef: name: my-project deploymentSpec: name: test-cluster tags: - key: "environment" value: "production" replicationSpecs: - zoneName: Zone 1 regionConfigs: - electableSpecs: instanceSize: M10 nodeCount: 3 providerName: AWS regionName: US_EAST_1 priority: 7 processArgs: javascriptEnabled: false
サーバーレスインスタンスの例
次の例では、 サーバーレスインスタンスに構成された AtlasDeployment
カスタムリソース仕様を示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: test-cluster-name namespace: mongodb-atlas-system spec: projectRef: name: development serverlessSpec: name: serverless-instance tags: - key: "environment" value: "production" providerSettings: providerName: AWS regionName: US_EAST_1
マルチリージョンクラスターの例
クラスターは複数のリージョンとクラウド サービス プロバイダーにまたがって使用できます。 詳細については、「考慮事項 」を参照してください。
注意
Atlas Cluster API リソースはv1.5
Atlas APIバージョンを使用してリクエストを送信しますが、Atlas Kubernetes Operator apiVersion
フィールドはv1
を使用します。 この場合、 v1
は Kubernetes APIのバージョンを指します。
次の例では、マルチリージョンクラスター用に構成されたAtlasDeployment
カスタム リソース仕様を示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster spec: projectRef: name: my-project deploymentSpec: clusterType: REPLICASET name: tenantCluster tags: - key: "environment" value: "production" replicationSpecs: - zoneName: Zone 1 regionConfigs: priority: 7 - electableSpecs: instanceSize: M10 nodeCount: 3 providerName: AWS regionName: US_EAST_1
複数のクラウド サービス プロバイダーの例
次の例では、複数のクラウド サービス プロバイダーにまたがるように構成されたAtlasDeployment
カスタム リソース仕様を示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster spec: projectRef: name: my-project deploymentSpec: clusterType: REPLICASET name: tenantCluster tags: - key: "environment" value: "production" replicationSpecs: - regionConfigs: - electableSpecs: instanceSize: M10 nodeCount: 3 providerName: AWS regionName: US_EAST_1 priority: 7 - electableSpecs: instanceSize: M10 nodeCount: 2 providerName: AZURE regionName: US_EAST_2 priority: 6 - electableSpecs: instanceSize: M10 nodeCount: 2 providerName: GCP regionName: CENTRAL_US priority: 5
検索インデックスの例
次の例では、コレクションlistingsAndReviews
とgrades
の検索インデックスを作成するように構成されたAtlasDeployment
カスタム リソース仕様を示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster namespace: mongodb-atlas-system spec: deploymentSpec: backupEnabled: true clusterType: REPLICASET name: Test-cluster-M10 replicationSpecs: - regionConfigs: - backingProviderName: AWS electableSpecs: instanceSize: M10 nodeCount: 3 priority: 7 providerName: AWS regionName: US_EAST_1 zoneName: Zone 1 searchIndexes: - DBName: sample_training collectionName: grades name: test-vector-search-index type: vectorSearch vectorSearch: fields: - numDimensions: 1000 path: student_id similarity: euclidean type: vector - DBName: sample_airbnb collectionName: listingsAndReviews name: my-index search: mappings: dynamic: true searchConfigurationRef: name: atlassearchindexconfig-sample namespace: mongodb-atlas-system type: search terminationProtectionEnabled: false projectRef: name: my-project namespace: mongodb-atlas-system
検索ノードの例
次の例は、検索ノードを作成するために構成されたAtlasDeployment
カスタム リソース仕様を示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster namespace: mongodb-atlas-system spec: deploymentSpec: backupEnabled: true clusterType: REPLICASET name: Test-cluster-M10 replicationSpecs: - regionConfigs: - backingProviderName: AWS electableSpecs: instanceSize: M10 nodeCount: 3 priority: 7 providerName: AWS regionName: US_EAST_1 zoneName: Zone 1 searchNodes: - instanceSize: S20_HIGHCPU_NVME nodeCount: 2
パラメーター
このセクションでは、使用可能な主要なAtlasDeployment
カスタム リソース パラメータの一部について説明します。
クラスターで使用可能なパラメーターの完全なリストについては、 Atlas Clusters API を参照してください。
サーバーレスインスタンスで使用できるパラメーターの完全なリストについては、 Atlas Serverless Instances APIを参照してください。
仕様をカスタマイズするには、これらの説明、利用可能な例、およびAPIドキュメントを参照してください。
spec.backupRef
型: オブジェクト
任意
適用する
AtlasBackupSchedule
カスタム リソースの詳細を含むリスト。 クラスターごとに 1 つのバックアップ スケジュールを指定できます。
spec.backupRef.name
型: string
任意
metadata.name
適用するバックアップ スケジュールのAtlasBackupSchedule
カスタム リソース内の値。 クラスターごとに指定できるバックアップ スケジュールは 1 つだけですが、複数のクラスターで同じバックアップ スケジュールを使用できます。このパラメーターを省略すると、Atlas はこのクラスターにバックアップ構成を適用しません。
spec.backupRef.namespace
型: string
任意
適用するバックアップ スケジュールの
AtlasBackupSchedule
カスタム リソースを含む名前空間を示す string。
spec.connectionSecret.name
型: string
条件付き
Atlas Kubernetes Operator が Atlas への接続に使用する組織IDとAPIキーを含む opaque secret の名前。指定されていない場合、Atlas Kubernetes Operator は次のいずれかにフォールバックします。
親
atlasProject
のspec.connectionSecretRef.name
パラメータデフォルトの
global
シークレット(親atlasProject
に対してspec.connectionSecretRef.name
が未定義の場合)
このパラメータは独立した CRD に必須です。
Atlas Kubernetes Operator
atlas.mongodb.com/type=credentials
は、不要な シークレット の監視を回避するために、ラベル の シークレット のみを監視します 。次の例ではシークレットにラベルを付けます。
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.deploymentSpec
タイプ: 配列
条件付き
APIからのクラスター パラメーターが含まれるリスト。 使用可能なパラメーターの完全なリストについては、 Atlas Clusters API を参照してください。
重要
構成で
spec.deploymentSpec
またはspec.serverlessSpec
を指定する必要があります。
spec.deploymentSpec.clusterType
型: string
条件付き
作成するクラスターのタイプを識別する、人間が判読可能なラベル。
このパラメーターをいつ使用するか?
条件必要性必須
必須
非グローバルのレプリカセットとシャーディングされたクラスターを配置している。
任意
Atlas では以下に対応しています。
値クラスター タイプレプリカセット
レプリカセット
シャード
シャーディングされたクラスター
GEOSHARDED
spec.deploymentSpec.customZoneMapping
タイプ: 配列
必須
ゾーンを地理的リージョンにマッピングするグローバルクラスターパラメーターが格納されたリスト。 使用可能なパラメーターの完全なリストについては、 Atlas Global Clusters API を参照してください。
spec.deploymentSpec.diskSizeGB
タイプ: 数値
任意
ホストのルート ボリュームを示す容量(ギガバイト単位)。 この数を増やして、最大値
4096
(4 TB)まで容量を追加します。 この値には正の数を指定する必要があります。この値は、ローカルNVMe SSDを持つクラスターでは設定できません。
注意
任意のリージョンで
diskGB
のオートスケーリングを有効にしている場合、このオプションは編集できません。 詳しくは、spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.diskGB.enabled
を参照してください。専有クラスターの最小ディスク サイズは、GB Amazon Web ServicesおよびGoogle Cloud Platform で 10 です。より低いディスク サイズでこの設定を指定すると、Atlas はデフォルトで最小ディスク サイズ値になります。
データベース配置にAzureノードが含まれている場合、この値は既存のAzureディスクタイプ(8、16、32、64、128、256、512、1024、2048、または 4096)に対応している必要があります。
Atlas は、デフォルト値を選択するかカスタム値を選択するかに応じて、ストレージ料金の計算方法が異なります。
Atlas は単一のレプリカセットのディスク容量に制限があり、上位のクラスター階層では4 TB までスケールアップされます。 デフォルトの制限を超えてクラスターの合計ストレージを拡張するには、プロジェクト設定で拡張ストレージを有効にします。 将来のさらなるスケーリングに対応するため、長期的に展開できるようシャーディングを有効にすることをお勧めします。
データベース配置が複数のクラウド サービス プロバイダーにまたがる場合、この値は関係するプロバイダーの最小デフォルトになります。
詳細については、「ストレージ容量 」を参照してください。
spec.deploymentSpec.encryptionAtRestProvider
型: string
任意
このクラスターのカスタマー キーを管理するクラウド サービス プロバイダー。 このクラスターのカスタマー マネージド キーを使用して保管時の暗号化を有効にするには、この値を設定する必要があります。これにより、暗号化の追加レイヤーが提供されます。 詳細については、「 KMSを使用したデータの暗号化 」を参照してください。
Atlas は次の値を受け入れます。
値クラウドプロバイダーAmazon Web Services
Amazon Amazon Web Services
GCP
Google Cloud
Azure
Microsoft Azure
なし
プロバイダーなし。クラスターは、カスタマー マネージド キーを使用してデータを暗号化 しません 。
spec.deploymentSpec.managedNamespaces
タイプ: 配列
必須
作成する指定されたグローバルクラスターに管理対象名前空間を作成するための情報を含むリスト。 使用可能なパラメーターの完全なリストについては、 Atlas Global Clusters API を参照してください。
spec.deploymentSpec.managedNamespaces.isCustomShardKeyHashed
タイプ: ブール値
任意
指定されたコレクションのカスタム シャードキーをハッシュするかどうかを示すフラグ。 このパラメータのデフォルトは
false
です。コレクションのカスタム シャードキーを有効にするには、 を
true
に設定します。コレクションのカスタム シャードキーを無効にするには、 を
false
に設定します。 無効にすると、MongoDB は範囲シャーディングを使用します。
詳細については、「ハッシュされたシャードキー 」を参照してください。
spec.deploymentSpec.managedNamespaces.isCustomShardKeyUnique
タイプ: ブール値
任意
指定されたコレクションのカスタム シャードキーが一意であるかどうかを示すフラグ。 このパラメータのデフォルトは
false
です。コレクションの一意のカスタム シャードキーを有効にするには、 を
true
に設定します。コレクションの一意のカスタム シャードキーを無効にするには、 を
false
に設定します。
spec.deploymentSpec.managedNamespaces.numInitialChunks
タイプ: 整数
任意
空の コレクションをハッシュされたシャードキー でシャーディングするときに最初に作成するチャンクの最小数。
詳細については、「グローバル コレクションのシャーディング 」を参照してください。
spec.deploymentSpec.managedNamespaces.presplitHashedZones
タイプ: ブール値
任意
MongoDB Cloud が、空のコレクションや存在しないコレクションの初期チャンクを作成して配布するかどうかを示すフラグ。 このパラメータのデフォルトは
false
です。MongoDB Cloud が空のコレクションまたは存在しないコレクションの初期チャンクを作成して配布するには、
true
に設定します。MongoDB Cloud が空のコレクションや存在しないコレクションの初期チャンクを作成して配布しないようにするには、
false
に設定します。
spec.deploymentSpec.mongoDBMajorVersion
型: string
任意
配置するクラスターのバージョン。 Atlas は、
M10+
クラスターに対して次の MongoDB バージョンをサポートしています。5.0
6.0
7.0
次の条件では、次の結果が得られます。
条件結果このパラメータを省略し、
spec.deploymentSpec.versionReleaseSystem
パラメータを省略します。Atlas は MongoDB 7.0 を実行するクラスターをデプロイします。
このパラメータを省略し、
spec.deploymentSpec.versionReleaseSystem
パラメータをLTS
に設定します。Atlas は MongoDB 7.0 を実行するクラスターをデプロイします。
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize
パラメータをM0
、M2
、またはM5
に設定します。MongoDB 7.0 を配置する必要があります。
このパラメーターを指定します。
Atlas は、指定されたバージョンの最新の安定したパッチ リリースを使用してクラスターを常にデプロイします。
spec.deploymentSpec.versionReleaseSystem
パラメータをCONTINUOUS
に設定します。このパラメーターは省略する必要があります。
spec.deploymentSpec.pitEnabled
タイプ: ブール値
条件付き
継続的なクラウドバックアップを可能にする構成。 継続的なクラウドバックアップを有効にするには、この設定に
true
を指定する必要があります。
spec.deploymentSpec.replicationSpecs
タイプ: オブジェクトの配列
条件付き
クラスター リージョンの構成を含むリスト。 マルチリージョンクラスターには、このパラメーターを使用します。
spec.deploymentSpec.replicationSpecs.regionConfigs.regionName
またはspec.deploymentSpec.replicationSpecs
のいずれかを設定する必要があります。このパラメーターをいつ使用するか?
条件必要性Values必須
配列内の各オブジェクトは、Atlas がクラスターのノードを配置するゾーンを表します。
非グローバルのレプリカセットとシャーディングされたクラスターを配置している。
任意
この配列には、Atlas がクラスターのノードを配置する場所を表す 1 つのオブジェクトが含まれています。
このパラメータを指定する場合は、
spec.deploymentSpec.clusterType
とspec.deploymentSpec.replicationSpecs.numShards
も指定する必要があります。
spec.deploymentSpec.replicationSpecs.numShards
タイプ: 整数
条件付き
シャーディングされたクラスターに配置するシャードの数を指定する正の整数。
spec.deploymentSpec.replicationSpecs
パラメーターを使用する場合は、このパラメーターを設定する必要があります。Atlas は
1
から50
までを受け入れます。 デフォルト値は1
です。1
の値を指定し、spec.deploymentSpec.clusterType
をSHARDED
に設定すると、Atlas は単一シャードのシャーディングされたクラスターを配置します。1
を指定し、spec.deploymentSpec.clusterType
をREPLICASET
に設定すると、Atlas はレプリカセットを配置します。実稼働環境では、単一のシャードを含むシャーディングされたクラスターを作成しないでください。単一シャードのシャード クラスターでは、マルチシャード構成と同じ利点は得られません。
警告
シャーディングされたシャーディングされたクラスターを使用する場合、 MongoDBではアプリケーションが
mongos
インスタンスに接続され、アプリケーションがシャードやシャーディングされたシャーディングされたクラスターのコンポーネントと適切にやり取りできるようにする必要があります。レプリカセットから シャーディングされたシャーディングされたクラスターに移行する場合は、クラスターのmongos
への接続を有効にするためにアプリケーションを再起動する必要があります。その結果、Atlas Admin APIでは、レプリカセットを複数のシャードを持つシャーディングされたシャーディングされたクラスターに直接移行することはできません。 レプリカセットを単一のシャード クラスターに正常に移行し、アプリケーション接続をリセットしたら、クラスターにシャードを追加できます。
spec.deploymentSpec.replicationSpecs.regionConfigs
タイプ: 配列
必須
特定のリージョンに設定されたノードのハードウェア仕様。 各
regionConfigs
オブジェクトは、選挙におけるリージョンの優先順位と、Atlas がリージョンに配置する MongoDB ノードの数とタイプを表します。各
regionConfigs
オブジェクトには、analyticsSpecs
オブジェクト、electableSpecs
オブジェクト、またはreadOnlySpecs
オブジェクトのいずれかが必要です。M0
、M2
、またはM5
クラスターではelectableSpecs
のみが必要です。専有クラスターはこれらの仕様のいずれかを指定できますが、
replicationSpec
内に少なくとも 1 つのelectableSpecs
オブジェクトが必要です。すべてのハードウェア仕様で同じ
instanceSize
を使用する必要があります。
spec.deploymentSpec.replicationSpecs.regionConfigs.analyticsSpecs
型: オブジェクト
任意
リージョンで必要とされる分析ノードのハードウェア仕様。 分析ノードは、BI Connector for Atlas からのクエリのレポートなどの分析データを処理します。 分析ノードは読み取り専用であり、プライマリになることはできません。
このパラメーターを指定しない場合、Atlas はこのリージョンに分析を配置しません。
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.diskGB.enabled
タイプ: ブール値
任意
このデータベース配置でディスクのオートスケーリングが有効になっているかどうかを示すフラグ。 このパラメータのデフォルトは
true
です。ディスクのオートスケーリングを有効にするには、
true
に設定します。ディスクの自動スケーリングを無効にするには、
false
に設定します。
選択したクラスター階層の RAM の最大量と oplog サイズによって、ストレージのオートスケーリングが制限される可能性があります。 詳しくは、「ストレージをカスタマイズする 」を参照してください。
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled
タイプ: ブール値
任意
インスタンス サイズのオートスケーリングが有効になっているかどうかを示すフラグ。 このパラメータのデフォルトは
false
です。インスタンス サイズのオートスケーリングを有効にするには、
true
に設定します。 有効にする場合は、spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize
の値を指定する必要があります。インスタンス サイズの自動スケーリングを無効にするには、
false
に設定します。
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize
型: string
条件付き
データベース配置がオートスケーリングできる最大インスタンス サイズを示すstring (
M40
など)。spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled
をtrue
に設定する場合は、このパラメータを指定する必要があります。注意
オートスケーリングを有効にして、データベース配置の現在のインスタンス サイズよりも小さい最大インスタンス サイズを設定すると、Atlas は現在のインスタンス サイズを指定された最大値に自動的にスケーリングします。
たとえば、データベース配置の現在のインスタンス サイズが
M40
で、最大インスタンス サイズをM30
に設定すると、Atlas は現在のインスタンス サイズをM30
に自動的にスケーリングします。Atlas が現在のインスタンス サイズを変更しており、Atlas Kubernetes Operator の
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize
を変更して新しいインスタンス サイズと一致しない場合、Atlas Kubernetes Operator はログに警告を表示しますが、オートスケーリングを妨げるものではありません。
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize
型: string
条件付き
データベース配置がオートスケーリングできる最小インスタンスサイズを示すstring (
M10
など)。spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled
をtrue
に設定する場合は、このパラメータを指定する必要があります。注意
オートスケーリングを有効にして、データベース配置の現在のインスタンス サイズよりも大きい最小インスタンス サイズを設定すると、Atlas は現在のインスタンス サイズを指定された最小値に自動的にスケーリングします。
たとえば、データベース配置の現在のインスタンス サイズが
M10
で、最小インスタンス サイズをM30
に設定すると、Atlas は現在のインスタンス サイズをM30
に自動的にスケーリングします。Atlas が現在のインスタンス サイズを変更しており、Atlas Kubernetes Operator の
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize
を変更して新しいインスタンス サイズと一致しない場合、Atlas Kubernetes Operator はログに警告を表示しますが、オートスケーリングを妨げるものではありません。
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs
型: オブジェクト
任意
リージョン内の選択可能なノードのハードウェア仕様。 選挙可能なノードはプライマリになることができ、ローカル読み取りを有効にできます。
このオプションを指定しない場合、Atlas は選択可能なノードを リージョンに配置しません。
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize
型: string
条件付き
このリージョンのインスタンス サイズのハードウェア仕様。 各インスタンス サイズには、デフォルトのストレージとメモリ容量が設定されています。 選択したインスタンス サイズは、インスタンス サイズ内のすべてのデータを保持するホストに適用されます。 詳しくは、「 Amazon Web Services 」、「 GCP 」、およびAzureのカスタム ストレージ サイズを参照してください。
シャーディングされたクラスター 、またはグローバルクラスターを配置する場合は、
M30
以上のインスタンス サイズを選択する必要があります。クラスターを配置した後にインスタンス サイズ名を変更すると、Atlas はデータベース配置を指定したインスタンス サイズに変更します。ただし、オートスケーリングが有効になっている状態で
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize
とspec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize
で指定した範囲外である場合に限ります。 詳しくは、spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize
とspec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize
を参照してください。注意
コンピュート フィールドでオートスケーリングを有効にしている場合、このオプションは編集できません。 詳しくは
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled
を参照してください。注意
この設定を変更して、
M0
、M2
、M5
、または Flex クラスターをM10+
クラスターにアップグレードします。 ただし、M0
、M2
、M5`, or Flex cluster to another free or shared cluster. For example, you can't upgrade an ``M0
クラスターは Flex クラスターにアップグレードできません。
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.nodeCount
タイプ: 整数
条件付き
Atlas が リージョンに配置する選択可能なノードの数。 選挙可能なノードはプライマリになることができ、ローカル読み取りを有効にできます。
すべての
replicationSpecs.regionConfigs
オブジェクトにわたるelectableSpecs.nodeCount
の合計は、3
、5
、または7
の合計が必要です。spec.deploymentSpec.replicationSpecs.regionConfigs.priority
が0
の場合、選択可能なノードを作成することはできません。
spec.deploymentSpec.replicationSpecs.regionConfigs.priority
タイプ: 整数
必須
予備選挙が行われると、このリージョンに優先順位が与えられます。
regionConfigs
にreadOnlySpecs
、analyticsSpecs
、またはその両方がある場合は、この値を0
に設定します。複数の
regionConfigs
オブジェクト(クラスターがマルチリージョンまたはマルチクラウド)がある場合、それらの優先順位は降順である必要があります。 最も優先順位は7
です。例
最も優先度の高いリージョンを
7
に、2 番目に優先度の高いリージョンを6
に、3 番目の優先度のリージョンを5
に設定します。 選択可能なノードがない場合は、この値を0
に設定します。お使いのリージョンで
electableSpecs.nodeCount
が1
以上に設定されている場合、プライマリでない限り、replicationSpecs.regionConfigs
配列内の別のリージョンよりも優先度が 1 つだけ低い必要があります。 最も優先度の高いリージョンの優先度は、7
である必要があります。 最低の優先順位は1
です。優先度
7
リージョンは、クラスターの優先リージョンを識別します。 Atlas は優先リージョンにプライマリ ノードを配置します。 優先順位1
から7
は排他的です。特定の優先順位をクラスターごとに複数のリージョンに割り当てることはできません。例
3 つのリージョンがある場合、優先順位はそれぞれ
7
、6
、5
になります。 選択可能なノードをサポートするためにさらに 2 つのリージョンを追加した場合、それらのリージョンの優先順位はそれぞれ4
と3
になります。
spec.deploymentSpec.replicationSpecs.regionConfigs.providerName
型: string
条件付き
Atlas がホストをプロビジョニングするクラウド サービス プロバイダー。
Amazon Web Services
Amazon Amazon Web Services
GCP
Google Cloud Platform
Azure
Microsoft Azure
spec.deploymentSpec.replicationSpecs.regionConfigs.regionName
型: string
条件付き
MongoDB クラスターの物理的なロケーション。 選択したリージョンは、データベースにアクセスするクライアントのネットワーク レイテンシに影響する可能性があります。
リージョン名の値の完全なリストについては、クラウドプロバイダーのリファレンス ページを参照してください。
マルチリージョンクラスターについては、
spec.deploymentSpec.replicationSpecs
を参照してください。spec.deploymentSpec.replicationSpecs.regionConfigs.regionName
またはspec.deploymentSpec.replicationSpecs
のいずれかを設定する必要があります。
spec.deploymentSpec.replicationSpecs.regionConfigs.readOnlySpecs
型: オブジェクト
任意
リージョン内の読み取り専用ノードのハードウェア仕様。 読み取り専用ノードは プライマリ ノードになることはできませんが、ローカル読み取りを有効にできます。
このパラメーターを指定しない場合、Atlas は リージョンに読み取り専用ノードを配置しません。
spec.deploymentSpec.replicationSpecs.zoneName
型: string
任意
グローバルクラスター内の ゾーンを識別する、人間が判読可能なラベル。 この値は、
spec.deploymentSpec.clusterType
をGEOSHARDED
に設定した場合にのみ指定します。
spec.deploymentSpec.searchIndexes
タイプ: 配列
任意
検索インデックスを記述するフィールドを持つ
SearchIndex
オブジェクトの配列。 各SearchIndex
オブジェクトには次のフィールドが含まれています。フィールドタイプ説明name
string
このインデックスを識別する、人間が判読できるラベル。 配置に対して一意である必要があります。
DBName
string
1 つ以上の Atlas Search インデックスを持つコレクションを含む既存のデータベースを識別する、人間が判読できるラベル。
重要:指定するデータベースはすでに存在している必要があります。 既存のデータベースがない場合は、作成します 。
collectionName
string
1 つ以上の Atlas Search インデックスを含むコレクションを識別する、人間が判読できるラベル。
type
string
インデックスのタイプ。 Atlas は次の値を受け入れます。
search
vectorSearch
search
オブジェクト
type
がsearch
である場合は、このオブジェクトを含める必要があります。 それ以外の場合は、省略します。vectorSearch
オブジェクト
type
がvectorSearch
である場合は、このオブジェクトを含める必要があります。 それ以外の場合は、省略します。
spec.deploymentSpec.searchIndexes.search
型: オブジェクト
任意
フィールドタイプ説明synonyms
配列
このインデックス内の単語を同義語にマッピングするルール セット
mappings
オブジェクト
コレクションのフィールドのインデックス仕様
必須
searchConfigurationRef
オブジェクト
AtlasSearchIndexConfig カスタム リソースへの名前/名前空間参照(以下で説明)。
必須
spec.deploymentSpec.searchIndexes.search.synonyms
タイプ: 配列
任意
このインデックス内の単語を同義語にマッピングするルールセットを記述するフィールドを持つ
Synonym
オブジェクトの配列。 各Synonym
オブジェクトには次のフィールドが含まれています。フィールドタイプ説明name
string
シノニム(同意語)の定義を識別する、人間が判読可能なラベル。 各名前は同じインデックス定義内で一意である必要があります
必須
analyzer
string
検索するシノニム(同意語)に適用するために選択された特定の定義済みメソッド。 可能な値は次のとおりです。
lucene.standard
lucene.standard
lucene.simple
lucene.whitespace
lucene.keyword
lucene.arabic
lucene.argenian
lucene.basque
lucene. envelope
lucene.brazilian
lucene.bulgarian
lucene.catalan
lucene.chinese
lucene.cjk
lucene.czech
lucene.danish
lucene.dutch
lucene.english
lucene.finnish
lucene.french
lucene.galician
lucene.german
lucene.greek
lucene.hindi
lucene.hungarian
lucene.indonesian
lucene.irish
lucene.italian
lucene.japanese
lucene.korean
lucene.kuromoji
lucene.latvian
lucene.lithuanian
lucene.morfologik
lucene.nori
lucene.norwegian
lucene.persian
lucene.portuguese
lucene.romanian
lucene.russian
lucene.smartcn
lucene.sorani
lucene.spanish
lucene.swedish
lucene.thai
lucene.turkish
lucene.ukrainian
必須
source
オブジェクト
1 つ以上の単語が、それらの単語の 1 つ以上のシノニム(同意語)にマップされるのを保存するデータセット
必須
spec.deploymentSpec.searchIndexes.search.synonyms.source
型: オブジェクト
必須
フィールドタイプ説明collection
string
単語とそのシノニム(同意語)を保存する MongoDB コレクションを識別する、人間が判読可能なラベル
必須
spec.deploymentSpec.searchIndexes.search.mappings
型: オブジェクト
必須
コレクションのフィールドのインデックス仕様を持つオブジェクト:
dynamic
ブール値インデックスが動的マッピングを使用するか、静的マッピングを使用するかを示すフラグ。 mappings.fields が省略されている場合は必須です。fields
JSON/YAML
Atlas Search インデックスの 1 つ以上のフィールド仕様。 mappings.dynum が省略されているか、false に設定されている場合は必須です。
spec.deploymentSpec.searchIndexes.vectorSearch
型: オブジェクト
任意
フィールドタイプ説明fields
JSON/YAML
JSON オブジェクトの配列。 https://docub.mongodb.org/core/avs-vector-type
必須
spec.deploymentSpec.searchNodes
タイプ: 配列
任意
検索ノード構成の配列。 各要素には 2 つのフィールドが含まれています。
フィールドタイプ説明nodeCount
integer
クラスター内の検索ノードの数。 Atlas は2から32までの値を受け入れます。 デフォルトの数値は
2
です。instanceSize
string
検索ノード インスタンス サイズのハードウェア仕様。 Atlas は次のいずれかを受け付けます。
S20_HIGHCPU_NVME
S30_HIGHCPU_NVME
S40_HIGHCPU_NVME
S50_HIGHCPU_NVME
S60_HIGHCPU_NVME
S70_HIGHCPU_NVME
S80_HIGHCPU_NVME
S30_LOWCPU_NVME
S40_LOWCPU_NVME
S50_LOWCPU_NVME
S60_LOWCPU_NVME
S80_LOWCPU_NVME
S90_LOWCPU_NVME
S100_LOWCPU_NVME
デフォルトのインスタンス サイズは
S20_HIGHCPU_NVME
です。
spec.deploymentSpec.tags
タイプ: 配列
任意
データベース配置をよりよく理解、整理し、識別するためのタグ(キーと値のペア)を含むリスト。 詳細については、「クラスターのタグ 」を参照してください。
spec.deploymentSpec.versionReleaseSystem
型: string
条件付き
Atlas がこのクラスターに使用するリリース ケイデンス。 Atlas では以下に対応しています。
CONTINUOUS
: Atlas は、最新の MongoDB リリースを使用してクラスターを作成します。 Atlas は、MongoDB の最新のメジャー リリースと Rapid Release が利用可能になると、クラスターを自動的に更新します。LTS
: Atlas は、spec.deploymentSpec.mongoDBMajorVersion
パラメータで指定した MongoDB バージョンの最新パッチ リリースを使用してクラスターを作成します。 Atlas は、クラスターをこの MongoDB バージョンの後続のパッチ リリースに自動的に更新します。 Atlas は、MongoDB の新しい Rapid Release またはメジャー リリースが利用可能になると、クラスターを更新しません。省略した場合、デフォルトは
LTS
になります。このパラメータを
CONTINUOUS
に設定する場合は、spec.deploymentSpec.mongoDBMajorVersion
パラメータを省略する必要があります。
spec.externalProjectRef.id
型: string
条件付き
配置が属するプロジェクトのID 。 既存の Atlas プロジェクト のプロジェクトIDを指定する必要があります。このパラメーターは、次のいずれかによって管理されるプロジェクトに属する配置に必要です。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール
Atlas Kubernetes Operator の同じインスタンスによって管理されるプロジェクトに属する配置では、
spec.externalProjectRef.id
を使用しない場合はspec.projectRef.name
を使用します。
spec.processArgs
型: オブジェクト
任意
クラスターの追加構成オプションを含むオブジェクト。
spec.processArgs.defaultReadConcern
型: string
任意
このクラスターの読み取り操作に対して MongoDB から要求される確認応答のデフォルト レベルを示す string。
MongoDB 5.0クラスターのデフォルトはローカルです。
spec.processArgs.defaultWriteConcern
型: string
任意
このクラスターに対して設定された書込み (write) 操作に対して MongoDB から要求される確認応答のデフォルト レベルを示す string。
MongoDB バージョン5.0以降のクラスターのデフォルトは過半数です。
spec.processArgs.failIndexKeyTooLong
タイプ: ブール値
任意
すべてのインデックスエントリが1024バイトを超えるドキュメントを挿入または更新するときに、操作を失敗させエラーを返すかどうかを示すフラグ。 これを
false
に設定すると、mongod
はこの制限を超えるドキュメントを書込みますが、インデックスは作成しません。このオプションは
param.failIndexKeyTooLong
mongod
パラメータに相当します。
spec.processArgs.javascriptEnabled
タイプ: ブール値
任意
クラスターが JavaScript のサーバー側実行を実行する操作の実行を許可するかどうかを示すフラグ。
このオプションは、クラスター内の各 と
security.javascriptEnabled
mongod
mongos
の 構成ファイル オプションの変更に対応します。
spec.processArgs.minimumEnabledTlsProtocol
タイプ: 整数
任意
着信接続に対してクラスターが許可する最小TLSバージョンを示す string。 TLS 1.0 または 1.1 を使用するクラスターでは、 TLS プロトコルの最小バージョンとして TLS 1.2 を設定することを検討する必要があります。
詳細については、「 Atlas はどのバージョンの TLS をサポートしていますか 」を参照してください。
このオプションは、
net.ssl.disabledProtocols
mongod
構成ファイル オプションに相当します。
spec.processArgs.noTableScan
タイプ: ブール値
任意
結果を返すためにコレクションスキャンが必要なクエリについて、クラスターで実行が無効化されているかどうかを示すフラグ。
このオプションは
notablescan
mongod
パラメーターに相当します。
spec.processArgs.oplogSizeMB
タイプ: 整数
任意
クラスターの oplog のストレージ制限をメガバイト単位で示す数値。
null
の値は、Atlas が計算するデフォルトの oplog サイズをクラスターが使用することを示します。このオプションは、
replication.oplogSizeMB
mongod
構成ファイル オプションに相当します。
spec.processArgs.sampleRefreshIntervalBIConnector
タイプ: 整数
任意
スキーマ情報の収集時にサンプリングするデータベースあたりのドキュメント数を示す数値。
このパラメーターは、 sampleSize mongosqldオプションに対応します。
spec.processArgs.sampleSizeBIConnector
タイプ: 整数
任意
mongosqld プロセスがデータを再サンプリングしてリレーショナル スキーマを作成する間隔を秒単位で示す数値。
このパラメーターは、 sampleRefreshIntervalSecs mongosqldオプションに対応します。
spec.projectRef.name
型: string
条件付き
配置が属するプロジェクトの名前。 既存の
AtlasProject
カスタム リソース を指定する必要があります。このパラメーターは、同じインスタンスAtlas Kubernetes Operator によって管理されるプロジェクトに属する配置にのみ適用されます。次のいずれかによって管理されるプロジェクトに属する配置の場合、次のいずれかによって管理されます。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール
spec.externalProjectRef.id
を使用します。
spec.serverlessSpec
タイプ: 配列
条件付き
APIからのサーバーレスインスタンスパラメーターが格納されたリスト。使用可能なパラメーターの完全なリストについては、 Atlas Serverless Instances APIを参照してください。
重要
構成で
spec.deploymentSpec
またはspec.serverlessSpec
を指定する必要があります。
spec.serverlessSpec.providerSettings
型: オブジェクト
条件付き
MongoDBが実行されるプロビジョニングされたホストの 設定を指定する構成。利用可能なオプションは、クラウドサービス プロバイダーに固有です。詳しくは、 AWS 、 GCP 、 Azure Serverlessインスタンスの構成オプション を参照してください。
サーバーレスインスタンスを作成または更新する場合は、この設定を指定する必要があります。
重要
次の設定は非推奨であり、将来のリリースで削除される予定です。
spec.serverlessSpec.providerSettings.DiskIOPS
spec.serverlessSpec.providerSettings.DiskTypeName
spec.serverlessSpec.providerSettings.EncryptEBSVolume
spec.serverlessSpec.providerSettings.InstanceSizeName
spec.serverlessSpec.providerSettings.VolumeType
spec.serverlessSpec.providerSettings.AutoScaling
これらの設定のいずれかに値を指定しても効果はありません。
spec.serverlessSpec.providerSettings.providerName
型: string
条件付き
Atlas が サーバーレスインスタンスのホストをプロビジョニングするクラウド サービス プロバイダー。
Atlas は次の値を受け入れます。
Amazon Web Services
Amazon Amazon Web Services
GCP
Google Cloud Platform
Azure
Microsoft Azure
spec.serverlessSpec.providerSettings.regionName
型: string
条件付き
MongoDBサーバーレスインスタンスの物理的なロケーション。選択したリージョンは、データベースにアクセスするクライアントのネットワークレイテンシに影響する可能性があります。
リージョン名の値の完全なリストについては、クラウドプロバイダーのリファレンス ページを参照してください。
spec.serverlessSpec.tags
タイプ: 配列
任意
データベース配置をよりよく理解、整理し、識別するためのタグ(キーと値のペア)を含むリスト。 詳細については、「クラスターのタグ 」を参照してください。
status.connectionStrings
タイプ: 配列
必須
クラスターにアクセスするための接続 URL が格納されたリスト。 このパラメーターは、クラスターを作成またはアップデートした後に表示されます。
注意
接続 URL を直接使用することはできません。 Atlas クラスターには認証が必要です。 Kubernetes クラスター内のアプリケーションが Atlas クラスターに接続する前に、少なくとも 1 つの
AtlasDatabaseUser
カスタム リソースを作成する必要があります。 Atlas Kubernetes Operator が特別な シークレット を作成 プロジェクト内の各クラスターとデータベースユーザーの組み合わせに対して 。Kubernetes クラスター内のアプリケーションは、この シークレット を使用できます Atlas クラスターに接続するためにAtlasDatabaseUser
カスタム リソースのspec.scopes
パラメータは、データベースユーザーを作成するクラスターを制限します。
APIからクラスターで利用可能な構成パラメーターについては、「 Atlas Clusters API 」を参照してください。
注意
次のパラメータは Atlas APIでは非推奨となり、Atlas Kubernetes Operator はそれらをサポートしていません。
replicationSpec
replicationFactor