Назад | Перейти на главную страницу

Как сделать резервную копию GitLab в облако (S3)

Я пытаюсь следовать gitlab документация чтобы загрузить резервную копию в облако, но я считаю ее редкой и не совсем простой.

Создать tar достаточно просто.

Мои проблемы начинаются с

Для омнибусных пакетов:

gitlab_rails['backup_upload_connection'] = {
  'provider' => 'AWS',
  'region' => 'eu-west-1',
  'aws_access_key_id' => 'AKIAKIAKI',
  'aws_secret_access_key' => 'secret123'
}
gitlab_rails['backup_upload_remote_directory'] = 'my.s3.bucket'

Что мне с этим делать? Я помещаю это внутрь /var/opt/gitlab/gitlab-rails/etc/gitlab.yml просто так, это то, что я делаю?

  multipart_chunk_size:
  encryption:

  gitlab_rails['backup_upload_connection'] = {
    'provider' => 'AWS',
    'region' => 'eu-west-1',
    'aws_access_key_id' => 'AKIAKIAKI',
    'aws_secret_access_key' => 'secret123'
  }
  gitlab_rails['backup_upload_remote_directory'] = 'gitlabbackupxan1234'

  ## GitLab Shell settings
  gitlab_shell:
    path: /opt/gitlab/embedded/service/gitlab-shell/

Затем мы подошли к

Если вы загружаете свои резервные копии на S3, вы, вероятно, захотите создать нового пользователя IAM с ограниченными правами доступа. Чтобы предоставить пользователю выгрузки доступ только для загрузки резервных копий, создайте следующий профиль IAM, заменив my.s3.bucket на имя своей корзины:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1412062044000",
      "Effect": "Allow",
    ...
      "Resource": [
        "arn:aws:s3:::my.s3.bucket"
      ]
    }
  ]
}

Опять же, как? Я начал читать об AIM, но это большая тема, и я не совсем уверен, что с ней делать.

Вы должны следовать инструкциям на http://cloudkul.com/blog/automate-gitlab-backups-within-amazon-s3-bucket/

Нет, вы должны поместить настройки «backup_upload_connection» и «backup_upload_remote_directory» в /etc/gitlab/gitlab.rb ... вы также должны раскомментировать некоторые другие настройки - как вы можете видеть по ссылке выше. Тогда вам следует перенастроить.

Вы переходите в IAM -> новый пользователь -> создать -> Политики -> создать политику пользователя -> вставьте указанную политику -> замените на имя созданной корзины s3 (2 места для замены). После нового пользовательского шага вы узнаете aws_access_key_id и aws_secret_access_key.

Вы также должны настроить cron, как они описывают.