Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
O Apache Airflow inclui uma interface do usuário da Web chamada interface do Airflow, que pode ser usada para gerenciar DAGs do Airflow, conferir logs de execução de DAGs, monitorar o Airflow e realizar ações administrativas.
Sobre o servidor da Web do Airflow
Todos os ambientes do Cloud Composer têm um servidor da Web que executa a interface do Airflow. O servidor da Web faz parte da arquitetura do ambiente do Cloud Composer.
Antes de começar
Você precisa ter um papel que possa ver os ambientes do Cloud Composer. Para mais informações, consulte Controle de acesso.
Durante a criação do ambiente, o Cloud Composer configura o URL do servidor da Web que executa a interface do Airflow. Não é possível personalizar o URL.
O Cloud Composer 2 é compatível com o recurso Controle de acesso da interface do Airflow (controle de acesso baseado em papéis do Airflow) para a interface do Airflow.
Se a opção Controles de API > Apps de terceiros não configurados > Não permitir que os usuários acessem apps de terceiros estiver ativada no Google Workspace e o Apache Airflow no app Cloud Composer não for permitido explicitamente, os usuários não vão conseguir acessar a interface do Airflow, a menos que permitam explicitamente o aplicativo. Para permitir o acesso, siga as etapas em Permitir o acesso à interface do Airflow no Google Workspace.
Se as vinculações de acesso com reconhecimento de contexto do Chrome Enterprise Premium forem usadas com níveis de acesso que dependem de atributos do dispositivo e o Apache Airflow no app do Cloud Composer não estiver isento, não será possível acessar a interface do Airflow devido a um loop de login. Para permitir o acesso, siga as etapas fornecidas em Permitir o acesso à interface do Airflow em vinculações de acesso baseado no contexto.
Se as regras de entrada estiverem configuradas em um perímetro do VPC Service Controls que protege o projeto e a regra de entrada que permite o acesso ao serviço do Cloud Composer usa o tipo de identidade
ANY_SERVICE_ACCOUNT
ouANY_USER_ACCOUNT
, os usuários não poderão acessar a interface do Airflow, resultando em um ciclo de login. Para mais informações sobre como resolver esse cenário, consulte Permitir acesso à interface do Airflow nas regras de entrada do VPC Service Controls.
Acessar a interface do Airflow
No Cloud Composer 2, o servidor da Web do Airflow é executado
como uma carga de trabalho no cluster do ambiente. O servidor da Web é
implantado no domínio composer.googleusercontent.com
e fornece acesso à
interface do Airflow.
O Cloud Composer 2 oferece acesso à interface com base nas identidades do usuário e nas vinculações de políticas do IAM definidas para os usuários. Em comparação com o Cloud Composer 1, o Cloud Composer 2 usa um mecanismo diferente que não depende do Identity-Aware Proxy.
Acessar a interface do Airflow no console do Google Cloud
Para acessar a interface do Airflow no console do Google Cloud:
No console do Google Cloud, acesse a página Ambientes.
Na coluna Servidor da Web do Airflow, siga o link Airflow do ambiente.
Faça login com uma Conta do Google que tenha as permissões apropriadas.
Acessar o URL da interface do Airflow com a Google Cloud CLI
É possível acessar a interface do Airflow em qualquer navegador da Web. Para conferir o URL da interface do Airflow, execute o seguinte comando na CLI do Google Cloud:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.
O comando da CLI do Google Cloud mostra as propriedades de um ambiente do Cloud Composer, incluindo os URLs da interface do Airflow.
Os URLs são listados como airflowUri
e airflowByoidUri
:
- O endereço de URL
airflowUri
é usado pelas Contas do Google. - O endereço de URL
airflowByoidUri
é usado por identidades externas se você configurar a federação de identidade de colaboradores no seu projeto.
config:
airflowUri: https://example-dot-us-central1.composer.googleusercontent.com
airflowByoidUri: https://example-dot-us-central1.composer.byoid.googleusercontent.com
Reiniciar o servidor da Web
Ao depurar ou solucionar problemas de ambientes do Cloud Composer, alguns problemas
podem ser resolvidos com a reinicialização do servidor da Web do Airflow. Reinicie o servidor da
Web usando a API restartWebServer
ou o comando restart-web-server
na CLI do Google Cloud:
gcloud beta composer environments restart-web-server ENVIRONMENT_NAME \
--location=LOCATION
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.
Configurar o acesso à rede do servidor da Web
Os parâmetros de acesso do servidor da Web do Airflow não dependem da configuração de rede do seu ambiente. Em vez disso, você configura o acesso ao servidor da Web separadamente. Por exemplo, um ambiente de IP particular ainda pode ter a IU do Airflow acessível pela Internet.
Não é possível configurar os intervalos de IP permitidos como endereços IP particulares.
Console
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
Na seção Configuração de rede, encontre o item Controle de acesso ao servidor da Web e clique em Editar.
Na caixa de diálogo Controle de acesso à rede do servidor da Web:
Para conceder acesso ao servidor da Web do Airflow de todos os endereços IP, selecione Permitir acesso de todos os endereços IP.
Para restringir o acesso somente a intervalos de IP específicos, selecione Permitir acesso apenas de endereços IP específicos . No campo Intervalo de IP, especifique um intervalo de IP na notação CIDR. No campo Descrição, especifique uma descrição opcional para este intervalo. Se você quiser especificar mais de um intervalo, clique em Adicionar intervalo de IP.
Para proibir o acesso de todos os endereços IP, selecione Permitir acesso somente de endereços IP específicos e clique em Excluir item ao lado da entrada de intervalo vazia.
gcloud
Quando você atualiza um ambiente, os seguintes argumentos controlam os parâmetros de acesso do servidor da Web:
--web-server-allow-all
fornece acesso ao Airflow a partir de todos os endereços IP. Essa é a opção padrão.--web-server-allow-ip
restringe o acesso apenas a intervalos de IP de origem específicos. Para especificar vários intervalos de IP, use esse argumento várias vezes.--web-server-deny-all
proíbe o acesso a todos os endereços IP.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-allow-ip ip_range=WS_IP_RANGE,description=WS_RANGE_DESCRIPTION
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.WS_IP_RANGE
: o intervalo de IP, na notação CIDR, que pode acessar a interface do Airflow.WS_RANGE_DESCRIPTION
: a descrição do intervalo de IP.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-allow-ip ip_range=192.0.2.0/24,description="example range" \
--web-server-allow-ip ip_range=192.0.4.0/24,description="example range 2"
API
Crie uma solicitação de API [
environments.patch
][api-patch].Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.webServerNetworkAccessControl
.No corpo da solicitação, especifique como os registros de tarefas do Airflow precisam ser salvos:
Para conceder acesso ao Airflow de todos os endereços IP, especifique um elemento
config
vazio. O elementowebServerNetworkAccessControl
não pode estar presente.Para restringir o acesso apenas a intervalos de IP específicos, especifique um ou mais intervalos em
allowedIpRanges
.Para proibir o acesso de todos os endereços IP, especifique um elemento
webServerNetworkAccessControl
vazio. O elementowebServerNetworkAccessControl
precisa estar presente, mas não pode conter um elementoallowedIpRanges
.
{
"config": {
"webServerNetworkAccessControl": {
"allowedIpRanges": [
{
"value": "WS_IP_RANGE",
"description": "WS_RANGE_DESCRIPTION"
}
]
}
}
}
Substitua:
WS_IP_RANGE
: o intervalo de IP, na notação CIDR, que pode acessar a interface do Airflow.WS_RANGE_DESCRIPTION
: a descrição do intervalo de IP.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.webServerNetworkAccessControl
{
"config": {
"webServerNetworkAccessControl": {
"allowedIpRanges": [
{
"value": "192.0.2.0/24",
"description": "example range"
},
{
"value": "192.0.4.0/24",
"description": "example range 2"
}
]
}
}
}
Terraform
No bloco allowed_ip_range
, no web_server_network_access_control
, especifique os intervalos de IP que podem acessar o servidor da Web.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
web_server_network_access_control {
allowed_ip_range {
value = "WS_IP_RANGE"
description = "WS_RANGE_DESCRIPTION"
}
}
}
}
Substitua:
WS_IP_RANGE
: o intervalo de IP, na notação CIDR, que pode acessar a interface do Airflow.WS_RANGE_DESCRIPTION
: a descrição do intervalo de IP.
Exemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
web_server_network_access_control {
allowed_ip_range {
value = "192.0.2.0/24"
description = "example range"
},
allowed_ip_range {
value = "192.0.4.0/24"
description = "example range 2"
}
}
}