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
0
160
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-self-managed
JAWS-UG 茨城 #9 1周年だよ!水戸に集合だぁ!
https://jawsug-ibaraki.connpass.com/event/370298/
emi
November 07, 2025
Tweet
Share
More Decks by emi
See All by emi
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
1
290
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
280
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
7
4.8k
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
490
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
360
robocopy の怖い話/scary-story-about-robocopy
emiki
0
550
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
660
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
2.3k
S3 Tables を図解でやさしくおさらい~基本から QuickSight 連携まで/s3-tables-illustrated-basics-quicksight
emiki
2
690
Other Decks in Technology
See All in Technology
実践マルチモーダル検索!
shibuiwilliam
3
580
AWS re:Invent 2025事前勉強会資料 / AWS re:Invent 2025 pre study meetup
kinunori
0
1.1k
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
410
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
1
830
Databricks Free Editionで始めるMLflow
taka_aki
0
790
龍昌餃子で理解するWebサーバーの並行処理モデル - 東葛.dev #9
kozy4324
1
100
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
340
[AWS 秋のオブザーバビリティ祭り 2025 〜最新アップデートと生成 AI × オブザーバビリティ〜] Amazon Bedrock AgentCore で実現!お手軽 AI エージェントオブザーバビリティ
0nihajim
2
360
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
1
320
AI時代に必要なデータプラットフォームの要件とは by @Kazaneya_PR / 20251107
kazaneya
PRO
4
720
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
1
690
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
0
160
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Rails Girls Zürich Keynote
gr2m
95
14k
Visualization
eitanlees
150
16k
Code Review Best Practice
trishagee
72
19k
How GitHub (no longer) Works
holman
315
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
640
GitHub's CSS Performance
jonrohan
1032
470k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Docker and Python
trallard
46
3.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Scaling GitHub
holman
463
140k
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