Pular para o conteúdo principal

Criar um workspace usando a conta API

nota

Essas instruções se aplicam a contas criadas antes de 8 de novembro de 2023. Se o seu Databricks account foi criado após 8 de novembro de 2023, consulte Create workspace API .

Este artigo ensina o senhor a criar um workspace usando a conta API. Também é possível criar um espaço de trabalho usando o AWS Quick começar padrão, o console account ou Terraform.

O senhor deve usar a conta API para criar o espaço de trabalho se quiser usar a chave de cliente-gerenciar para o serviço gerenciado ou AWS PrivateLink.

Antes de começar

  • Verifique se o senhor tem acesso ao seu account ID.

  • Determine se o workspace ativará os seguintes recursos:

    • Cliente-gerenciar VPC : Forneça seu próprio Amazon Virtual Public Cloud (VPC) se o senhor quiser usar o AWS PrivateLink para qualquer tipo de conexão.

    • Chave gerenciada pelo cliente para criptografia :

      • Chave do cliente para gerenciar o serviço gerenciado no plano de controle : Fornecer a chave KMS para criptografar o Notebook e os dados secretos no plano de controle Databricks-gerenciar.
      • Chave gerenciadora de workspace clientes para o armazenamento: Forneça a KMS chave para criptografar o workspace S3 bucket de(o workspace DBFS root, os resultados do trabalho e outros) e, opcionalmente, os volumes EBS do nó de cluster.
    • AWS PrivateLink : AWS O PrivateLink fornece conectividade privada de AWS VPCs e redes locais para AWS serviço sem expor o tráfego à rede pública.

  • Determine as regiões a serem usadas para o workspace compute plano 'sVPC(). A região do plano de controle é determinada pela região do plano compute.

    workspace compute VPCs de plano podem estar nas regiões AWS ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-west-1, eu-west-2, eu-central-1, us-east-1, us-east-2, us-west-1 e us-west-2. No entanto, o senhor não pode usar VPC em us-west-1 se quiser usar a chave gerenciar-cliente para criptografia.

Como usar a conta API

Para se autenticar na conta API, o senhor pode usar Databricks OAuth para entidade de serviço ou Databricks OAuth para usuários. Databricks Recomendamos enfaticamente que o senhor use o site Databricks OAuth para usuários ou entidades de serviço. Uma entidade de serviço é uma identidade que o senhor cria em Databricks para uso com ferramentas, trabalhos e aplicativos automatizados. Consulte Autorizar o acesso autônomo a Databricks recurso com uma entidade de serviço usando OAuth.

Use os exemplos a seguir para se autenticar em um site Databricks account. O senhor pode usar OAuth para entidade de serviço ou OAuth para usuários. Para obter informações básicas, consulte:

nota

A autenticação básica usando um nome de usuário e senha da Databricks chegou ao fim da vida útil em 10 de julho de 2024. Consulte End of life para Databricks-gerenciar senhas.

Para exemplos de autenticação, escolha uma das seguintes opções:

  1. Install Databricks CLI version 0.205 or above. See Install or update the Databricks CLI.

  2. Complete the steps to configure OAuth M2M authentication for service principals in the account. See Authorize unattended access to Databricks resources with a service principal using OAuth.

  3. Identify or manually create a Databricks configuration profile in your .databrickscfg file, with the profile’s fields set correctly for the related host, account_id, and client_id and client_secret mapping to the service principal. See OAuth machine-to-machine (M2M) authentication.

  4. Run your target Databricks CLI command, where <profile-name> represents the name of the configuration profile in your .databrickscfg file:

    Bash
    databricks account <command-name> <subcommand-name> -p <profile-name>

    For example, to list all users in the account:

    Bash
    databricks account users list -p MY-AWS-ACCOUNT
    • For a list of available account commands, run the command databricks account -h.
    • For a list of available subcommands for an account command, run the command databricks account <command-name> -h.

Etapa 1: Configurar a autenticação entreaccount

Os Databricks precisam ter acesso a uma função de IAM de serviço entre contas em sua conta AWS para que os Databricks possam implementar clusters no VPC apropriado para o novo workspace.

  1. Se essa função ainda não existir, consulte Criar uma implantação IAM role for workspace para criar uma função e uma política apropriadas para o seu tipo de implantação. O senhor fornecerá o ARN para sua nova função ( role_arn) mais adiante neste procedimento.
nota

Você pode compartilhar uma IAM role entre contas com vários workspace. Você não é obrigado a criar uma nova IAM role entre contas para cada workspace. Se você já tiver uma IAM role entre contas, pode pular esta passo.

  1. Crie um ID de configuração de credenciais do Databricks para sua função do AWS. Chame a API de configuração de credenciais Create (POST /accounts/<databricks-account-id>/credentials). Essa solicitação estabelece a confiança entreaccount e retorna um ID de referência a ser usado quando o senhor criar um novo workspace.
nota

Você pode compartilhar um ID de configuração de credenciais com vários workspace. Não é necessário criar um novo para cada workspace. Se você já tiver um, pode pular esta etapa.

Substitua <databricks-account-id> pelo seu Databricks account ID. Para autenticação, consulte Como usar a conta API. No corpo da solicitação:

  • Configure o credentials_name para um nome para estas credenciais. O nome deve ser exclusivo em sua conta.

  • aws_credentials Defina como um objeto que contém uma sts_role propriedade. Esse objeto deve conter uma role_arn propriedade que especifique o ARN da função da AWS para a função que você criou.

O corpo da resposta incluirá um campo credentials_id, que é a ID de configuração de credenciais do Databricks que você precisa para criar o novo workspace. Copie e salve esse valor, que você usará em uma passo posterior para criar o workspace.

Por exemplo:

Bash
 curl -X POST
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/credentials' \
--header 'Authorization: Bearer $OAUTH_TOKEN' \
-d '{
"credentials_name": "databricks-workspace-credentials-v1",
"aws_credentials": {
"sts_role": {
"role_arn": "arn:aws:iam::<aws-account-id>:role/my-company-example-role"
}
}
}'

Resposta de exemplo:

JSON
{
"credentials_id": "<databricks-credentials-id>",
"account_id": "<databricks-account-id>",
"aws_credentials": {
"sts_role": {
"role_arn": "arn:aws:iam::<aws-account-id>:role/my-company-example-role",
"external_id": "<databricks-account-id>"
}
},
"credentials_name": "databricks-workspace-credentials-v1",
"creation_time": 1579753556257
}

Copie o campo credentials_id da resposta para uso posterior.

Etapa 2: configurar o armazenamento raiz

O bucket de armazenamento raiz S3 em sua conta guarda objetos como logs de clusters, revisões de notebooks e resultados de trabalhos.Você também pode usar o bucket de armazenamento raiz S3 para armazenar dados que não sejam de produção, como os dados necessários para testes.

nota

Você pode compartilhar um bucket raiz do S3 com vários workspace em uma única account. Você não precisa criar novos depósitos para cada workspace. Se você compartilhar um bucket raiz S3 para vários workspaces em uma conta, os dados no bucket raiz S3 serão particionados em diretórios separados por workspace. Se você já tiver um bucket e um ID de configuração de armazenamento associado gerado pela API da account , poderá pular esta passo. No entanto, não reutilize um bucket do workspace legacy. Por exemplo, se você estiver migrando para o E2, crie um novo bucket da AWS para sua configuração do E2.

  1. Crie o S3 bucket raiz usando as instruções em Create an S3 bucket for workspace deployment (Criar um bucket para implantação).

  2. Crie um registro de configuração de armazenamento que represente o bucket S3 raiz. Especifique o nome do seu bucket S3 raiz chamando a API de configuração de armazenamento de criação (POST /accounts/<account-id>/storage-configurations).

    O pedido retorna uma ID de configuração de armazenamento que representa o seu bucket S3.

    Passe o seguinte:

    • storage_configuration_name: Novo nome de configuração de armazenamento exclusivo.
    • root_bucket_info: Um objeto JSON que contém um campo bucket_name que contém seu nome do bucket S3.

    O corpo da resposta inclui uma propriedade storage_configuration_id , que é o ID de configuração de armazenamento do bloco. Copie esse valor para uso posterior.

    Por exemplo:

    Bash
    curl -X POST
    'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/storage-configurations' \
    --header 'Authorization: Bearer $OAUTH_TOKEN' \
    -d '{
    "storage_configuration_name": "databricks-workspace-storageconf-v1",
    "root_bucket_info": {
    "bucket_name": "my-company-example-bucket"
    }
    }'

    Resposta:

    JSON
    {
    "storage_configuration_id": "<databricks-storage-config-id>",
    "account_id": "<databricks-account-id>",
    "root_bucket_info": {
    "bucket_name": "my-company-example-bucket"
    },
    "storage_configuration_name": "databricks-workspace-storageconf-v1",
    "creation_time": 1579754875555
    }

Essa etapa é necessária somente se o senhor quiser usar o AWS PrivateLink.

A AWS PrivateLink oferece conectividade privada entre sua VPC da AWS e redes locais com serviços da AWS, sem expor o tráfego à rede pública.

Databricks O espaço de trabalho do senhor suporta a adição de conexões PrivateLink para dois tipos de conexão:

  • Do usuário para o workspace (front-end)
  • plano de computação para plano de controle (back-end)

Para conexões PrivateLink para um novo workspace:

  1. Leia atentamente os artigos AWS PrivateLink e confirme os pré-requisitos antes de prosseguir.

    1. Crie seu endpoint AWS VPC no console AWS ou com ferramentas de automação. Consulte a Etapa 2: Criar o endpoint VPC.
    2. Revise Habilite a conectividade privada usando o AWS PrivateLink para criar registros de endpoint de VPC, configurações de rede e objetos de configurações de acesso privado.
  2. Continue para a próxima passo neste artigo. Se você deseja implementar qualquer tipo de conexão PrivateLink (incluindo apenas front-end), deve usar uma VPC para gerar o cliente.

Em default, Databricks cria um VPC em seu AWS account para cada workspace. Databricks O senhor o utiliza para clusters em execução no site workspace. Opcionalmente, o senhor pode usar seu próprio VPC para o workspace, usando o recurso customer-gerenciar VPC. A Databricks recomenda que o senhor forneça seu próprio VPC para que possa configurá-lo de acordo com os padrões de nuvem corporativa da sua organização e, ao mesmo tempo, estar em conformidade com os requisitos da Databricks. O senhor não pode migrar um workspace existente para o seu próprio VPC.

important

Para configurar seu workspace para usar Habilitar conectividade privada usando o AWS PrivateLink para qualquer tipo de conexão (incluindo somente front-end), seu workspace deve usar um gerenciador de clientes VPC.

  1. Configure o site VPC, as sub-redes e os grupos de segurança, usando as instruções em Configure a customer-gerenciar VPC. Copie os IDs de cada um desses objetos para a próxima etapa, na qual o senhor os registrará com Databricks e obterá um ID de rede para representar a nova rede.
important

Se o senhor planeja compartilhar um VPC e sub-redes em vários espaços de trabalho, certifique-se de dimensionar o VPC e as sub-redes para que sejam grandes o suficiente para acompanhar o uso. O senhor não pode reutilizar um objeto de configuração de rede em um espaço de trabalho.

  1. Para registrar sua configuração de rede com Databricks, chame a opção create network configuration API (POST /accounts/<account-id>/networks).

    Passe o seguinte:

    • network_name: Novo nome de rede exclusivo.

    • vpc_id: VPC ID.

    • subnet_ids: IDs de sub-rede, como um array.

    • security_group_ids: IDs do grupo de segurança, como um array.

    • vpc_endpoints: Usado apenas para o AWS PrivateLink. Necessário se o senhor estiver implantando uma conexão PrivateLink de back-end (planocompute para plano de controle); nesse caso, esse objeto deve ter duas propriedades que fazem referência a registros VPC endpoint registrados.

      • rest_api: Defina isso como uma matriz JSON contendo apenas o ID Databricks do seu registro workspace VPC endpoint . Este é o ID de registro Databricks VPC endpoint , não o AWS VPC endpoint ID.
important

Nesta versão, após registrar um VPC endpoint para o serviço do workspace do VPC endpoint para uma conexão front-end ou conexão de REST API de back-end para qualquer workspace, o Databricks habilita o acesso de front-end (aplicação web e REST API) a partir desse VPC endpoint para todos os workspaces habilitados para o PrivateLink em sua conta Databricks naquela região da AWS.

  • dataplane_relay: Defina isso como uma matriz JSON contendo apenas a ID Databricks para o registro de conectividade de clustering seguro VPC endpoint . Este é o ID de registro Databricks VPC endpoint , não o AWS VPC endpoint ID.

Para obter mais detalhes sobre esses objetos, consulte Habilitar a conectividade privada usando o AWS PrivateLink. Essas IDs foram retornadas durante o registro do endpoint VPC, conforme descrito em Habilitar conectividade privada usando o AWS PrivateLink.

Por exemplo:

Bash
curl -X POST
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks' \
--header 'Authorization: Bearer $OAUTH_TOKEN' \
-d '{
"network_name": "mycompany-vpc-example",
"vpc_id": "<aws-vpc-id>",
"subnet_ids": [
"<aws-subnet-id-1>",
"<aws-subnet-id-2>"
],
"security_group_ids": [
"<aws-security-group-id>"
],
"vpc_endpoints": {
"dataplane_relay": [
"<databricks-vpce-id-for-scc>"
],
"rest_api": [
"<databricks-vpce-id-for-rest-apis>"
]
}
}'
  1. Copie network_id do corpo da resposta para uso posterior. Este é o ID de rede que representa a rede do seu novo workspace.

    Resposta de exemplo:

    JSON
    {
    "network_id": "<databricks-network-id>",
    "account_id": "<databricks-account-id>",
    "vpc_id": "<aws-vpc-id>",
    "subnet_ids": ["<aws-subnet-id-1>", "<aws-subnet-id-2>"],
    "security_group_ids": ["<aws-security-group-id>"],
    "vpc_status": "UNATTACHED",
    "network_name": "mycompany-vpc-example",
    "creation_time": 1579767389544,
    "vpc_endpoints": {
    "dataplane_relay": ["<databricks-vpce-id-for-scc>"],
    "rest_api": ["<databricks-vpce-id-for-rest-apis>"]
    }
    }

Etapa 5: Configurar a chave do gerenciador de clientes (opcional)

important
  • Este recurso exige que sua conta esteja no nível de preço Enterprise.
  • workspace compute VPCs de plano podem estar nas regiões AWS ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-west-1, eu-west-2, eu-central-1, us-east-1, us-east-2, us-west-1 e us-west-2. No entanto, o senhor não pode usar VPC em us-west-1 se quiser usar a chave gerenciar-cliente para criptografia.

Há dois casos de uso para a chave de criptografia gerenciada pelo cliente:

  • Criptografar o serviço gerenciado, que inclui o Notebook e os dados secretos no plano de controle.
  • Criptografar workspace o armazenamento, que inclui o workspace S3 bucket raiz do e, opcionalmente, os volumes EBS em cluster.

Você pode optar por não configurar nenhum, um ou ambos. Se você optar por implementar criptografia para ambos os casos de uso, é possível compartilhar opcionalmente uma chave e, até mesmo, opcionalmente, o mesmo objeto de configuração para esses casos de uso.

Para ambos os casos de uso, o senhor pode configurá-lo durante a criação do workspace ou adicionar o key a um workspace em execução. Para um cliente gerenciar key para serviço gerenciado, o senhor pode girar (atualizar) o key posteriormente. Para um cliente gerenciar key para armazenamento, o senhor não pode girar o key posteriormente.

Você pode compartilhar uma chave gerenciada pelo cliente ou seu objeto de configuração de chave entre workspaces. Ao criar um novo workspace, uma configuração de chave pode representar ambos os casos de uso de criptografia, definindo seu campo use_cases para incluir ambos os valores de enumeração.

nota

Para adicionar um armazenamento workspace key a um workspace existente que já usa a criptografia do Notebook, o senhor deve criar um novo objeto de configuração key para o armazenamento workspace. Consulte Configurar chave gerenciadora de clientes para criptografia.

Para implementar um caso de uso de criptografia ou ambos os casos de uso de criptografia com a mesma chave, execute o procedimento a seguir exatamente uma vez. Para adicionar criptografia para ambos os casos de uso de criptografia com chaves diferentes, execute o procedimento duas vezes, uma para cada caso de uso.

  1. Crie o site AWS KMS key. Siga as instruções em uma das seções a seguir, que diferem apenas no campo de descrição legível por humanos (sid) na política para identificar o caso de uso. Consulte a Etapa 1: Criar ou selecionar um key em AWS KMS . Para compartilhar o key e a configuração de ambos os casos de uso, atualize o campo sid adequadamente.

  2. Para registrar seu KMS key com Databricks, chame a configuração create customer-gerenciar key API (POST /accounts/<account-id>/customer-managed-keys).

    Passe os seguintes parâmetros:

    • use_cases — Uma matriz que especifica os casos de uso para os quais utilizar a chave, especifique um ou ambos os seguintes:

      • MANAGED_SERVICES: Este key criptografa o serviço gerenciado no plano de controle, que inclui o Notebook e os dados secretos no plano de controle.
      • STORAGE: Este key criptografa workspace o armazenamento, que inclui os workspace DBFS root volumes e EBS de clustering do.
    • aws_key_info: Um objeto JSON com as seguintes propriedades:

      • key_arn: Chave ARN do AWS KMS. Observe que o Databricks infere a região da AWS a partir da chave ARN.
      • key_alias: ( Opcional ) pseudônimo da chave AWS KMS.
      • reuse_key_for_cluster_volumes (Opcional ) Usado somente se o array use_cases contiver STORAGE, especifica se o key também deve ser usado para criptografar volumes de EBS em cluster. O valor de default é true, o que significa que Databricks também usa o key para clusterizar volumes. Se o senhor definir essa opção como false, o site Databricks não criptografará os volumes do EBS com o key especificado. Nesse caso, os Databricks volumes do EBS são criptografados com a default AWS criptografia SSE ou, se o senhor tiver AWS accountativado a criptografia EBS de nível por meio default do, oAWS aplicará accounta criptografia EBS de nível usando um separado key que o senhor forneceu a ele. Observe que se reuse_key_for_cluster_volumes for true e o senhor revogar a permissão para o key, isso não afetará os clusters em execução, mas afetará os clusters novos e reiniciados.

    Exemplo de solicitação:

    Bash
    curl -X POST
    'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/customer-managed-keys' \
    --header 'Authorization: Bearer $OAUTH_TOKEN' \
    -d '{
    "use_cases": ["MANAGED_SERVICES", "STORAGE"],
    "aws_key_info": {
    "key_arn": "arn:aws:kms:us-west-2:<aws-account-id>:key/<key-id>",
    "key_alias": "my-example-key",
    "reuse_key_for_cluster_volumes": true
    }
    }'

    Resposta de exemplo:

    JSON
    {
    "use_cases": ["MANAGED_SERVICES", "STORAGE"],
    "customer_managed_key_id": "<aws-kms-key-id>",
    "creation_time": 1586447506984,
    "account_id": "<databricks-account-id>",
    "aws_key_info": {
    "key_arn": "arn:aws:kms:us-west-2:<aws-account-id>:key/<key-id>",
    "key_alias": "my-example-key",
    "reuse_key_for_cluster_volumes": true,
    "key_region": "us-west-2"
    }
    }
  3. No JSON de resposta, copie o customer_managed_key_id. Você usa esse ID na próxima passo para definir a propriedade managed_services_customer_managed_key_id, storage_customer_managed_key_id ou ambas do objeto de configuração workspace, dependendo de quais casos de uso de criptografia esse objeto representa.

Etapa 6: Criar o workspace

Para criar o novo workspace, chame o comando create workspace API (POST /accounts/<account-id>/workspaces).

Passe os seguintes parâmetros, que são valores que você copiou nas etapas anteriores:

  • aws_region: A região AWS do plano workspace's compute.
  • workspace_nameNome legível por humanos para seu workspace. Este é o nome do workspace que os usuários veem na interface do usuário do Databricks.
  • deployment_name(Recomendado, mas opcional) Nome de implantação exclusivo para seu workspace. Para obter detalhes, consulte as notas sobre o nome da implantação.
  • credentials_id: sua ID de credencial, que representa suas credenciais de função de conta cruzada. Este é o ID do objeto de configuração de credenciais.
  • storage_configuration_id: seu ID de configuração de armazenamento, que representa seu bucket raiz S3. Esta é a ID do objeto de configuração de armazenamento.
  • network_id: ( Opcional ) usado apenas para VPC gerenciado pelo cliente. Esta é a ID do objeto de configuração de rede.
  • managed_services_customer_managed_key_id (Opcional ) Usado apenas para criptografar o serviço gerenciado, como Notebook e dados secretos no plano de controle. Veja a chave Customer-gerenciar para serviço gerenciado. Esse é seu ID de configuração key para o armazenamento workspace, que é o campo customer_managed_key_id de um objeto de configuração key. Se o senhor quiser oferecer suporte a esse caso de uso de criptografia, deverá configurá-lo no momento da criação do site workspace.
  • storage_customer_managed_key_id (Opcional ) Usado somente para criptografar o armazenamento workspace. Esse é seu ID de configuração key para o armazenamento workspace, que é o campo customer_managed_key_id do objeto de configuração key. Se quiser oferecer suporte a esse caso de uso de criptografia, o senhor pode configurá-lo no momento da criação do site workspace, mas também pode adicioná-lo posteriormente a um site em execução workspace.
  • private_access_settings_id (Opcional ) Usado apenas para o AWS PrivateLink. Este é o ID do objeto de configurações de acesso privado que o senhor criou para este workspace. Consulte gerenciar configurações de acesso privado. Esse é um campo obrigatório para acesso ao PrivateLink para todos os tipos de conexão (front-end, back-end ou ambos).
  • custom_tags: ( Opcional ) Pares key-value que atuam como metadados para organizar recursos. As tags podem ajudar a gerenciar, identificar, organizar, pesquisar e filtrar recursos, além de monitorar o custo e o uso de atributos.

Observações sobre o nome da implantação:

  • Escolha seu valor deployment_name com cuidado. O nome da implementação define parte do subdomínio do workspace. A URL do workspace para aplicativo da web e REST APIs é <deployment-name>.cloud.databricks.com. Por exemplo, se o nome da implementação for ABCSales, a URL da suo workspace será https://abcsales.cloud.databricks.com. Esta propriedade suporta caracteres a-z e 0-9. Hifens também são permitidos, mas não como o primeiro ou último caractere.
  • pode ter um prefixo de nome de implementação. Entre em contato com a equipe Databricks account para adicionar um prefixo de nome de implantação account ao seu account. Se o seu account tiver um prefixo de nome de implantação não vazio no momento da criação do workspace, o nome de implantação workspace será atualizado de modo a começar com o prefixo account e um hífen. Por exemplo, se o prefixo de implantação do site accountfor acme e o nome de implantação do site workspace for workspace-1, o campo deployment_name se tornará acme-workspace-1. Neste exemplo, o URL workspace é acme-workspace-1.cloud.databricks.com.
  • Após essa modificação com o prefixo da conta, o novo valor é o que é retornado nas respostas JSON para o campo deployment_name deste workspace.
  • Se a sua conta tiver um prefixo de nome de implementação não vazio e você definir deployment_name para a palavra-chave reservada EMPTY, deployment_name será o prefixo da conta somente. Por exemplo, se o prefixo de implementação da sua conta for acme e o nome de implementação do área de trabalho for EMPTY, o deployment_name se tornará acme somente, e a URL do workspace for acme.cloud.databricks.com. Se a sua conta ainda não tiver um prefixo de nome de implementação, o valor de nome de implementação especial EMPTY será inválido.

A resposta JSON inclui a propriedade workspace_id. Copie este valor para uso posterior.

Por exemplo:

Bash
curl -X POST
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces' \
--header 'Authorization: Bearer $OAUTH_TOKEN' \
-d '{
"workspace_name": "my-company-example",
"deployment_name": "my-company-example",
"aws_region": "us-west-2",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"private_access_settings_id": "<private-access-settings-id>",
"custom_tags": {
"Organization": "Marketing",
"Env": "Prod"
}
}'

Resposta de exemplo:

JSON
{
"workspace_id": 123456789,
"workspace_name": "my-company-example",
"aws_region": "us-west-2",
"creation_time": 1579768294842,
"deployment_name": "my-company-example",
"workspace_status": "PROVISIONING",
"account_id": "<databricks-account-id>",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"workspace_status_message": "Workspace resources are being set up.",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"private_access_settings_id": "<private-access-settings-id>",
"pricing_tier": "ENTERPRISE",
"custom_tags": {
"Organization": "Marketing",
"Env": "Prod"
}
}

Se o senhor especificou um cliente gerenciar VPC e a etapa de criação workspace retornar um erro relacionado à rede, poderá chamar a configuração de rede get API (endpoint /networks/<network-id>) para validar as configurações de rede. Consulte Solução de problemas em workspace erros de criação.

Etapa 7: Confirme o novo workspace

Para verificar o status de workspace, chame a função get workspace API (GET /accounts/<account-id>/workspaces/<workspace-id>).

Utilize o valor workspace_id da resposta JSON retornada quando você criou o workspace.

Na resposta, os valores workspace_status possíveis são:

  • NOT_PROVISIONED: Ainda não provisionado.
  • PROVISIONING: Ainda em provisionamento. Aguarde alguns minutos e repita essa solicitação de API.
  • RUNNING: implementação bem-sucedida e agora em execução.
  • FAILED: Falha na implementação.
  • BANNED: Banido.
  • CANCELLING: Em processo de cancelamento.

Consulte Solução de problemas workspace creation errors para saber como lidar com valores de status malsucedidos.

Por exemplo:

Bash
curl -X GET
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \
--header 'Authorization: Bearer $OAUTH_TOKEN'

Resposta:

JSON
{
"workspace_id": 123456789,
"workspace_name": "my-company-example",
"aws_region": "us-west-2",
"creation_time": 1579768294842,
"deployment_name": "my-company-example",
"workspace_status": "RUNNING",
"account_id": "<databricks-account-id>",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"workspace_status_message": "Workspace is running.",
"network_id": "339f16b9-b8a3-4d50-9d1b-7e29e49448c3",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"pricing_tier": "ENTERPRISE"
}

Neste exemplo, o status do workspace (workspace_status) é definido como RUNNING, portanto, foi bem-sucedido. Se estiver PROVISIONING, repita essa solicitação de API até que ela seja bem-sucedida.

O nível de preços é padronizado para o plano associado à sua conta. Consulte Níveis da plataforma AWS.

Teste seu novo workspace depois que seu status for RUNNING:

  • L ogin da interface do usuário no novo workspace - Confirme que log in o senhor pode acessar o aplicativo da Web no https://<deployment-name>.cloud.databricks.com URL. Por exemplo, se o nome da implantação que o senhor especificou durante a criação do workspace for ABCSales, o URL do workspace será https://abcsales.cloud.databricks.com. Faça login usando seu nome de usuário account.

  • Login API REST no novo workspace — Confirme se você consegue acessar a API REST. O exemplo a seguir chama a API de usuários do workspace para obter uma lista de usuários.

    Bash
    curl  -u <user-name> -X GET 'https://<deployment-name>.cloud.databricks.com/api/2.0/scim/v2/Users' \
    --header 'Authorization: Bearer $OAUTH_TOKEN'

    Para obter mais informações sobre o uso do Databricks REST APIs, incluindo outras opções de autenticação, consulte o espaço de trabalho API.

Essa etapa é necessária apenas se o senhor estiver configurando o AWS PrivateLink.

Após a criação do workspace:

  1. Se você estiver implementando uma conexão PrivateLink de front-end , implemente alterações relevantes na configuração do DNS conforme descrito na Etapa 5: Configurar o DNS interno para redirecionar as solicitações do usuário para o aplicativo web (front-end).
  2. Opcionalmente, crie outro ponto de extremidade VPC, conforme descrito na Etapa 7: Adicionar ponto de extremidade VPC para outro serviço AWS.

Etapa 9: Outra configuração opcional pós-implantação

Você pode considerar estas etapas de configuração opcionais para seu novo workspace.

Habilitar listas de acesso IP

Configure quais endereços IP podem se conectar ao aplicativo da Web, REST APIs, ao endpoint JDBC/ODBC e ao DBConnect. Você pode especificar listas de permissões e listas de bloqueio como endereços IP ou intervalos. Consulte Configurar listas de acesso IP para o espaço de trabalho.

Ativar auditoria log tabela do sistema

A Databricks recomenda enfaticamente que o senhor ative a tabela do sistema de log de auditoria para monitorar as atividades realizadas e o uso incorrido pelos usuários da Databricks. Seu workspace deve ter o Unity Catalog ativado. Para obter instruções, consulte Monitorar a atividade do account com tabelas do sistema.

Solucionar erros de criação de workspace

As seções a seguir fornecem soluções para erros comuns de criação de workspaces.

O número máximo de endereços foi atingido

Quando o Databricks cria um VPC em seu nome, você deve ter pelo menos um IP elástico não utilizado. Caso contrário, o VPC não será criada e ocorrerá o seguinte erro:

Console
The maximum number of addresses has been reached.

Aumente o número de IPs elásticos e tente novamente.

Etapas de solução de problemas

Para todos os erros de criação workspace, tente as seguintes etapas de solução de problemas na ordem fornecida.

Validar a rede

Se a criação workspace ou as passos de verificação de status indicarem um erro relacionado à rede, chame a API obter configuração de rede para garantir que as configurações de rede estejam corretas. Este endpoint da API tem o formato:

/accounts/<databricks-account-id>/networks/<databricks-network-id>

Por exemplo:

Bash
  curl -X GET
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks/<databricks-network-id>' \
--header 'Authorization: Bearer $OAUTH_TOKEN'

Na resposta, visualize os warning_messages error_messages campos. Se as duas matrizes estiverem vazias, não haverá avisos ou erros.

Caso contrário, reveja cuidadosamente os avisos e os objetos JSON de erro:

  • Para avisos, a enumeração warning_type indica que o problema era com uma sub-rede ou grupo de segurança. O(A) warning_message fornece detalhes adicionais. Esteja ciente de que, se você tiver uma instância de NAT ou firewall (em vez de um gateway NAT), a validação de rede sempre emitirá um aviso.
  • Para erros, a enumeração error_type indica que o problema ocorreu com credenciais, VPC, sub-rede, grupo de segurança ou ACL de rede. O error_message fornece detalhes adicionais.

Corrija problemas de infraestrutura

Dependendo dos erros na resposta à solicitação da API Get Network Configuration API, confirme se o senhor está certo:

Atualizar a falha workspace

Para atualizar o site workspace que falhou, chame a atualização workspace e reimplante API (PATCH /accounts/<account-id>/workspaces/<workspace-id>).

A API de atualização do workspace permite atualizações nas configurações do workspace que falharam durante a criação do workspace, somente para alterar as configurações de credenciais, armazenamento, rede (para VPC gerenciado pelo cliente) e chaves (para criptografar notebooks).

nota

Você pode usar a mesma API para atualizar um workspace em execução (implantado com sucesso), mas só pode alterar as configurações de credencial e de rede.

Você pode passar esses campos de configuração do workspace para alterá-los: credentials_id, storage_configuration_id, network_id, managed_services_customer_managed_key_id e storage_customer_managed_key_id.

Se o valor workspace_status retornar PROVISIONING, continue verificando o estado RUNNING usando a API get workspace.

Por exemplo:

Bash
  curl -X PATCH 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \
--header 'Authorization: Bearer $OAUTH_TOKEN' \
-d '{
"aws_region": "us-west-2",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>"
}'

Resposta:

JSON
{
"workspace_id": 123456789,
"workspace_name": "my-company-example",
"aws_region": "us-west-2",
"creation_time": 1579768294842,
"deployment_name": "my-company-example",
"workspace_status": "PROVISIONING",
"account_id": "<databricks-account-id>",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"workspace_status_message": "Workspace resources are being set up.",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"pricing_tier": "ENTERPRISE"
}

Se a atualização do workspace falhar, recrie a rede e workspace

Se a API de atualização do workspace não funcionar, você deve excluir e recriar a rede (se tiver fornecido sua própria VPC) e o workspace com falha na seguinte ordem.

  1. Exclua o endereço workspace usando a opção delete workspace API (DELETE /accounts/<account-id>/workspaces/<workspace-id>).

    Por exemplo:

    Bash
    curl -X DELETE
    'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \
    --header 'Authorization: Bearer $OAUTH_TOKEN'
  2. Se o senhor forneceu seu próprio VPC, exclua a configuração de rede do Databricks usando a API de exclusão de configuração de rede (DELETE /accounts/<account-id>/networks/<network-id>).

    Por exemplo:

    Bash
    curl -X DELETE
    'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks/<databricks-network-id>'
    --header 'Authorization: Bearer $OAUTH_TOKEN'
  3. Recrie a rede usando os valores corretos para vpc_id, subnet_ids e security_group_ids.

  4. Recrie o site workspace usando os valores corretos para credentials_id, storage_configuration_id, network_id, managed_services_customer_managed_key_id e storage_customer_managed_key_id.

    Se o senhor obtiver o valor workspace_status PROVISIONING, continue verificando o estado RUNNING usando a API get workspace.