I have recently discovered that it's possible to assign a static external IP to a Cloud Composer by configuring it in a VPC and using Cloud Nat to expose it.
How can I configure my Composer instance to run in a VPC?
This is my composer infra code:
resource "google_composer_environment" "composer" {
name = local.airflow_seed
region = local.airflow_region
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
node_config {
service_account = google_service_account.airflow_service_account.email
}
software_config {
airflow_config_overrides = {
"email-email_backend" = "airflow.providers.sendgrid.utils.emailer.send_email"
"email-email_conn_id" = "sendgrid_default"
"secrets-backend" = "airflow.providers.google.cloud.secrets.secret_manager.CloudSecretManagerBackend"
"webserver-navbar_color" = local.airflow_ui_color # green for pro, red for dev
}
env_variables = {
"IGNORE_PYPI_DEPENDENCY_CONFLICTS" = "True"
"SENDGRID_MAIL_FROM" = local.airflow_email_from
}
image_version = "composer-2.1.3-airflow-2.3.4"
pypi_packages = {
"apache-airflow-providers-airbyte" = "[http]"
"apache-airflow-providers-databricks" = ""
"apache-airflow-providers-sendgrid" = ""
}
scheduler_count = 0
}
workloads_config {
scheduler {
count = 1
cpu = 0.5
memory_gb = 1.875
storage_gb = 1
}
web_server {
cpu = 1
memory_gb = 1.875
storage_gb = 1
}
worker {
cpu = 0.5
max_count = 1
memory_gb = 1.875
min_count = 1
storage_gb = 1
}
}
}
}