GitLab에서 백업을 S3로 설정 + 정기적으로 백업 삭제

3429 단어 EC2S3IAMGitLab
GitLab에서는 백업 대상에 AWS S3를 활용할 수 있습니다.

설정 방법은 기본적으로 공식 문서대로입니다.

EC2의 IAM 역할을 사용하는 방법



GitLab을 EC2에서 실행하는 경우 IAM 역할을 사용하여 액세스 토큰의 포함을 피할 수 있습니다.
공식 문서에는 설명이 없지만 다음 설정에서 IAM 역할을 사용할 수있었습니다.
이는 GitLab의 백업 파일을 업로드하는 데 사용되는 Fog라는 라이브러리에서 지원되기 때문입니다.

설정 방법



다음과 같이 설정하면 IAM 역할을 사용하여 S3 백업이 가능합니다.
gitlab_rails['backup_upload_connection'] = {
  'provider' => 'AWS',
  'region' => 'リージョン名',
  'aws_access_key_id' => '',    # 空だけど必要
  'aws_secret_access_key' => '',# 空だけど必要
  'use_iam_profile' => true,
}

gitlab_rails['backup_upload_remote_directory'] = 'バケット名'

필수 항목의 유효성을 검사하므로 aws_access_key_id, aws_secret_access_key를 비워두고 'use_iam_profile' => true를 지정하면 IAM 역할을 사용할 수 있습니다.

이것은 아래에 보고된 공식 대응 MR이 병합될 때까지의 회피책이 될 것이라고 생각합니다.
  • htps : // 기트 b. 코 m/기 tぁb-오 rg/기 tぁb-세/이스에 s/12756
  • htps : // 기트 b. 코 m / gi t ぁ b rg / gi t ぁ b せ / め げ _ Rekue sts / 5910

  • S3에 업로드된 백업 파일을 정기적으로 지우는 방법



    GitLab 측 백업에서는 backup_keep_time 의 만료된 파일이 자동으로 삭제됩니다. 그러나 S3에 업로드한 경우에는 이 기한이 적용되지 않고 백업 파일이 모두 축적되어 갑니다.

    이 대응책으로서 삭제 스크립트를 사용하는 방법 가 있습니다만, S3의 수명주기 라고 하는 기능을 사용하는 것이 쉽습니다.
    이 S3의 라이프사이클 기능을 사용하면 지정된 기간 후에 파일을 삭제하거나 Glacier와 같은 저가의 장기 저장 스토리지로 이동할 수 있습니다.

    설정 방법



    S3의 버킷 속성에 있는 "라이프 사이클"에서 설정할 수 있습니다.



    다음과 같이 임의의 경과일수 후에 삭제하는 설정이 가능합니다.

    좋은 웹페이지 즐겨찾기