Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Ansibleで作る、AWSで「器の⼤き い」Omnibus-GitLab Kazuya Takei 2017/04/11 LT in GitLab Meetup Tokyo #2
Slide 2
Slide 2 text
⾃⼰紹介 武居和也(タケイ カズヤ) サーバサイド主軸のエンジニア Company: 株式会社ニジボックス 開発室 アーキテクト 主に事業以外の領域を⾒ています Social: @attakei Python系のコード書いていることが多いです
Slide 3
Slide 3 text
ニジボックスのGitLab 主に⾮業務領域や検証⽤コードの置き場として社内にひっそり提供 ○○勉強会 社内開発合宿 部活動 少し前はソースをCloneしてました インフラ移管のついでに、Omnibus-GitLab形式に移⾏ ※以降は、この環境構築時の知⾒をもとに、 ほぼ個⼈時間を使ってリファクタリングしてみたあとの話です。
Slide 4
Slide 4 text
今回話すこと 1. AWS上に 2. CloudFormationを使って 3. 「器の⼤きい」Omnibus-GitLabを構築する 4. Ansible の playbookを作りました。
Slide 5
Slide 5 text
DEMO(途中経過)
Slide 6
Slide 6 text
Omnibus-GitLabって? いわゆる、 All in one GitLab です。 GitLab(⼀式) PostgreSQL Redis nginx Mattermost をまとめてインストールしてくれます。
Slide 7
Slide 7 text
Ansibleって? Python製の構成管理ツールです。 - hosts: db roles: - postgres - hosts: web roles: - nginx (主役の⼀⼈だけど、今回は割愛)
Slide 8
Slide 8 text
「器が⼤きい」とは Omnibus-GitLabのファイルを置く領域に、Elastic File System(EFS)を使います。 https://aws.amazon.com/jp/efs/ AWSが提供するスケーラブルなファイルストレージ 容量をオンデマンドで使えるNFS的なもの 要するに リポジトリの利⽤枠が(実質)制限なしになります 今回は、この⼀点だけでEFSを選択しました
Slide 9
Slide 9 text
作ってみた構造
Slide 10
Slide 10 text
中⾝ https://gitlab.com/attakei/ansible-omnibus-gitlab-playbook ここに置いてます。(少し前に、publicにしました) 必要なもの AnsibleがインストールされているPC botoも必要 EFSを使えるAWSアカウント(IAMユーザ)
Slide 11
Slide 11 text
Ansibleでやっていること(1) CloudFormation経由でAWSのリソースをまとめて作成
Slide 12
Slide 12 text
Ansibleでやっていること(2) 作成されたEC2インスタンスに、EFSをマウントさせてGitLabをインストール
Slide 13
Slide 13 text
(そろそろ完了した?)
Slide 14
Slide 14 text
EFSによって得られる恩恵 1. GitLabアクセスする 2. rootパスワードを変更する 3. ログインする 4. Admin Area⾏く 5. Monitoring ⾒る 6. →→ こうなる →→
Slide 15
Slide 15 text
EFSによって得られる恩恵
Slide 16
Slide 16 text
8390000TB!? 8390 PB 8.4 EB ぐぐってみたら Androidのリポジトリをクローンすると40GB弱あるらしいです。 フルに使うと、$3,000,0000,000 = 330,0億/⽉?
Slide 17
Slide 17 text
8390000TB!?
Slide 18
Slide 18 text
運⽤上の話 サーバ監視する際に、ディスク使⽤量を気にする必要性はなくなりました ただし、EBSのボリューム拡⼤がもうアタッチしたままできます
Slide 19
Slide 19 text
FAQ的な CloudFormationで全部やらないの? Ansibleが好きなんです GitLab Pagesは? ELBを導⼊していないので、⾮対応です タイミング的に最初の構築時にはGitLab-CEにPagesがまだなかった
Slide 20
Slide 20 text
まとめ Omnibus-GitLabすごい Ansible楽ちん EFSやばい
Slide 21
Slide 21 text
ご清聴ありがとうございました