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
Ansibleで作る、AWSで「器の大きい」Omnibus-GitLab
Search
attakei
April 11, 2017
Technology
2
2.2k
Ansibleで作る、AWSで「器の大きい」Omnibus-GitLab
HTMLスライドなので、どこかのタイミングでHTML版もちゃんと公開する予定です
- 5/14 整形して再アップロード
attakei
April 11, 2017
Tweet
Share
More Decks by attakei
See All by attakei
Sphinxを通して考える、「拡張」の仕方 / First approach for development sphinx extension
attakei
2
4.1k
PyPIデビュー手前の人のための地下活動手法 -PyPICloudを使ったプライベートレジストリの構築- / Using PyPICloud as private registry for pre-debut to PyPI
attakei
1
470
「〇〇のプラグインを作る」ことのすゝめ / Let's develop plugins
attakei
0
1.1k
プレゼン?それもSphinxで出来るよ -ドキュメントツールSphinxのちょっと変わった利用法- / You can presentation too by Sphinx!
attakei
1
1.2k
Cloud RunとFastAPIで、ChatBotをミニマムスタートしよう / Getting start ChatBot with FastAPI and Cloud RUN
attakei
0
2.9k
Web制作において、プレビューにあえてCloudRun(とFirebase)を使う / Using Cloud Run (and Firebase) as preview environment of HTML in web development
attakei
0
1.2k
Ansibleを通じて「べき等性」を 理解してみよう / Try understanding idempotency by Ansible
attakei
1
1.2k
素材の良さを活かしつつ、reST をReveal.jsに変換してみる話 / Converting pure reST to Revealjs
attakei
0
380
Eelで作ってみる WHOISアプリと スライド
attakei
0
980
Other Decks in Technology
See All in Technology
Pwned Labsのすゝめ
ken5scal
1
310
EDRの検知の仕組みと検知回避について
chayakonanaika
11
4.5k
What's new in Go 1.24?
ciarana
1
100
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
15k
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
570
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
550
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
120
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1k
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
340
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
110
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
190
分解して理解する Aspire
nenonaninu
2
910
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Being A Developer After 40
akosma
89
590k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Automating Front-end Workflow
addyosmani
1368
200k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Building Applications with DynamoDB
mza
93
6.2k
Building Your Own Lightsaber
phodgson
104
6.2k
The Language of Interfaces
destraynor
156
24k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Transcript
Ansibleで作る、AWSで「器の⼤き い」Omnibus-GitLab Kazuya Takei 2017/04/11 LT in GitLab Meetup Tokyo
#2
⾃⼰紹介 武居和也(タケイ カズヤ) サーバサイド主軸のエンジニア Company: 株式会社ニジボックス 開発室 アーキテクト 主に事業以外の領域を⾒ています Social:
@attakei Python系のコード書いていることが多いです
ニジボックスのGitLab 主に⾮業務領域や検証⽤コードの置き場として社内にひっそり提供 ◦◦勉強会 社内開発合宿 部活動 少し前はソースをCloneしてました インフラ移管のついでに、Omnibus-GitLab形式に移⾏ ※以降は、この環境構築時の知⾒をもとに、 ほぼ個⼈時間を使ってリファクタリングしてみたあとの話です。
今回話すこと 1. AWS上に 2. CloudFormationを使って 3. 「器の⼤きい」Omnibus-GitLabを構築する 4. Ansible の
playbookを作りました。
DEMO(途中経過)
Omnibus-GitLabって? いわゆる、 All in one GitLab です。 GitLab(⼀式) PostgreSQL Redis
nginx Mattermost をまとめてインストールしてくれます。
Ansibleって? Python製の構成管理ツールです。 - hosts: db roles: - postgres - hosts:
web roles: - nginx (主役の⼀⼈だけど、今回は割愛)
「器が⼤きい」とは Omnibus-GitLabのファイルを置く領域に、Elastic File System(EFS)を使います。 https://aws.amazon.com/jp/efs/ AWSが提供するスケーラブルなファイルストレージ 容量をオンデマンドで使えるNFS的なもの 要するに リポジトリの利⽤枠が(実質)制限なしになります 今回は、この⼀点だけでEFSを選択しました
作ってみた構造
中⾝ https://gitlab.com/attakei/ansible-omnibus-gitlab-playbook ここに置いてます。(少し前に、publicにしました) 必要なもの AnsibleがインストールされているPC botoも必要 EFSを使えるAWSアカウント(IAMユーザ)
Ansibleでやっていること(1) CloudFormation経由でAWSのリソースをまとめて作成
Ansibleでやっていること(2) 作成されたEC2インスタンスに、EFSをマウントさせてGitLabをインストール
(そろそろ完了した?)
EFSによって得られる恩恵 1. GitLabアクセスする 2. rootパスワードを変更する 3. ログインする 4. Admin Area⾏く
5. Monitoring ⾒る 6. →→ こうなる →→
EFSによって得られる恩恵
8390000TB!? 8390 PB 8.4 EB ぐぐってみたら Androidのリポジトリをクローンすると40GB弱あるらしいです。 フルに使うと、$3,000,0000,000 = 330,0億/⽉?
8390000TB!?
運⽤上の話 サーバ監視する際に、ディスク使⽤量を気にする必要性はなくなりました ただし、EBSのボリューム拡⼤がもうアタッチしたままできます
FAQ的な CloudFormationで全部やらないの? Ansibleが好きなんです GitLab Pagesは? ELBを導⼊していないので、⾮対応です タイミング的に最初の構築時にはGitLab-CEにPagesがまだなかった
まとめ Omnibus-GitLabすごい Ansible楽ちん EFSやばい
ご清聴ありがとうございました