Criar um workspace usando a API da conta
Observação
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 como criar um workspace usando a API Account. Você também pode criar workspaces usando o modelo do AWS Quick Start, o console da conta ou o Terraform.
O senhor deve usar o account API para criar o espaço de trabalho se quiser usar a chave gerenciar-cliente para o serviço gerenciado ou o AWS PrivateLink.
Antes de começar
Certifique-se de que o senhor tenha acesso ao ID da sua conta.
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 Notebook e 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 (workspace 's DBFS root, Job results e outros) e, opcionalmente, os cluster volumes EBS do nó .
AWS PrivateLink: AWS O PrivateLink fornece conectividade privada de AWS VPCs e on-premises redes para AWS serviço sem expor o tráfego à rede pública.
Determine as regiões a serem usadas para o plano workspace 'scompute (VPC). A região do plano de controle é determinada pela região do plano compute.
workspace compute As VPCs planas podem estar em AWS regiões
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
eus-west-2
. No entanto, o senhor não pode usar VPC emus-west-1
se quiser usar a chave gerenciar-cliente para criptografia.
Como usar a API da conta
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 Autenticar o acesso ao Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
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 saber mais, consulte:
Para OAuth para entidade de serviço, consulte Autenticar o acesso a Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
Para OAuth para usuários, consulte Autenticar o acesso a Databricks com um usuário account usando OAuth (OAuth U2M).
Observação
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:
Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.
Complete os passos para configurar a autenticação OAuth M2M para a entidade de serviço no site account. Consulte Autenticar o acesso ao Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
Identifique ou crie manualmente um perfil de configuração do Databricks em seu arquivo
.databrickscfg
, com os campos do perfil definidos corretamente para os mapeamentoshost
,account_id
,client_id
eclient_secret
relacionados à entidade de serviço. Consulte a autenticação OAuth máquina a máquina (M2M).Execute o comando Databricks CLI de destino, onde
<profile-name>
representa o nome do perfil de configuração no arquivo.databrickscfg
:databricks account <command-name> <subcommand-name> -p <profile-name>
Por exemplo, para listar todos os usuários na conta:
databricks account users list -p MY-AWS-ACCOUNT
Para obter uma lista de comandos de conta disponíveis, execute o comando
databricks account -h
.Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando
databricks account <command-name> -h
.
Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.
Complete os passos a seguir para configurar a autenticação OAuth U2M para os usuários no site account. Consulte Autenticar o acesso a Databricks com um usuário account usando OAuth (OAuth U2M).
Inicie o processo de autenticação do usuário executando o seguinte comando Databricks CLI:
databricks auth login --host <account-console-url> --account-id <account-id>
Por exemplo:
databricks auth login --host https://accounts.cloud.databricks.com --account-id 00000000-0000-0000-0000-000000000000
Observação
Se o senhor tiver um perfil de configuração do Databricks existente com os campos
host
eaccount_id
já definidos, poderá substituir--host <account-console-url> --account-id <account-id>
por--profile <profile-name>
.Siga as instruções na tela para que a CLI do Databricks crie automaticamente o perfil de configuração do Databricks relacionado em seu arquivo
.databrickscfg
.Continue seguindo as instruções que aparecem na tela para acessar a sua conta Databricks através do seu navegador da web.
Execute o comando Databricks CLI de destino, onde
<profile-name>
representa o nome do perfil de configuração no arquivo.databrickscfg
:databricks account <command-name> <subcommand-name> -p <profile-name>
Por exemplo, para listar todos os usuários na conta:
databricks account users list -p ACCOUNT-00000000-0000-0000-0000-000000000000
Para obter uma lista de comandos de conta disponíveis, execute o comando
databricks account -h
.Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando
databricks account <command-name> -h
.
Passo 1: configurar autenticação de conta cruzada
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.
Se esse papel ainda não existir, consulte Criar um papel IAM para implantação do workspace para criar um papel e política apropriados para seu tipo de implantação. Você fornece o ARN para sua nova função (o
role_arn
) posteriormente neste procedimento.Observação
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.
Crie um ID de configuração de credenciais do Databricks para sua função do AWS. Chame a API Create credential configuration (
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.Observação
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 API da conta. 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 umasts_role
propriedade. Esse objeto deve conter umarole_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:
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:
{ "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.
Observação
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.
Crie o contêiner raiz S3 utilizando as instruções em Criar um contêiner S3 para implementação do workspace.
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 campobucket_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:
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:
{ "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 }
Etapa 3: Configurar o PrivateLink (opcional)
Esta etapa é necessária somente se você 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)
compute plano para o plano de controle (back-end)
Para conexões PrivateLink para um novo workspace:
Leia atentamente o artigo AWS PrivateLink e confirme os pré-requisitos antes de prosseguir.
Crie seus endpoints de VPC da AWS no console da AWS ou com ferramentas de automação. Consulte a Passo 2: Criar VPC endpoints.
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.
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.
Etapa 4: configurar VPC gerenciado pelo cliente (opcional, mas obrigatório se você usar PrivateLink)
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. Databricks recomenda que o senhor forneça seu próprio VPC para que possa configurá-lo de acordo com os padrões empresariais da sua organização cloud e, ao mesmo tempo, estar em conformidade com os requisitos do Databricks. O senhor não pode migrar um workspace existente para o seu próprio VPC.
Importante
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.
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 o próximo passo, no qual o senhor os registrará em Databricks e obterá um ID de rede para representar sua nova rede.
Importante
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.
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 somente 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.Importante
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 o ID Databricks para o seu registro seguro de conectividade cluster 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:
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>" ] } }'
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:
{ "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 chaves gerenciadas pelo cliente (opcional)
Importante
Este recurso exige que sua conta esteja no nível de preço Enterprise.
workspace compute As VPCs planas podem estar em AWS regiões
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
eus-west-2
. No entanto, o senhor não pode usar VPC emus-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 Notebook e dados secretos no plano de controle.
Criptografar o armazenamento do workspace, que inclui o bucket S3 raiz do workspace e, opcionalmente, os volumes EBS do 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.
Observação
Para adicionar um armazenamento workspace key a um workspace existente que já usa a criptografia 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.
Crie o site AWS KMS key. Siga as instruções em qualquer 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. Veja o passo 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 camposid
de acordo.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 Notebook e dados secretos no plano de controle.STORAGE
: Este key criptografa workspace o armazenamento , que inclui os workspace DBFS root cluster volumes EBS e 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 a matrizuse_cases
contiverSTORAGE
, especifica se a chave também deve ser usada para criptografar volumes EBS do cluster. O valor padrão étrue
, o que significa que o Databricks também usa a chave para volumes de cluster. Se você definir isso comofalse
, o Databricks não criptografará os volumes EBS com a chave especificada. Nesse caso, seus volumes EBS do Databricks são criptografados com a criptografia SSE padrão da AWS ou se você habilitou a criptografia EBS no nível da conta da AWS por padrão, a AWS impõe a criptografia EBS no nível da conta usando uma chave separada que você forneceu a eles. Observe que sereuse_key_for_cluster_volumes
fortrue
e você revogar a permissão da chave, isso não afetará os clusters em execução, mas afetará os clusters novos e reiniciados.
Exemplo de solicitação:
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:
{ "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" } }
No JSON de resposta, copie o
customer_managed_key_id
. Você usa esse ID na próxima passo para definir a propriedademanaged_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_name
Nome 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 observações 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. Consulte a chave Customer-gerenciar para serviço gerenciado. Esse é seu ID de configuração key para o armazenamento workspace, que é o campocustomer_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 campocustomer_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 somente 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 o 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 forABCSales
, 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 forworkspace-1
, o campodeployment_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 reservadaEMPTY
,deployment_name
será o prefixo da conta somente. Por exemplo, se o prefixo de implementação da sua conta foracme
e o nome de implementação do área de trabalho forEMPTY
, odeployment_name
se tornaráacme
somente, e a URL do workspace foracme.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 especialEMPTY
será inválido.
A resposta JSON inclui a propriedade workspace_id
. Copie este valor para uso posterior.
Por exemplo:
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:
{
"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 criação workspace o passo 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.
o passo 7: Confirmar o novo workspace
Para verificar o status de workspace, chame o comando 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:
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:
{
"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 com o plano associado à sua conta. Consulte Níveis da plataforma AWS.
Teste seu novo workspace depois que seu status for RUNNING
:
L ogin na interface do usuário no novo workspace - Confirme que log in o senhor pode acessar o aplicativo da Web no URL
https://<deployment-name>.cloud.databricks.com
. Por exemplo, se o nome da implantação que o senhor especificou durante a criação do workspace forABCSales
, o URL do workspace seráhttps://abcsales.cloud.databricks.com
. log in 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.
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 workspace API.
Etapa 8: Configuração do PrivateLink pós-implementação (opcional)
Essa etapa é necessária somente se você estiver configurando o AWS PrivateLink.
Após a criação do workspace:
Se estiver implementando uma conexão PrivateLink de front-end, implemente as alterações relevantes na configuração do DNS, conforme descrito no passo 5: Configurar o DNS interno para redirecionar as solicitações dos usuários para o aplicativo Web (front-end).
Opcionalmente, crie outro endpoint VPC, conforme descrito no passo 7: Adicionar endpoint VPC para outro serviço AWS .
Etapa 9: Outras configurações opcionais pós-implementaçã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. O senhor pode especificar listas de permissão e listas de bloqueio como endereços IP ou intervalos. Consulte Configurar listas de acesso IP para espaços de trabalho.
Ativar a tabela do sistema de registro de auditoria
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 do 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:
The maximum number of addresses has been reached.
Aumente o número de IPs elásticos e tente novamente.
Etapas gerais 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:
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. Oerror_message
fornece detalhes adicionais.
Corrigir problemas de infraestrutura
Dependendo dos erros na resposta à solicitação da API Get Network Configuration API, confirme se o senhor está certo:
Seu grupo de segurança está em conformidade com os requisitos do VPC gerenciada pelo cliente.
Sua política de IAM entre contas inclui as permissões necessárias. Consulte Criar uma função de IAM para implementações do workspace para a política a ser usada para seu tipo de implementação.
Atualizar o workspace com falha
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).
Observação
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:
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:
{
"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 o 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.
Exclua o site workspace usando a opção delete workspace API (
DELETE /accounts/<account-id>/workspaces/<workspace-id>
).Por exemplo:
curl -X DELETE 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \ --header 'Authorization: Bearer $OAUTH_TOKEN'
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:
curl -X DELETE 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks/<databricks-network-id>' --header 'Authorization: Bearer $OAUTH_TOKEN'
Recrie a rede usando os valores corretos para
vpc_id
,subnet_ids
esecurity_group_ids
.Recrie o espaço de trabalho usando os valores corretos para
credentials_id
,storage_configuration_id
,network_id
,managed_services_customer_managed_key_id
estorage_customer_managed_key_id
.Se o senhor obtiver o valor
workspace_status
PROVISIONING
, continue verificando o estadoRUNNING
usando a API get workspace.