Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-s...
Search
emi
November 07, 2025
Technology
1.9k
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
620
実体験:エンジニアの妊娠・出産と仕事/real-life-experience-pregnancy-childbirth-and-work-for-engineers
emiki
10
2.2k
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
3
1.9k
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
840
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
3k
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
770
robocopy の怖い話/scary-story-about-robocopy
emiki
0
1.1k
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
1
1.3k
Other Decks in Technology
See All in Technology
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
cscengineer
PRO
0
130
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
250
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.8k
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
2.1k
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
120
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
0
290
Railsのように考える: See through the Master
snoozer05
PRO
4
1.2k
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
220
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.7k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
230
Antigravity SDK for the Java Developer
glaforge
0
100
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
530
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
730
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Raft: Consensus for Rubyists
vanstee
142
7.7k
The SEO identity crisis: Don't let AI make you average
varn
0
560
My Coaching Mixtape
mlcsv
0
320
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
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