Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página mostra como configurar restrições de localização de recursos para garantir que seus dados armazenados pelo Cloud Composer sejam mantidos nos locais especificados.
Como funcionam as restrições de localização
As restrições de localização do Cloud Composer são determinadas com base na política organizacional aplicada ao projeto em que o ambiente do Cloud Composer é criado. Essa política é atribuída dentro do projeto ou herdada da organização.
Com as restrições de localização ativadas, não é possível criar um ambiente em uma região proibida pela política. Se uma região estiver listada na lista de Proibidos ou não estiver listada na lista de Permitidos, você não poderá criar ambientes nessa região.
Para permitir a criação de ambientes, a política deve permitir toda a região e não uma zona específica dentro dela. Por exemplo, a região europe-west3
deve ser permitida pela política para que ambientes do Cloud Composer possam ser criados nessa região.
O Cloud Composer verifica as restrições de localização em:
- Criação de ambiente.
- Atualização do ambiente, se algum recurso adicional for criado durante a operação.
- Atualização de ambiente, para ambientes mais antigos que não impõem restrições de localização nas dependências do Cloud Composer.
Além de verificar as restrições de localização, o Cloud Composer faz o seguinte:
- Armazena imagens do Airflow personalizadas pelo usuário em repositórios regionais do Artifact Registry.
- Se a multirregião
US
for explicitamente proibida pela política, o uso do Cloud Build será desabilitado. Nesse caso, imagens do Airflow personalizadas pelo usuário serão criadas no seu cluster do GKE.
Instalar uma dependência Python em um ambiente de IP privado com restrições de localização de recursos
Se você definir restrições de localização de recursos para o seu projeto, o Cloud Build não poderá ser usado para instalar pacotes Python. Consequentemente, o acesso direto aos repositórios na internet pública será desativado.
Para instalar dependências do Python em um ambiente de IP privado quando suas restrições de localização não permitirem a multirregião US
, use uma das seguintes opções:
Use um servidor proxy na sua rede VPC para se conectar a um repositório PyPI na internet pública. Especifique o endereço do proxy no arquivo
/config/pip/pip.conf
no bucket do Cloud Storage.Se sua política de segurança permitir acesso à sua rede VPC a partir de endereços IP externos, você poderá configurar o Cloud NAT .
Armazene as dependências do Python na pasta
dags
do bucket do Cloud Storage para instalá-las como bibliotecas locais . Essa pode não ser uma boa opção se a árvore de dependências for grande.
Restringir locais para logs do Cloud Composer
Se os seus logs do Cloud Composer contiverem dados confidenciais, talvez você queira redirecioná-los para um bucket regional do Cloud Storage. Para isso, use um coletor de logs . Após redirecionar os logs para um bucket do Cloud Storage, eles não serão enviados para o Cloud Logging.
gcloud
Crie um novo bucket do Cloud Storage.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION
Substituir:
-
LOCATION
com a região onde o ambiente está localizado. -
BUCKET_NAME
pelo nome do bucket. Por exemplo,composer-logs-us-central1-example-environment
.
-
Crie um novo coletor de log.
gcloud logging sinks create \ composer-log-sink-ENVIRONMENT_NAME \ storage.googleapis.com/BUCKET_NAME \ --log-filter "resource.type=cloud_composer_environment AND \ resource.labels.environment_name=ENVIRONMENT_NAME AND \ resource.labels.location=LOCATION"
Substituir:
-
ENVIRONMENT_NAME
com o nome do ambiente. -
BUCKET_NAME
com o nome do bucket. -
LOCATION
com a região onde o ambiente está localizado.
-
A saída do comando anterior contém o número da conta de serviço. Conceda a função Criador de Objeto de Armazenamento a esta conta de serviço:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SA_NUMBER@gcp-sa-logging.iam.gserviceaccount.com" \ --role='roles/storage.objectCreator' \ --condition=None
Substituir:
-
PROJECT_ID
com o ID do projeto . -
SA_NUMBER
com o número da conta de serviço fornecido pelo comandogcloud logging sinks create
na etapa anterior.
-
Exclua os logs do seu ambiente do Logging.
gcloud logging sinks update _Default \ --add-exclusion name=ENVIRONMENT_NAME-exclusion,filter=\ "resource.type=cloud_composer_environment AND \ resource.labels.environment_name=ENVIRONMENT_NAME AND \ resource.labels.location=LOCATION"
Substituir:
-
ENVIRONMENT_NAME
com o nome do ambiente. -
LOCATION
com a região onde o ambiente está localizado.
-