# #gitlab-ci-runner #gitlab-ce #runner #gitlab-runner
#gitlab-ci-бегун #gitlab-ce #бегун #gitlab-бегун
Вопрос:
В AWS Gitlab Autoscale runner с частным IP-адресом не хочет включать общедоступный IP-адрес. В настоящее время наш Gitlab Autoscale runner настроен с общедоступным IP-адресом, следовательно, концентратор Runner подключен через общедоступный IP-адрес бегунов с автоматическим масштабированием. Для этого мы открываем ВСЕ TCP — порты в группе безопасности. Чтобы избежать этого сценария, можно ли прекратить использование общедоступного IP-адреса и использовать частные IP-адреса для подключения концентратора Gitlab и программ автоматического масштабирования?
concurrent = 100 check_interval = 0 [session_server] session_timeout = 1800 [[runners]] name = "aws-abc-runner-autoscale" limit = 110 url = "https://git.abc-example.in/" token = "xxxxxxxxxxxx" executor = "docker machine" environment = ["DOCKER_AUTH_CONFIG={ "auths": { "docker.dev.abc.com": { "auth": "################################################" }, "silicon.docker.dev.abc.com": { "auth": "################################################" }, "cde.dev.abc.com": { "auth": "################################################" }, "abcde.azurecr.io": { "auth": "##########################################" }, "efghijk.azurecr.io": { "auth": "###################################################" } } }"] [runners.custom_build_dir] enabled = true [runners.cache] Type = "s3" Shared = true [runners.cache.s3] ServerAddress = "ip-172-31-11-12.eu-central-1.compute.internal:9005" AccessKey = "xxxxxxxxxx" SecretKey = "xxxxxxxxxx" BucketName = "runner-autoscale" Insecure = true [runners.docker] tls_verify = false image = "docker:latest" privileged = true disable_entrypoint_overwrite = false oom_kill_disable = false disable_cache = false volumes = ["/var/run/docker.sock:/var/run/docker.sock"] shm_size = 0 [runners.machine] IdleCount = 4 IdleTime = 300 MachineDriver = "amazonec2" MachineName = "abcdev-runners-%s" MachineOptions = ["amazonec2-ami=ami-08a1a615784dd1c82f", "amazonec2-region=eu-central-1", "amazonec2-zone=b", "amazonec2-vpc-id=vpc-0f458d68", "amazonec2-subnet-id=subnet-c23438b8", "amazonec2-instance-type=t3.xlarge", "amazonec2-root-size=250", "amazonec2-volume-type=gp2", "amazonec2-use-private-address=true"] OffPeakTimezone = "" OffPeakIdleCount = 0 OffPeakIdleTime = 0
Может ли кто-нибудь подсказать, как мы можем реализовать то же самое.
Ответ №1:
Вашим бегунам не обязательно быть доступными по сети из вашего экземпляра GitLab в зависимости от того, как вы его настроили, поэтому сделать так, чтобы у них был частный IP-адрес, было бы так же просто, как изменить подсеть, в которой вы настроили, amazonec2-subnet-id
чтобы она не назначала общедоступный IP-адрес. Примечание. Для доступа к экземпляру GitLab в вашей частной подсети потребуется подключить шлюз NAT или настроить его для использования внутри vpc-сети.