DevOps with GitLab [1] [2]
Infrastructure as Code(IaC)パターン
DevOps環境を提供するニフクラ DevOps with GitLabサービスを利用して、Infrastructure as Code(IaC)を実現する環境を構成するパターンです。
解決したい課題/要求事項
-
IaCに取り組みたいが、実現するための環境構築や運用作業に手間と時間、コストがかかるのを何とかしたい。
-
柔軟かつ迅速に対応できるシステムインフラ環境を実現したい。
-
インフラ環境の構築を手作業で実施することによるミスを防止したい、誰が構築しても同じ結果となり、他環境へも流用可能にしたい。
ニフクラでの解決パターン
以下によって、解決したい課題の解決や要求事項を実現します。
-
インフラストラクチャをソースコードを使って構築するようにし、そのソースコードをニフクラ DevOps with GitLabで管理すればインフラストラクチャのメンテナンス性を向上させることができます。ソースコード上の変更箇所を捉えやすくなり、事前レビューによるチェック作業も効率的に進められます。
-
DevOpsのパイプライン機能により自動的に構築や設定チェックをすることで、手作業によるミスや、属人化といった課題も解決し、環境構築作業で発生するコストや時間を抑えることができます。
実装
-
コードの管理、プロジェクトの管理、可視化、デプロイメント、DevOpsサーバーの運用に必要な機能が一通り揃っており、これらを活用することで運用工数を大幅に削減できます。
-
例えばAnsibleなどを利用し、そのコードをニフクラ DevOps with GitLabで管理することで、各環境の設定や訂正、変更を簡単に制御が可能となります。
-
ニフクラ DevOps with GitLabでは、Hosted Runnerを提供しています。利用者自身でRunnerサーバーを構築・運用する必要はありません。簡単に専用のCI/CD環境を立ち上げることができます。
補足
-
DevOpsの機能を全て活用するには、GitLab EE サブスクリプション の購入が必要です。GitLab EE サブスクリプションにつきましては、以下のページを確認してください。
機能・サービス:GitLab 製品の利用 -
オンプレ環境で自前のコードを管理したい場合は、GitLabEEライセンスをオンプレの環境に適用してください。
注意点
-
ニフクラ DevOps with GitLabで選択可能なサーバータイプ、ディスク容量には制限があります。詳細につきましては、以下のページを確認してください。
機能・サービス:DevOps with GitLab
本パターンの構成要素
本パターンを実現するためのニフクラサービス構成要素例は以下表の通りです。
- IaCパターンの構成要素
サービス名 |
タイプ |
用途 |
数量 |
備考 |
---|---|---|---|---|
1. GitLab Enterprise Edition サブスクリプションと組み合わせることで、GitLab Enterprise Edition の追加機能やサポートが利用できます。詳しくは、GitLab製品の利用 を確認してください。
2. DevOps with GitLabのRunner機能はDocker executorを採用しています。必要な実行環境のイメージを宣言すると、自動的に環境が立ち上げられます。詳細は、DevOps with GitLab技術仕様 を確認してください。
|
devops.c-medium |
DevOpsサーバー |
1 |
- |
ディスク容量(100GB) |
ディスク |
1 |
- |
|
ファイアウォールグループ |
ファイアウォール |
1 |
- |
|
runner.c-medium |
DevOps Runner |
1 |
- |
|
- |
- |
1 |
任意で利用 |
- IaCにより作成されるサーバーの構成要素