FJcloud実践
FJcloud-VのDevOps with GitLabで、DevOpsサーバーを立ち上げる
近年の開発現場では、DevOpsという言葉がよく聞かれるようになりました。DevOpsとは、従来よりありがちであった開発(Dev)と運用(Ops)の断絶をなくし、開発サイクルをより高速に回していこうという考え方や、そのための仕組みの呼び名です。
DevOpsはあくまで開発に対する考え方であり、その実践には具体的なツールが必要となります。そして、DevOps開発サイクルの中心に位置し、あらゆる作業の起点となるのが、ソースコード管理ツールです。本記事ではGitベースの開発プラットフォーム「GitLab」を使い、DevOpsサーバーをFJcloud-V上に構築する方法を解説します。
DevOps with GitLabとは
FJcloud-Vが提供するDevOps with GitLabは、その名の通りGitLabをベースとしたサービスです。DevOpsに必要不可欠となるソースコード管理、CI/CD、イシュー管理、コンテナレジストリなど、DevOpsのライフサイクル全体をカバーする機能を提供します。
GitLabはオープンソースソフトウェアであるため、自前で仮想サーバーにインストールすることもできます。ですが、前述の通りGitLabはDevOps開発サイクルの中心に位置し、あらゆる作業の起点となる、重要なインフラです。予期しないサーバーのダウンはもちろん、定期的なメンテナンスのための停止であっても、業務への影響は避けられません。また、セキュリティについても当然細心の注意を払う必要があるため、迅速なアップデート作業も必要になってきます。こうした、「メンテナンスし続けなければならない」「止まることが許されない」タイプのツールを自前で運用することは、インフラ担当者にとって決して軽くない負担となってしまいます。
ですが、DevOps with GitLabはマネージドサービスであるため、ユーザー自身によるインフラの管理が不要です。日次で自動的にバックアップが取得される他、GitLab自体のバージョンアップも自動的に実施されます。ESS(メール配信)との連携も設定済みなため、面倒なメールサーバーの構築や運用も不要です。FJcloud-VのファイアウォールやプライベートLANを設定することで、インターネットに環境を晒さず、セキュアに運用することもできます。またSSL証明書も取得済みで、最初からHTTPSによるセキュアな通信が行えます。
DevOps with GitLabを利用することで、ユーザーは面倒なインフラの管理から解放され、アプリケーション開発にリソースを集中できるでしょう。またGitLab CI/CDを活用すれば、コードのビルド、テスト、デプロイを自動化し、リリースサイクルの短縮と品質向上も実現できます。
DevOpsサーバーの構築
DevOpsサーバーの構築は、FJcloud-Vのコントロールパネルから簡単に実行できます。以下では構築の手順を紹介します。
ファイアウォールグループの作成
DevOpsサーバーへのアクセスを制御するため、あらかじめファイアウォールグループを作成しておきます。ファイアウォールグループとは、サーバーに対するインバウンドと、サーバーから出ていくアウトバウンドのトラフィックを制御するルールの集まりです。
コントロールパネルにログインしたら、「DevOps with GitLab」→「ファイアウォール」を開きます。「ファイアウォールグループ作成」をクリックしてください。
ファイアウォールグループの作成画面が開くので、名前を入力してゾーンを選択します。ゾーンはDevOpsサーバーを構築する予定のゾーンを選択してください。また、任意のメモを入力できます。また、名前やメモはあとから編集することも可能です。
ファオアウォールグループが作成できたら、このファイアウォールグループを選択した上で、メニューから「INルール設定の追加」を選択してください。
INルール設定の追加画面が開きます。ここでDevOpsサーバーへのアクセス許可を設定してください。許可できるプロトコル/ポートはICMP、もしくはTCP 22番(SSH)とTCP 443番(HTTPS)の3つです。ここではTCPの443番ポートに対し、オフィスのIPアドレスを許可しました。必要なルールを入力できたら「ルール追加」をクリックします。
ファイアウォールでは、必要最小限のアクセスのみを許可するのが鉄則です。モバイル環境などから利用する場合は難しいかもしれませんが、可能であればアクセス元のIPアドレスを制限しておくとよいでしょう。
パラメーターグループの作成
パラメーターグループとは、DevOpsサーバーの動作パラメーターをカスタマイズするための、設定値の集まりです。こちらも、DevOpsサーバーの作成前にあらかじめ作成しておきましょう。「DevOps with GitLab」→「パラメーター」を開きます。「パラメーターグループ作成」をクリックしてください。
パラメーターグループ名をつけて、「作成する」をクリックします。またここでも、任意のメモを追加できます。
パラメーターグループが作成できたら、このパラメーターグループを選択した上で、メニューから「設定変更」を選択してください。
パラメーターグループの設定変更画面が開きます。「パラメーター設定へ」をクリックすると、以下のようなパラメーターの設定画面が開きます。ただし、今回はデフォルト設定のまま動作させるため、最下部にある「キャンセル」を押してウィンドウを閉じてください。また、DevOpsサーバーの挙動を変更したい場合は、ここからパラメーターを変更してください。
DevOpsサーバーの作成
ファイアウォールグループとパラメーターグループの準備が整ったら、いよいよDevOpsサーバーを作成します。「DevOps with GitLab」→「DevOpsサーバー」を開きます。「DevOpsサーバー作成」をクリックしてください。
DevOpsサーバーの作成画面が表示されます。まずDevOpsサーバーに名前をつけましょう。
「ゾーン」は、先ほどファイアウォールグループを作成したゾーンと同じものを選択してください。
予想されるサーバーの負荷に応じて、「サーバータイプ」を選択してください。作成可能なサーバータイプはドキュメントを、各サーバータイプのスペックはこちらを参照してください。
「ファイアウォールグループ」と「パラメーターグループ」は、それぞれ先ほど作成したものを選択します。
「ディスク」容量は、用途に応じて100G/200G/300G/400Gの中から選択してください。
今回はプライベートLANを使用しない前提のため、「プライベートLAN」は「指定しない」を選択します。DevOpsサーバーをプライベートLANで別のサーバーと接続したい場合は、そのサーバーが所属するプライベートLANを選択してください。プライベートLANについてはこちらを参照してください。
「rootユーザーの初期パスワード」は、GitLabのrootユーザーの初期パスワードです。任意のパスワードを指定してください。
DevOpsサーバーでは、GitLabのGit LFSやパッケージリポジトリ、コンテナレジストリなど、サイズが大きくなりがちなオブジェクトを、サーバーのディスクではなくオブジェクトストレージにオフロードすることができます。もしもオブジェクトストレージを利用したい場合は、「オブジェクトストレージサービス」を「利用する」に設定した上で、アカウントやバケット名など、必要な情報を設定してください。本記事ではオブジェクトストレージサービスは利用しないため、ここは「利用しない」として解説は省略します。
設定が完了したら「確認へ」をクリックします。
設定が正しいかを確認の上、「作成する」をクリックしてください。
サーバーの作成が開始され、ステータスが「処理中」となります。デプロイの完了までは時間がかかるため、ステータスが「正常」になるまでしばらく待ちましょう。
サーバーの起動が完了したら、「基本情報」から「GitLab URL」を調べ、このURLをブラウザで開いてください。
以下のような、GitLabのログイン画面が表示されます。サーバーの作成時に設定した、rootパスワードでログインを行ってください。
ここからは、通常のGitLabと同じように利用できます。
まとめ
FJcloud-VのDevOps with GitLabを使用することで、エンタープライズグレードのGitLabサーバーを簡単に構築できます。本記事で説明した手順により、セキュアで拡張性の高いDevOps環境を短時間で立ち上げることが可能です。
FJcloud-VのDevOps with GitLabは、開発チームの生産性向上と運用負荷の軽減を両立させる強力なソリューションです。適切な設定と運用により、安定した開発基盤として長期的に活用できます。今後のプロジェクト要件に応じて、GitLab Runnerの追加やKubernetes連携など、さらなる機能拡張も検討してください。