Menu Docs
Página inicial do Docs
/ /
Kubernetes Operator do MongoDB Atlas

Configurar Data Federation

Nesta página

  • Pré-requisitos
  • Procedimento
  • Crie o papel do Amazon Web Services IAM no Atlas
  • Modifique sua política de confiança de role do AWS IAM.
  • Crie o recurso personalizado do AtlasDataFederation .
  • Verifique o status da sua instância do banco de dados federado.
  • Dê os próximos passos

Este tutorial demonstra como criar uma instância do banco de dados federado no Atlas a partir de arquivos de configuração do Kubernetes com o Atlas Kubernetes Operator. A instância do banco de dados federado neste tutorial conecta um bucket AWS S3 e um cluster Atlas.

Este tutorial requer:

Importante

Os Recursos Personalizados Não Excluem Mais Objetos por Padrão

  • O Atlas Kubernetes Operator usa arquivos de configuração de recurso personalizado para gerenciar sua configuração do Atlas , mas a partir do Atlas Kubernetes Operator 2.0, os recursos personalizados que você exclui no Kubernetes não são mais (por padrão) excluídos no Atlas. Em vez disso, o Atlas Kubernetes Operator simplesmente para de gerenciar estes recursos no Atlas. Por exemplo, se você excluir um AtlasProject Recurso Personalizado no Kubernetes, por padrão, o Atlas Kubernetes Operator não excluirá mais automaticamente o projeto correspondente do Atlas. Essa mudança no comportamento destina-se a ajudar a evitar exclusões acidentais ou inesperadas. Para saber mais, incluindo como reverter este comportamento para o padrão utilizado antes do Atlas Kubernetes Operator 2.,0 consulte Novo padrão: proteção de exclusão no Atlas Kubernetes 2 Operator.0.

    Da mesma forma, o Atlas Kubernetes Operator não exclui equipes do Atlas se você as remover de um projeto do Atlas no Kubernetes com o Atlas Kubernetes Operator.

  • Defina explicitamente os detalhes de configuração desejados para evitar o uso implícito de valores de configuração padrão do Atlas . Em alguns casos, herdar os padrões do Atlas pode resultar em um loop de reconciliação que pode impedir que seu recurso personalizado atinja um estado READY. Por exemplo, definir explicitamente o comportamento de autoscaling desejado em seu recurso personalizado AtlasDeployment, conforme mostrado no exemplo incluído, garante que um tamanho de instância estática em seu recurso personalizado não esteja sendo aplicado repetidamente a um sistema do Atlas que tenha o autoscaling ativado.

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40
1
  1. Execute o seguinte comando do Atlas CLI para criar o novo papel AWS IAM no Atlas. Substitua o seguinte espaço reservado pelo seu valor:

    Espaço reservado
    Descrição

    PROJECT-ID

    Sequência hexadecimal única de 24 caracteres que identifica o projeto Atlas a ser usado.

    atlas cloudProviders accessRoles aws create --projectId <PROJECT-ID>
  2. Observe os valores de campo retornados RoleID, Atlas AWS Account ARN e Unique External ID:

    AWS IAM role '<RoleID>' successfully created.
    Atlas AWS Account ARN: <AtlasAWSAccountARN>
    Unique External ID: <AtlasAssumedRoleExternalID>
2
  1. Faça login no Console de gerenciamento da AWS .

  2. Navegue até o serviço Identity and Access Management (IAM) .

  3. Selecione Roles na navegação do lado esquerdo.

  4. Clique no papel IAM existente que você deseja utilizar para acesso do Atlas a partir da lista de papéis.

  5. Selecione a guia Trust Relationships.

  6. Clique no botão Edit trust relationship.

  7. Edite o Policy Document. Adicione um novo objeto Statement com o seguinte conteúdo.

    Observação

    Substitua as linhas destacadas por valores gerados na etapa anterior.

    {
    "Version":"2012-10-17",
    "Statement":[
    {
    "Effect":"Allow",
    "Principal":{
    "AWS":"<atlasAWSAccountArn>"
    },
    "Action":"sts:AssumeRole",
    "Condition":{
    "StringEquals":{
    "sts:ExternalId":"<atlasAssumedRoleExternalId>"
    }
    }
    }
    ]
    }
  8. Clique no botão Update Trust Policy.

3

Execute o seguinte comando para criar o Recurso PersonalizadoAtlasDataFederation . O roleId deve corresponder ao valor retornado para RoleID na etapa anterior e o spec.projectRef.name deve corresponder ao nome do seu Recurso PersonalizadoAtlasProject :

cat <<EOF | kubectl apply -f -
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
EOF
4

Execute o seguinte comando até receber uma resposta do True , que indica que o trigger de reconhecimento de data center está pronto:

kubectl get atlasdatafederation my-federated-deployment -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}'

Para configurar endpoints privados para sua instância do banco de dados federado, consulte Gerenciar endpoints privados.

Voltar

Importar projetos