0

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
      }
    }
  }

}
dadadima
  • 938
  • 4
  • 28
  • This [document](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/composer_environment) might help – James S Mar 29 '23 at 14:47

0 Answers0