Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-s...
Search
emi
November 07, 2025
Technology
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-self-managed
JAWS-UG 茨城 #9 1周年だよ!水戸に集合だぁ!
https://jawsug-ibaraki.connpass.com/event/370298/
emi
November 07, 2025
More Decks by emi
See All by emi
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
600
実体験:エンジニアの妊娠・出産と仕事/real-life-experience-pregnancy-childbirth-and-work-for-engineers
emiki
10
2.1k
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
3
1.8k
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
810
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
8
5.6k
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
2.9k
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
740
robocopy の怖い話/scary-story-about-robocopy
emiki
0
1k
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
1
1.3k
Other Decks in Technology
See All in Technology
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
120
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
230
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
260
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
150
DINO-EdgeQuery:Edge-First Polygon Decoding for Building Footprint Extraction from Satellite Imagery
lehupa
0
140
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
570
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
240
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
620
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
160
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
150
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.6k
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
How to Ace a Technical Interview
jacobian
281
24k
Side Projects
sachag
455
43k
Typedesign – Prime Four
hannesfritz
42
3.2k
Site-Speed That Sticks
csswizardry
13
1.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Scaling GitHub
holman
464
140k
Done Done
chrislema
186
16k
A Soul's Torment
seathinner
7
3.5k
Code Review Best Practice
trishagee
74
20k
Transcript
2025/11/8(水) JAWS-UG 茨城 #9 1周年だよ!水戸に集合だぁ! AWS 環境で GitLab Self-managed を
試してみた
自己紹介 2 • 最近やっていた・いること ◦ Terraform を用いた AWS リソース構築支援 ◦
AWS Control Tower を用いたマルチアカウント環境での AWS Security Hub、Amazon GuardDuty 展開 ◦ AWS リソース負荷軽減、構成検討 ◦ コスト最適化アセスメント ◦ Amazon QuickSight や Amazon Athena を利用した データ分析・可視化 • 名前(ニックネーム) ◦ 木谷 映見(emi) • 部署 ◦ クラスメソッド株式会社 ◦ クラウド事業本部コンサルティング部 • 趣味 ◦ コーヒー、ドーナツ、サウナ、 ホットヨガ、漫画、音楽など AWS Certified Cloud Practitioner バ ッ ジ AWS Certified AI Practitioner バ ッ ジ AWS Certified Solutions Architect - Professional バ ッ ジ AWS Certified DevOps Engineer - Professional バ ッ ジ AWS Certified Advanced Networking - Specialty バ ッ ジ AWS Certified Machine Learning - Specialty AWS Certified Security - Specialty バ ッ ジ AWS Certified SysOps Administrator - Associate バ ッ ジ AWS Certified Developer - Associate バ ッ ジ AWS Certified Solutions Architect - Associate バ ッ ジ AWS Certified Data Engineer - Associate バ ッ ジ AWS Certified Machine Learning Engineer - Associate バ ッ ジ AWS Certified Cloud Practitioner バ ッ ジ AWS Certified AI Practitioner バ ッ ジ AWS Certified Solutions Architect - Professional バ ッ ジ AWS Certified DevOps Engineer - Professional バ ッ ジ AWS Certified Advanced Networking - Specialty バ ッ ジ AWS Certified Machine Learning - Specialty AWS Certified Security - Specialty バ ッ ジ AWS Certified SysOps Administrator - Associate バ ッ ジ AWS Certified Developer - Associate バ ッ ジ AWS Certified Solutions Architect - Associate バ ッ ジ AWS Certified Data Engineer - Associate バ ッ ジ AWS Certified Machine Learning Engineer - Associate バ ッ ジ 最近はカフェインを控えています
目次 3 ⚫ 背景 ⚫ 構築したもの ⚫ GitLab パーソナルアクセストークン取得 ⚫
AWS CodeConnections 連携 ⚫ 接続できたりできなかったり問題 ⚫ おわりに
背景 4 ⚫ 背景 ⚫ 構築したもの ⚫ GitLab パーソナルアクセストークン取得 ⚫
AWS CodeConnections 連携 ⚫ 接続できたりできなかったり問題 ⚫ おわりに
背景
6 ⚫ GitLab ⚫ ソースコード管理(Git)を中心としたソフトウェア開発を一元管理できるプラットフォーム ⚫ Issue 管理・Merge Request(レビュー)・CI/CD・Container Registry
など、開発に必要な 機能を統合提供 ⚫ クラウド/SaaS 版と、自前環境に構築できる Self-Managed 版がある 背景
7 ⚫ Self-Managed GitLab が選ばれるケース ⚫ セキュリティ & コンプライアンス ⚫
クラウド型 GitLab.com や GitHub.com が使えない ⚫ コードや成果物を SaaS(クラウド)に持ち出せない、オンプレや閉域網での運用が必須 ⚫ カスタマイズ性 ⚫ 外部認証方式・CI/CD 設計を独自にカスタムしたい ⚫ プラグイン / 独自インテグレーションを組み込みたい ⚫ コスト管理 ⚫ SaaS のユーザー課金より自前で構築した方がコストを抑えられる場合がある ⚫ Self-Managed で構築した GitLab が CodeConnections でうまくいかない ケースがあり、調査のために自分でも構築を試してみた 背景
構築したもの 8 ⚫ 背景 ⚫ 構築したもの ⚫ GitLab パーソナルアクセストークン取得 ⚫
AWS CodeConnections 連携 ⚫ 接続できたりできなかったり問題 ⚫ おわりに
構築したもの
10 構築したもの
11 構築したもの 色々あって NLB にしたのですが接続 でうまくいかないことが多発
12 ⚫ NLB のターゲットグループ 構築したもの
13 ⚫ NLB のターゲットグループ 構築したもの
14 ⚫ NLB 構築したもの
15 ⚫ NLB リスナー(ACM 証明書を設定) 構築したもの
16 ⚫ セキュリティグループ 構築したもの
17 ⚫ Route 53 構築したもの NLB に対するエイリアスレコード
18 ⚫ EC2 へ GitLab Community Edition(CE)をインストール ⚫ Amazon Linux
2023 に GitLab Community Edition をインストールする | DevelopersIO https://dev.classmethod.jp/articles/amazon-linux-2023-gitlab-ce/ ⚫ sudo dnf install -y policycoreutils-python-utils openssh-server openssh-clients perl ⚫ GitLab を動かすために必要な基本パッケージ(SSH/Perl 等)を先にインストール ⚫ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ⚫ GitLab CE 用のリポジトリを追加するスクリプトを取得&実行。この後に dnf install gitlab-ce が可能になる ⚫ sudo EXTERNAL_URL=“https://<設定するドメイン名>" dnf install -y gitlab-ce ⚫ GitLab CE 本体インストール。環境変数 EXTERNAL_URL で公開 URL を指定しておくとセットアップ時にその URL を使うよう構成される ⚫ sudo cat /etc/gitlab/initial_root_password ⚫ 初回ログイン用の管理者(root)パスワードを確認するコマンド。インストール直後のみ有効なファイル 構築したもの
19 構築したもの
20 構築したもの 繋がったりつながらなかったり
GitLab パーソナルアクセストークン取得 21 ⚫ 背景 ⚫ 構築したもの ⚫ GitLab パーソナルアクセストークン取得
⚫ AWS CodeConnections 連携 ⚫ 接続できたりできなかったり問題 ⚫ おわりに
GitLab パーソナルアクセストークン取得
23 GitLab パーソナルアクセストークン取得
24 GitLab パーソナルアクセストークン取得
25 GitLab パーソナルアクセストークン取得
26 GitLab パーソナルアクセストークン取得
27 GitLab パーソナルアクセストークン取得
28 GitLab パーソナルアクセストークン取得
AWS CodeConnections 連携 29 ⚫ 背景 ⚫ 構築したもの ⚫ GitLab
パーソナルアクセストークン取得 ⚫ AWS CodeConnections 連携 ⚫ 接続できたりできなかったり問題 ⚫ おわりに
AWS CodeConnections 連携
31 ⚫ Code シリーズのどれかを開き「接続」を作成 AWS CodeConnections 連携
32 AWS CodeConnections 連携
33 AWS CodeConnections 連携 保留中の接続を更新
34 AWS CodeConnections 連携 GitLab の パーソナルアクセストークン を入力
35 AWS CodeConnections 連携
36 AWS CodeConnections 連携
37 ⚫ あとはパイプラインを組んでいただく AWS CodeConnections 連携
接続できたりできなかったり問題 38 ⚫ 背景 ⚫ 構築したもの ⚫ GitLab パーソナルアクセストークン取得 ⚫
AWS CodeConnections 連携 ⚫ 接続できたりできなかったり問題 ⚫ おわりに
接続できたりできなかったり問題
40 ⚫ タイミングによって繋がったりつながらなかったり 接続できたりできなかったり問題
41 ⚫ NLB のターゲットグループで Unhealthy だったり Healthy だったり ⚫ Healthy
のタイミングで /users/sign_in にアクセスすると一時的には正常表示 ⚫ Unhealthy になるタイミングもあり、接続不良が発生 ⚫ nginx の LISTEN を確認 ⚫ ss –lntp ⚫ ネットワーク接続の状態を確認するコマンド ⚫ 0.0.0.0:80 を nginx が LISTEN → OK 接続できたりできなかったり問題
42 ⚫ gitlab.rb の編集 ⚫ gitlab.rb とは? ⚫ 場所: /etc/gitlab/gitlab.rb
⚫ GitLab の設定を一元管理しているファイル。gitlab.rb に書いた内容が nginx、redis、 postgresql… など GitLab を構成する全部のサービスへ自動反映される ⚫ sudo gitlab-ctl reconfigure コマンドでこのファイルを読み、各種サービスの 実設定ファイルが生成され再起動し設定が反映される ⚫ NLB で TLS 終端し、GitLab 本体(同梱 nginx)は HTTP(80) で待ち受ける構成にするため 設定を編集 接続できたりできなかったり問題
などなど試しましたが、 結局作業中に接続不良を起こすのは変わらず… 43 接続できたりできなかったり問題
44 接続できたりできなかったり問題 色々あって NLB にしたのですが接続 でうまくいかないことが多発 → ALB の方が良かった
45 ⚫ ALB なら ⚫ L7 (HTTP) を理解し、アプリ状態に応じた制御ができる ⚫ HTTP
レベルの情報(パス / ステータスコード / ヘッダー)を利用したヘルスチェック/コネクション制御 が可能。設定次第で、一時的な遅延や重い処理を Unhealthy と誤判定するリスクを軽減できる ⚫ NLB は L4 のため、バックエンドが遅延すると Health Check Timeout → Connection Close → nginx 499 と記録されやすい ⚫ スティッキーセッション対応 ⚫ アイドルタイムアウトを 1~4000 秒の範囲で調整できる ⚫ NLB は 120 秒まで ⚫ Apache や nginx のタイムアウトと合わせることに注意 ⚫ ELBアイドルタイムアウトを伸ばす場合に注意した事 #AWS - Qiita https://qiita.com/Taishikun0721/items/48711323d5cda6ae8dc7 ⚫ ELB のバックエンドサーバーとして Apache または NGINX を使用する | AWS re:Post https://repost.aws/ja/knowledge-center/apache- backend-elb ⚫ L7 ヘルスチェックが豊富 ⚫ パス、成功コードマッチャ、閾値など細かく調整でき、誤検知で Unhealthy になりにくい 接続できたりできなかったり問題
接続できたりできなかったり問題 46 ⚫ 背景 ⚫ 構築したもの ⚫ GitLab パーソナルアクセストークン取得 ⚫
AWS CodeConnections 連携 ⚫ 接続できたりできなかったり問題 ⚫ おわりに
おわりに
48 ⚫ GitLab についてちょっとだけ勉強できた ⚫ 馴染みのなかった Code シリーズに少し触れられた ⚫ 接続不調のトラブルシューティングで学びがあった
おわりに
None