AWS Gitlab Autoscale runner с частным IP-адресом, не хочет включать общедоступный IP-адрес

# #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-сети.