Docs Menu
Docs Home
/
Atlas オープン サービス ブロック
/

シャーディングされたクラスターの配置

重要

Atlas Open Service Blog は非推奨です。代わりに、MongoDB Atlas演算子 を使用してください。

シャーディングされたクラスターは、大規模なデータセットの水平スケーリングを提供し、データセットをサーバーのグループ全体に分散することで高スループット操作を可能にします。

シャーディングの詳細については、 MongoDBマニュアルの シャーディングの概要 を参照してください。

Atlas が管理できる新しいシャーディングされたクラスターを配置するには、Atlas Open Service Blog と Kubernetes を使用します。 配置後、Atlas を使用してシャードを追加し、クラスターでその他のメンテナンス操作を実行します。

Atlas のシャーディングされたクラスターは、オブジェクトを定義して作成します。.Kubernetesオブジェクトを使用してシャーディングされたクラスターを配置するには、まず Atlas Open Service ブロックをインストールする 必要があります。

Atlas Open Service ブロックは、Atlas APIの クラスターの作成 エンドポイントを使用して、シャーディングされたクラスターを配置します。そのAPIの要件または制限は、Atlas Open Service ブロックにも適用されます。

1
  1. Atlas Open Service Blocker インスタンスのスコープに基づいて、次のリソース定義の例の 1 つをコピーします。

    Atlas Open Service Blog インスタンスを次のように登録した場合、

    • ClusterServiceBrokerで、クラスタースコープのインスタンス タブを選択します。

    • ServiceBrokerで、名前空間スコープのインスタンス タブを選択します。


    次の YAML ファイルをコピーします。これは、必要な構成に合わせて変更できます。

    1apiVersion: servicecatalog.k8s.io/v1beta1
    2kind: ServiceInstance
    3metadata:
    4 name: <CLUSTER_NAME>
    5 namespace: <NAMESPACE>
    6spec:
    7 clusterServiceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS>
    8 clusterServicePlanExternalName: <INSTANCE_SIZE_PLAN>
    9 parameters:
    10 cluster:
    11 numShards: <NUMBER_OF_SHARDS>
    12 providerSettings:
    13 regionName: <ATLAS_REGION>

    次の YAML ファイルをコピーします。これは、必要な構成に合わせて変更できます。

    1apiVersion: servicecatalog.k8s.io/v1beta1
    2kind: ServiceInstance
    3metadata:
    4 name: <CLUSTER_NAME>
    5 namespace: <NAMESPACE>
    6spec:
    7 serviceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS>
    8 servicePlanExternalName: <INSTANCE_SIZE_PLAN>
    9 parameters:
    10 cluster:
    11 numShards: <NUMBER_OF_SHARDS>
    12 providerSettings:
    13 regionName: <ATLAS_REGION>
  2. テキスト エディターを開き、リソース定義を新しいテキスト ファイルに貼り付けます。

2

シャーディングされたクラスターを配置するには、次の設定を指定する必要があります。

キー
説明

metadata.name

Kubernetes内のクラスターの名前。Atlas は、対応する Atlas クラスター名をランダムに生成します。

my-atlas-cluster

metadata.namespace

このクラスターが作成されるKubernetes名前空間。

atlas

spec.clusterServiceClassExternalName

Atlasクラウドサービス プロバイダーに対応するKubernetesクラス。

次のコマンドを呼び出して、利用可能なクラスを表示します。

svcat marketplace -n <NAMESPACE>

クラス名は、コマンド出力の CLASS 列に表示されます。

mongodb-atlas-aws

spec.clusterServicePlanExternalName

必要な Atlasインスタンスサイズに対応するKubernetesサービス プラン。

次のコマンドを呼び出して、利用可能なプランを表示します。

svcat marketplace -n <NAMESPACE>

プラン名は、コマンド出力の PLANS 列に表示されます。

M30

spec.parameters.cluster
.numShards

シャーディングされたクラスター内の シャード の数。

3

spec.parameters.cluster
.providerSettings.regionName

クラスターが作成される Atlas リージョン。

重要

目的のリージョンに、クラウドプロバイダーのリージョン名ではなく、Atlas リージョン名を使用していることを確認してください。選択したリージョンがクラスター サイズをサポートしていることを確認します。

利用可能なリージョンのリストについては、クラウドサービス プロバイダーの Atlas ドキュメントを参照してください。

EU_CENTRAL_1

キー
説明

metadata.name

Kubernetes内のクラスターの名前。Atlas は、対応する Atlas クラスター名をランダムに生成します。

my-atlas-cluster

metadata.namespace

このクラスターが作成されるKubernetes名前空間。

atlas

spec.serviceClassExternalName

Atlasクラウドサービス プロバイダーに対応するKubernetesクラス。

次のコマンドを呼び出して、利用可能なクラスを表示します。

svcat marketplace -n <NAMESPACE>

クラス名は、コマンド出力の CLASS 列に表示されます。

mongodb-atlas-aws

spec.servicePlanExternalName

必要な Atlasインスタンスサイズに対応するKubernetesサービス プラン。

次のコマンドを呼び出して、利用可能なプランを表示します。

svcat marketplace -n <NAMESPACE>

プラン名は、コマンド出力の PLANS 列に表示されます。

M30

spec.parameters.cluster
.numShards

シャーディングされたクラスター内の シャード の数。

3

spec.parameters.cluster
.providerSettings.regionName

クラスターが作成される Atlas リージョン。

重要

目的のリージョンに、クラウドプロバイダーのリージョン名ではなく、Atlas リージョン名を使用していることを確認してください。選択したリージョンがクラスター サイズをサポートしていることを確認します。

利用可能なリージョンのリストについては、クラウドサービス プロバイダーの Atlas ドキュメントを参照してください。

EU_CENTRAL_1

3

spec.parameters.cluster キーの下で追加のクラスター設定を指定できます。これらの設定は、 クラスターAPIメソッドのリクエスト本文パラメーターに対応します。

重要

次のAPIパラメーターは、前のステップの必須 Atlas Open Service Blocker 設定によって上書きされるため、指定しないでください。

  • providerSettings.instanceSizeName

  • providerSettings.providerName

  • name

このリソース定義の例では、 my-sharded-clusteratlas名前空間に次の構成を持つ というシャーディングされたクラスターを作成します。

  • クラスタースコープの(ClusterServiceBroker)Atlas Open Service Blog によって管理

  • クラウドサービス プロバイダーとしてのAmazon Web Services

  • のインスタンスサイズ M30

  • 3 つのシャードで構成

  • EU(フランクフルト)リージョン内にあります

  • オートスケーリングが無効

  • Atlas クラウドプロバイダーのスナップショットが有効

apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceInstance
metadata:
name: my-sharded-cluster
namespace: atlas
spec:
clusterServiceClassExternalName: mongodb-atlas-aws
clusterServicePlanExternalName: M30
parameters:
cluster:
numShards: 3
providerSettings:
regionName: EU_CENTRAL_1
autoscaling:
diskGBEnabled: false
providerBackupEnabled: true

このリソース定義の例では、 my-sharded-clusteratlas名前空間に次の構成を持つ というシャーディングされたクラスターを作成します。

  • 名前空間スコープの(ServiceBroker)Atlas Open Service Blog によって管理

  • クラウドサービス プロバイダーとしてのAmazon Web Services

  • のインスタンスサイズ M30

  • 3 つのシャードで構成

  • EU(フランクフルト)リージョン内にあります

  • オートスケーリングが無効

  • Atlas クラウドプロバイダーのスナップショットが有効

apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceInstance
metadata:
name: my-sharded-cluster
namespace: atlas
spec:
serviceClassExternalName: mongodb-atlas-aws
servicePlanExternalName: M30
parameters:
cluster:
numShards: 3
providerSettings:
regionName: EU_CENTRAL_1
autoscaling:
diskGBEnabled: false
providerBackupEnabled: true
4
5

次のKubernetesコマンドを呼び出して、シャーディングされたクラスターを作成します。

kubectl apply -f sharded-cluster.yaml
6

配置のステータスを表示するには、metadata.name からのsharded-cluster.yaml を次のコマンドに渡します。

svcat describe instance <METADATA.NAME> -n <NAMESPACE>

シャーディングされたクラスターが配置されているときに、 コマンドは次のステータスを返します。

Provisioning - The instance is being provisioned asynchronously

シャーディングされたクラスターが正常に配置されると、 コマンドは次のステータスを返します。

Ready - The instance was provisioned successfully

戻る

レプリカセットの配置

項目一覧