株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

AzureにGitLabサーバーを立ち上げてみよう!

こんにちは、ネットワールドの鈴木です。
GitLab環境の検証のために「GitとCI/CDに関する知識ゼロのSEがGitLabの検証環境をDocker Imageで構築するだけの記事」でDockerを利用した環境作成方法を書いていますが、今回はAzureの仮想マシンでGitLab環境を作ってしまおう!という記事です。

仮想マシンとして作ることでGitLabサーバー側の設定変更方法がわかりやすかったり(Dockerだとdocker-composeの使い方わからないと詰む)しますし、Azureで作成することで最初からグローバルIPをもった仮想マシンとして構成することで外部とのあれやこれやの連携がしやすくなります。

本記事の対象の方

  • GitLab環境を作ってみたい方。
  • Docker1ミリもわからないという方。
  • GitLabサーバーで外部サービスとの連携とかも試してみたい方。
  • Azureのアカウントがあり仮想マシンを作れる方。

今回のブログのゴール

このブログのゴールはこちらです!

このブログのゴール
  • Azureの仮想マシンでGitLabサーバーを作る。
  • GitLabサーバーのWebUIにログインする。

このブログをお読みいただくにあたっての事前ご連絡事項

  • 本記事はGitLabがどういった製品なのかの説明はしておりません。製品説明につきましては弊社の製品ページ (こちら) をご参照ください。
  • GitLabの詳細な使用法についてはGitLabの公式オンラインドキュメント (こちら) をご参照ください。
  • Azureを使うのでどうしても費用が掛かってしまいます。その点ご了承ください。仮想マシン分でざっくり月1万円くらいです。
  • 外部公開するサーバーですがセキュリティの細かい部分は記載していません。あくまでも検証用サーバーとしてなので大事なデータやシークレットなどは保存しないでください。

それでは作っていきましょう!

作ってみる

Azure Portalにログインし仮想マシンを作っていきます。Azure Marketplaceに GitLabの仮想マシンイメージが登録されているので、それをつかえばサクッと動きます。

f:id:networld-blog-post:20220128111435p:plain

Marketplaceなので、GitLabのライセンス費用が・・・と気にされるかもしれませんが、ライセンスは持ち込みなのでAzureでは課金されません。
また、この仮想マシンで使っているエディションは Enterprise Editionになるのでライセンスがないと動かないんじゃないの?と思われるかもしれませんが問題ありません。
GitLabでは、Enterprise Editionを購入するかわからない場合でも、Community EditionのバイナリではなくEnterprise Editionのバイナリを使用してくださいとガイドがでています。GitLab様にも事前に確認し、Azure Marketplaceの仮想マシンイメージでも同等の対応になると回答をいただいているので、ライセンス面はひとまず気にせず実施します。
GitLab / Community EditionとEnterprise Editionの違い

Enterprise Editionのすべての機能は利用できません。機能はCommunity Edition相当になります。

それではAzure Portalにログインして、リソースの作成を開いてみましょう。
f:id:networld-blog-post:20220128112357p:plain

GitLab と検索すると表示されるリストの GitLab の部分をクリックしましょう。
f:id:networld-blog-post:20220128112417p:plain

GitLab IncのGitLab が表示されることを確認して 事前設定された構成で開始する を選択します。
f:id:networld-blog-post:20220128112435p:plain

ワークロードの環境、種類を選択します。 今回は検証なので、ワークロード環境を開発/テスト、ワークロードの種類を汎用(Dシリーズ) にします。 選択後、VMの作成を続行する を選択します。
f:id:networld-blog-post:20220128112516p:plain

ここから通常の仮想マシンの作成画面になります。
イメージがGitLab - Gen1、サイズがStandard_D2s_v3 - 2vcpu 数,8GiBのメモリ となっていることを確認できたら、その他必要項目を埋めます。
この後のディスク、ネットワーク、管理、詳細、タグ も環境に合わせて設定してください。
f:id:networld-blog-post:20220128112539p:plain

確認および作成 画面で設定上に不備がないか検証されます。問題がなければ作成 を実行します。
f:id:networld-blog-post:20220128112612p:plain

しばらく(数分)するとデプロイが完了するので、リソースに移動してみましょう! f:id:networld-blog-post:20220128112723p:plain

作成した仮想マシンリソースの概要が表示されます。
状態が 実行中 となっていればデプロイは完了です!
f:id:networld-blog-post:20220128140757p:plain

接続してみよう!

GitLabの仮想マシンイメージを使ったので、すぐにGitLabサービスに接続できるようになっています。
管理者アカウントを確認して接続してみましょう!

管理者アカウントを調べる

管理者アカウントとして、 root が設定されています。
rootアカウントのパスワードは仮想マシンのローカルにパスワードが記載されているファイルが保存されているので仮想マシンに接続して確認します。

Azure Portalにログインして、作成した仮想マシンの概要に移動します。
接続のドロップダウンリストから SSH を選択します。
f:id:networld-blog-post:20220128112808p:plain

SSH を使用してクライアントと接続する に接続の手順が表示されるので手順に従って接続します。
f:id:networld-blog-post:20220128112834p:plain

homeディレクトリにbitnami_credentialsというファイルがあり、その中にパスワードがあるので開いて確認、コピーしておきます。
- 実行するコマンド: cat bitnami_credentials

f:id:networld-blog-post:20220128112856p:plain

Webコンソールで接続する

管理者アカウントの情報が入手できたらGitLabのWebUIにログインします。
このとき、仮想マシンに割り当てられている パブリックIPアドレス が必要になります。仮想マシンの概要からパブリックIPアドレスをコピーしておきます。
f:id:networld-blog-post:20220128140410p:plain

Webブラウザで https://(コピーしたIP) に接続します。今回はGoogle Chromeで接続しています。
この接続ではプライバシーが保護されません のページが表示されます。サーバー証明書を設定していないので正常な動作です。
詳細設定 をクリックして、(IPアドレス)にアクセスする(安全ではありません) を選択します。
f:id:networld-blog-post:20220128112941p:plain

ログイン画面が表示されるので、

  • Username or email: root
  • Password : コピーしたパスワード

を入力してログインします。 f:id:networld-blog-post:20220128113002p:plain

ログインができました!
f:id:networld-blog-post:20220128113020p:plain

このようにAzureを使うことでOSやGitLabのインストールを行うことなく、GitLabサーバーを簡単に立ち上げることができます。
外部からのアクセスのテストなども簡単にできるようになるので気になる方は一度試してみてください!

Azureの費用が・・・とお金面で気になる方は、Azureの仮想マシンの自動起動と自動停止機能をつかって業務時間だけ動かすことで費用はだいぶ圧縮できると思います。

参考URL: https://docs.gitlab.com/ee/install/azure/