GitLab のバックアップを ConoHa のオブジェクトストレージに自動的に保存する方法(11.9 版)


以前、下記の記事を公開しましたが、最新版だと変更が入っているようで、改めて記事を公開します。

今回は、ConoHa のテンプレートイメージを作った GitLab と、11.9 のバックアップを、ConoHa のオブジェクトストレージに保存する設定がどのように変わったか紹介します。

GitLab 11.8 以前の環境の構築

まずは、ConoHa のテンプレートイメージから GitLab の仮想マシンを作成しました。

================================================
Welcome to GitLab image!

URL: http://xxx.xxx.xxx.xxx/

Enjoy!

To delete this message: rm -f /etc/motd
================================================
# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

CentOS 7.6 とのことです。

GitLab 11.8.2

GitLab 11.8.2 でした。

ConoHa アプリケーションイメージ GitLab 11.2 説明

🤔.。oO(公式サイトには 11.2-64bit [centos-7.4] と書いてあったんだけどな

gitlab_rails['backup_upload_connection'] = {
'provider' => 'OpenStack',
'openstack_auth_url' => '(Identity Service のエンドポイント)',
'openstack_username' => 'gncu…(ユーザー名)',
'openstack_api_key' => '(APIパスワード)',
'openstack_tenant' => 'gnct…(テナント名)'
}
gitlab_rails['backup_upload_remote_directory'] = 'gitlab'

前回の記事で「openstack_auth_url は /v2.0 で止めるのではなく、/tokens まで記載する」と記載したように、上記のように /v2.0 で止めると、下記のようなエラーが表示されます。

Uploading backup archive to remote storage gitlab ... rake aborted!
Excon::Error::MethodNotAllowed: Expected([200, 204]) <=> Actual(405 Method Not Allowed)
excon.error.response
  :host          => "xxxxxxx"
  :path          => "/v2.0"
  :port          => 443
  :reason_phrase => "Not Allowed"
  :status        => 405
  :status_line   => "HTTP/1.1 405 Not Allowed\r\n"

GitLab のバージョンアップ処理中にでバックアップを行うため、一旦コメントアウトしておきます。

GitLab 11.9.6 にバージョンアップ

yum update gitlab-ce コマンドにて、バージョンアップを行いました。

Resolving Dependencies
--> Running transaction check
---> Package gitlab-ce.x86_64 0:11.8.2-ce.0.el7 will be updated
---> Package gitlab-ce.x86_64 0:11.9.6-ce.0.el7 will be an update
--> Finished Dependency Resolution
GitLab 11.9.6

GitLab 11.9.6 にバージョンアップできました。

この状態で、/v2.0 までのエンドポイントを指定した状態で設定の反映とバックアップを行ってみます。

gitlab_rails['backup_upload_connection'] = {
'provider' => 'OpenStack',
'openstack_auth_url' => '(Identity Service のエンドポイント)',
'openstack_username' => 'gncu…(ユーザー名)',
'openstack_api_key' => '(APIパスワード)',
'openstack_tenant' => 'gnct…(テナント名)'
}
gitlab_rails['backup_upload_remote_directory'] = 'gitlab'
# gitlab-ctl reconfigure
# gitlab-rake gitlab:backup:create
Creating backup archive: 1554651081_2019_04_08_11.9.6_gitlab_backup.tar ... done
Uploading backup archive to remote storage gitlab ... done
Deleting tmp directories ... done

見事 GitLab のバックアップを ConoHa のオブジェクトストレージにとることができました。

CloudBerry Explorer で ConoHa のオブジェクトストレージに保存した GitLab のバックアップを確認

なお、従来の /v2.0/tokens の書式でも正常にバックアップが取れることを確認したので、現時点ではどちらの記載方法でも良いようです。

まとめ

GitLab 11.9 で、openstack_auth_url に指定する URL が ConoHa のコントロールパネルに表示されるそのままで良くなり、便利になりました。

何らかの事情で GitLab の仮想マシンが壊れてしまってもバックアップから復元できるので、ConoHa のオブジェクトストレージへのバックアップは是非設定しておきたい機能です。


Comments

comments

コメントを残す

メールアドレスが公開されることはありません。

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)