У нас возникли проблемы с настройкой двух компонентов GCP (GCP Cloud Composer, GCP Functions) в VPC Service Controls для одного проекта. Мы можем настроить их отдельно с помощью VPC Service Controls, но как только мы добавим второй компонент, у нас возникнут проблемы.
После того, как мы настроили правила брандмауэра и настройки DNS для облачной функции, Composer начинает давать сбой. Инструмент мониторинга Composer (для веб-сервера, SQL-сервера и т. Д.) Показывает, что композитор неработоспособен.
Что мы делаем не так?
Использованные нами документы:
https://cloud.google.com/functions/docs/securing/using-vpc-service-controls
https://cloud.google.com/composer/docs/configuring-vpc-sc
Для Composer мы используем следующие настройки:
- 3 узел
- стандартный тип машины
- версия изображения: composer-1.16.3-airflow-1.10.15
- питон: v3
- частный компоновщик IP
API-интерфейсы, которые мы включили для управления службами VPC:
- API Google Cloud Dataproc
- API облачных функций
- Google Cloud Pub / Sub API
- Cloud SQL API
- Google Cloud Storage API
- Google Compute Engine API
- API Google Kubernetes Engine
- API реестра контейнеров Google
- API облачного мониторинга
- Cloud Composer API
- API реестра артефактов
Настройки FireWall (исходя из документации):
Name | Type | Targets | Filters | Protocols / Ports | Action | Priority |
---|---|---|---|---|---|---|
composer-egress-gke-cluster-all-port | Egress | Apply to all | IP ranges: 10.10.0.0/16 | tcp, udp | Allow | 1000 |
composer-egress-healthcheck | Egress | Apply to all | IP ranges: 130.211.0.0/22, 35.191.0.0/16 | tcp:80,443 | Allow | 1000 |
composer-egress-port53 | Egress | Apply to all | IP ranges: 0.0.0.0/0 | tcp:53, udp:53 | Allow | 1000 |
composer-egress-webserver | Egress | Apply to all | IP ranges: 172.31.251.0/24 | tcp:3306,3307 | Allow | 1000 |
restricted-google-apis | Egress | Apply to all | IP ranges: 199.36.153.4/30 | tcp:443 | Allow | 1000 |
composer-deny-all | Egress | Apply to all | IP ranges: 0.0.0.0/0 | all | Deny | 2000 |
composer-ingress-helthcheck | Ingress | Apply to all | IP ranges: 130.211.0.0/22, 35.191.0.0/16 | tcp:80,443 | Allow | 1000 |
ingress-iap | Ingress | Apply to all | IP ranges: 35.235.240.0/20 | tcp | Allow | 1000 |
gke-europe-west1-composer-dns-xxx-xxx-all | Ingress | gke-europe-west1-composer-dns-xxx-xxx-node | IP ranges: 10.124.0.0/14 | tcp;udp;esp;ah;sctp;icmp | Allow | 1000 |
gke-europe-west1-composer-dns-xxx-xxx-master | Ingress | gke-europe-west1-composer-dns-xxx-xxx-node | IP ranges: 172.16.8.0/28 | tcp:10250,443 | Allow | 1000 |
gke-europe-west1-composer-dns-xxx-xxx-vms | Ingress | gke-europe-west1-composer-dns-xxx-xxx-node | IP ranges: 10.10.0.0/16 | tcp:1-65535;udp:1-65535;icmp | Allow | 1000 |
Настройки DNS (исходя из документации):
DNS-имя: googleapis.com. Тип: Частный
DNS name | Type | TTl(Seconds) | Data |
---|---|---|---|
*.googleapis.com. | CNAME | 300 | restricted.googleapis.com. |
googleapis.com. | SOA | 21600 | ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300 |
googleapis.com. | NS | 21600 | ns-gcp-private.googledomains.com. |
DNS-имя: cloudfunctions.net. Тип: Частный
DNS name | Type | TTl(Seconds) | Data |
---|---|---|---|
*.cloudfunctions.net. | A | 300 | 199.36.153.4,199.36.153.5,199.36.153.6,199.36.153.7 |
cloudfunctions.net | NS | 21600 | ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300 |
cloudfunctions.net. | SOA | 21600 | ns-gcp-private.googledomains.com. |
DNS-имя: pkg.dev. Тип: Частный
DNS name | Type | TTl(Seconds) | Data |
---|---|---|---|
*.pkg.dev. | CNAME | 300 | pkg.dev. |
pkg.dev. | SOA | 21600 | ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300 |
pkg.dev. | NS | 21600 | ns-gcp-private.googledomains.com. |
pkg.dev. | A | 300 | 199.36.153.4,199.36.153.5,199.36.153.6,199.36.153.7 |
DNS-имя: gcr.io. Тип: Частный
DNS name | Type | TTl(Seconds) | Data |
---|---|---|---|
*.gcr.io. | CNAME | 300 | gcr.io. |
gcr.io. | SOA | 21600 | ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300 |
gcr.io. | NS | 21600 | ns-gcp-private.googledomains.com. |
gcr.io. | A | 300 | 199.36.153.4,199.36.153.5,199.36.153.6,199.36.153.7 |
Спасибо за любую идею или помощь, которую вы можете дать.