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
github-classmethod-study-20170426
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Koji Nakayama
April 26, 2017
Technology
3.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
github-classmethod-study-20170426
http://dev.classmethod.jp/news/170426-github-classmethod-study/
Koji Nakayama
April 26, 2017
More Decks by Koji Nakayama
See All by Koji Nakayama
Software Testing in AWS IoT with The Power of Python
knakayama
0
1.8k
The ~~Ten~~ Three Most Critical Security Risks in Serverless Architectures
knakayama
2
1.6k
サーバーレス x IoT 〜我々はどういった課題に直面してそれをどのように解決したのか〜
knakayama
0
1.5k
Bloxが切り開くECSの世界
knakayama
1
1.3k
AWS Serverless Application Modelのデプロイ戦略
knakayama
4
2.5k
サーバレスアーキテクチャはじめの一歩
knakayama
1
1.6k
Other Decks in Technology
See All in Technology
CIで使うClaude
iwatatomoya
0
190
はじめてのWDM
miyukichi_ospf
1
130
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
580
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
560
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
3
470
プロンプト_きのこカンファレンス2026_LT
yurufuwahealer
0
150
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
2
540
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
2.2k
実装だけじゃない! CCA-F取得エンジニアが教えるClaude Code開発プロセス活用術
diggymo
2
480
20260702_生成AIはどこまで成長するのか_チャットだけじゃない世界
doradora09
PRO
0
110
初めてのDatabricks勉強会
taka_aki
2
250
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
840
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
HDC tutorial
michielstock
2
730
From π to Pie charts
rasagy
0
230
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building Applications with DynamoDB
mza
96
7.1k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
410
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Transcript
GitHub Enterprise;AWSΨ 奲ΕݳΥͱ͵CDP GitHub;μ϶φϮϊϐϖ΄ۣ䔶տ 뺶GitHub x AWS΄๋ෛDevOpsԪఘ뺶 2017/04/26 Ӿઊ ଛလ
1
ᛔ૩奧Օ • Ӿઊ ଛလ • μ϶φϮϊϐϖ AWSԪ䮣᮱ ϊϷϲЄτϴ ЀίЄκϓμϕ •
AWSΨڥአͭ͵αЀϢ϶΄戔懯/䯤塈/π ЀςϸϓΰЀν • GitHub: knakayama • 奺䵉 • ηЀϤϹςЄϝ΄晁አ3ଙ • AWS 1ଙ 2
ίυδЀύ 1. Ք෭͠扖ͯΡٖ 2. AWSΨֵ͜Ӥͽ΄च㵟 3. GitHub EnterpriseΨֵ͜Ӥͽ΄च㵟 4. CDP΄奧Օ
5. Δ;Η 6. ݇ᘍϷЀμ 3
ဳᅩ • GitHub Enterprise΅GHE;ᤒ懿ͯΡ • GHE΅咲ᤒ䦒๋ෛϝЄυϴЀͽ͘Ρ2.9ᔮΨమਧ • AWSΘ匍䦒ᅩ΄ఘ䁭ΨڹͯΡ • 㪒ςЄϠφ;ΘίϐϤϔЄϕ͚͢΄ͽڥአͯΡ檭΅๋ෛ΄ఘ
䁭Ψ݇ᆙͯΡͩ; 4
1. Ք෭͠扖ͯΡٖ • GHEΨAWSͽֵͼ͚ͥ檭΄抓氂;ͳ΄ᥴဩΨͪ奧Օ • ۆΠ;OpsੀΠٖ͢ग़Η • ͽφ϶αϖل樄ͭΔͯ • ݇ᘍϷЀμΨ㪥ͱͼ͚Ρ΄ͽ托奞ΨᎣΠ͵͚䁰ݳ΅݇ᆙͥͶͫ
͚ 5
2. AWSΨֵ͜Ӥͽ΄च㵟 • ᒫӞϫϚЄυϖςЄϠφ΄ڥአΨ䭥懵ͯΡͩ; • ਞਧ • ՜ςЄϠφ;΄昧൭ • 晁አ揗រ΄֗仂
• 䰤伛ςЄϠφͽ΅ᥝկݳΥ͚䁰ݳᛔړ͵ͷͽ֢Ρ • տᐒ͢ಭ揾ͯΏͣϠυϚφϺυϐμᵞӾͯΡ 6
3. GHEΨֵ͜Ӥͽ΄च㵟 • चጱGHEᛔ΄戔ਧΨΟ͚ • GHE΄ίϐϤϔЄϕͽ/data/userզक़قͼӤ䨗ͣͫΡ͵Η • GitHub͢׀ͭͼͥͼ͚Ρ䰤伛䱛ᚆΨֵ͜ • 晁አ揗រΨ֗仂ͭ͵୵ͽGHEΨᓕቘͽͣΡ
7
4. CDP΄奧Օ 8
抓氂1 9
GHEΨαЀόЄϚϐϕ ل樄ͭ͵͚ͥ 10
GHEΨαЀόЄϚϐϕل樄ͭ͵͚ͥ • GitHub.com͘͢ΡΘ樛ΥΟͰGHEΨڥአͯΡ㵕䱛΅͚ͥͺ͘͡Ρ • ψκϲϷϓΰӤ΄ᥝկ͡Οᐒक़ϊЄφπЄϖΨᗝͣ͵͚ͥ;ᘍ ͞Ρ͠ਮ䯭΅ग़͚ • Ϥ϶αϦЄϕϷϪυϕϷΨϞϣϷϐμͭͼͭΔ͵ • ίμψφκЄΨπϬϐϕތΗͼͭΔ͵
• ᐒٖ΄LDAPςЄϝͽϺναЀᓕቘͭ͵͚ 11
Ϥ϶αϦЄϕNWϞόЄЀ 12
䯤౮ • ᐒٖNW;VPC樌Ψψκϲίള姆 • ϜЄϖγδίVPN • αЀόЄϚϐϕࢧ娄ΨIPsec VPNͽ ิݩ۸ •
Direct Connect • 䌑አ娄ͽVPC;ള姆 13
晝ਧϪαЀϕ ϜЄϖγδίVPN Direct Connect πφϕ ਞ㭅ϦφϕεϢζЄ ϕࢧ娄Θڥአݢᚆ κϰϷί΄䌑አ娄ςЄ Ϡφ΄ॶ夹͢ᥝ ϷЄϖόαϭ
ܨ䦒~ හ昱樌~ 䒏ऒ ิݩ۸΄ηЄϝЄϥϐ ϖΞΠګᴴ͘Π ~10Gbps ߝ搡 αЀόЄϚϐϕϦЄφ ΄͵Η奺᪠Ӥ΄Ϛϐϕ ϼЄμᇫ䙪΄段Ψݑ ͧΡ κϰϷίΞΠߝ搡͢ כ戣ͫͼ͚Ρ ᵑਸ਼䦒΄ڔΠړͧ αЀόЄϚϐϕϦЄφ ΄͵Ηᛔᐒͽכ೮ͭͼ ͚Ρ塅㾨զक़΄ڔΠړ ͧ͢櫞͚ͭ εЀϖϑЄεЀϖͽͿ ΄奺᪠Ψڥአͭͼ͚Ρ ͡ൎͽͣͼ͚Ρ͵Η ྲ斃ጱฃ https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2016-amazon-vpc/66 14
αЀόЄϚϐϕΎ΄ίμψφ • GHE͡ΟαЀόЄϚϐϕڊͼ͚ͥ͵Η΅̵ NAT Gateway͡ᐒٖNW΄οЄϕγδαΨڥአ ͯΡ • ϸЄϕϓЄϣϸ΄戔ਧ΅զӥ΄Ξͯ͜Ρ Destination Target
䯤౮ 0.0.0.0/0 nat-xxx NAT Gateway 奺ኧ 0.0.0.0/0 vgw-xxx ᐒٖοЄϕ γδα奺ኧ 15
抓氂2 16
GHE΄ϝϐμίϐϤͭ͢͵͚ 17
GHE΄ϝϐμίϐϤͭ͢͵͚ • य़ԪϊЄφπЄϖΨכᓕͭͼ͚ΡGHE΄ϝϐμίϐϤ΅殾 • ηϧϬφͿͽϔЄό΄ၾ०᩸ͩ͢Ρݢᚆ΅Ϳ΄奲婻ͽΘ͘Ρ • ϝϐμίϐϤ/ϷφϕίͯΡ͵Η΄ϑЄϸΨGitHub͢ل樄ͭͼͥ ͼ͚Ρ • https://github.com/github/backup-utils
• ͵Ͷ̵ͭϑЄϸΨ䋚ᤈͯΡαЀφόЀφ΄ᓕቘ΅ͭ͵͚ͥ 18
ϫϚЄυϖϝϐμίϐϤϞόЄЀ 19
DatePipeline • GHE΄ϝϐμίϐϤ㳌ቘΨDatePipeline ͽਧ嬝 • ݱ圵ϔЄό΄ᑏ㵕Κ̵ݐͿΨਧ 嬝ͽͣΡ • ϼЄμϢϺЄΨϠυϲί϶αχᤒ ᐏͭͼͥΡ
• ϝϐμίϐϤ΄Ξ͜ϝϐώ㳌ቘ΄ ਧ嬝๋晒 20
ϼЄμϢϺЄ • φξυϲЄϸͽਧ๗ጱEc2ResourceΨ᩸ 㵕 • ᩸㵕ͭ͵αЀφόЀφͽ ShellCommandActivityΨ䋚ᤈ • τδϸπϫЀϖ΄Ӿͽghe-backupπϫЀϖ Ψ䋚ᤈ
• EBSΔ͵΅EFSϝϐμίϐϤϔЄόΨכਂ • ϝϐμίϐϤ΄ݐ०䤂ͭ͵䁰ݳ̵SNS ϕϡϐμ奺ኧͽᓕቘᘏ᭗Ꭳ 21
Ϸφϕί • Ϸφϕί䦒Ӟ䦒ጱαЀφόЀφΨ ᩸㵕 • ᩸㵕ͭ͵αЀφόЀφͽEBS͡EFSΨϫ γЀϕ • ghe-restore πϫЀϖΨ䋚ᤈͭͼϷφ
ϕί • ΘͷΣΩ̵Ϸφϕί㳌ቘΨDatePipeline ͽਧ嬝ͯΡͩ;Θݢᚆ 22
抓氂3 23
GHE΄Email NotificationΨֵ͚͵͚ 24
GHE΄Email NotificationΨֵ͚͵͚ • Email Notification;΅GHE΄αϦЀϕ咲ኞ䦒ϮЄϸͽ᭗Ꭳͭ ͼͥΡ䱛ᚆ • PR/Issue/etc... • GHE΄䁰ݳ̵ᛔړͽᭆמአϮЄϸςЄϝΨ䯤塈ͯΡᥝ͘͢Ρ
• ͳአ΄ϮЄϸςЄϝ͚͢䁰ݳ̵ͩ΄䱛ᚆΨڥአͯΡ͵ΗͶ ͧ䯤塈ͯΡ΄΅τЀϖ͚ 25
ϫϚЄυϖEmail Notification ϞόЄЀ 26
SES • GHE͡ΟSES奺ኧͽNotificationΨᭆמ • GHE;SES΅㳨ϷЄυϴЀͽΘOK • SES΄ϮЄϸᭆמ΅ϩόЀϪώϪώͽ 墋㶨ψϐϕίϐϤݢᚆ • SESΨֵ͜ΟϖϮαЀᓕቘΨRoute53
ͽΚΡ;墋㶨 27
ψϐϕίϐϤ • SES厏हΨςЀϖϩϐμφक़ᑏ㵕 • SMTP扯戣አIAMϳЄσ΄֢౮ • ᭆמزϖϮαЀ΄扯戣 • GHE΄ϫϚυϮЀϕπЀϊЄϸ͡Ο SMTP΄戔ਧ
28
抓氂4 29
GHEΨ䮭ᓕቘͭ͵͚ 30
GHEΨ䮭ᓕቘͭ͵͚ • GHE΄ϺνΨכਂͭ͵Π̵ϮϕϷμφΨ㷧ᵞͭ͵͚ • ͽΘεЄυδЀϕͿ΄ϊϢϕγδίΨGHEᛔ֛αЀφϕЄϸͯΡ΄ ΅ͧ͵͚ • Ϻν΅ϢζϼЄϔΰЀνͯΡͩ;ΞΠ敢ᭆݢᚆ • ϺναЀઆ䵉/ίϤϷξЄτϴЀϺν/etc...
• SNMPͽϮϕϷμφΨ㷧ᵞݢᚆ • CPU/φϕϹЄυᰁ/ϮϯϷ/etc... 31
WorkerϞόЄЀ 32
Ϻν΄ίЄθαϣ • GHEͽϺνϢζϼЄϔΰЀνΨํ㵁۸ • UDP:514ͽGHE͡ΟϺνΨ㷧ᵞ • fluentd-plugin-s3ͽS3כਂ • Ϥ϶αϦЄϕNWϞόЄЀ΄䁰ݳ΅VPC EndpointΨڥአͯΡͩ;
• S3΅ϔЄόϹαμ;ͭͼڥአݢᚆ΄ ͽਖ਼ጱړຉ/ݢ憙۸;͚͵ͩ;Θ ݢᚆ 33
Ϻν΄哶憙 • GHEͽϺνϢζϼЄϔΰЀνΨํ㵁۸ • fluent-plugin-cloudwatch-logsͽ CloudWatch LogsϺνΨ敢ᭆ • Metrics FilterΨڥአͭͼᇙਧ΄ਁڜ
ϫϐώͭ͵䁰ݳSNSϕϡϐμ᭗Ꭳ 34
ϷϊЄφ΄哶憙 • GHEͽSNMPϯϘόϷЀνΨํ㵁۸ • CollectdΨαЀφϕЄϸͭ͵αЀφόЀ φͽGHE΄ϮϕϷμφΨSNMP奺ኧͽ 㷧ᵞ • Collectd͡ΟCloudWatch MetricsΎ΄敢
ᭆ΅AWSلୗϤ϶ναЀΨڥአ • https://github.com/awslabs/collectd- cloudwatch 35
抓氂5 36
GHEϫϸώϖϮαЀ戣ก䨗Ψ 戔ਧͭ͵͚ 37
GHEϫϸώϖϮαЀ戣ก䨗Ψ戔ਧͭ͵͚ • GHE΅HTTPS᭗מ͢വ䅏 • GHE΅Subdomain Isolation;͚͜䱛ᚆ͘͢Πവ䅏戔ਧ • URLΨςϣϖϮαЀ୵ୗͭͼXSS㯪͞Ρ䱛ᚆ • ͩ΄䱛ᚆΨڥአͭͺͺHTTPS᭗מͯΡ͵Η΅ϫϸώϖϮαЀ
戣ก䨗͢ᥝ 38
Subdomain Isolation Original Path With subdomain isolation http(s)://hostname/gist/ http(s)://gist.hostname/ http(s)://hostname/raw/
http(s)://raw.hostname/ • SSL戣ก䨗΄ϖϮαЀ͢ *.hostname ;SANͽ hostname 䌏䖕ͭͼ͚Ρᥝ͘͢Ρ • ηϹηϹ戣ก䨗Ͷ;ϣ϶γσᦄޞ͢ڊͼͭΔ͜ • ᐒٖڥአ΄͵ΗSSL戣ก䨗Ψ揮͚͵͚ͥ 39
ϫϚЄυϖCertificationϞόЄЀ 40
ACM • 戣ก䨗΄咲ᤈ΅僻ාͽֵ͞Ρ • 戣ก䨗΄ๅෛ֢䮣΅AWS͢ΚͼͥΡ • ϫϸώϖϮαЀ戣ก䨗Θ䌏䖕 • ACM΅ϖϮαЀ扯戣(DV)΄Ε䌏䖕 •
䋚ࣁ扯戣(EV)/奲婻扯戣(OV)戣ก䨗΅๚䌏䖕 • ᐒक़ل樄͚ͭ΄ͽ͘ΆACMͽ܈ړ 41
ϺЄϖϝ϶Ѐς • GHE΄2.9ᔮ͡ΟϺЄϖϝ϶ЀςΨςϪЄ ϕ • PROXY protocol(വ䅏) • X-Forwarded-For •
զӥ΄2ͺ΅ᶋ䌏䖕 • ϺЄϖϝ϶ЀτЀν • SSLόЄϬϚЄτϴЀ • GHE΄ڹྦྷELBΨ戔ᗝ̵ͭͳͩACMΨ 戔ਧͯΡ 42
ϺЄϖϝ϶Ѐς • ALB΅PROXY protocol䌏䖕ͭͼ͚ ΄ͽCLBΨֵ͜ • Ϥ϶αϦЄϕNWϞόЄЀ΄䁰ݳ΅ Internal ELB 43
44
抓氂6 45
GHE΄HA䯤౮Ψ䮭ᓕቘͭ͵͚ 46
GHE΄HA䯤౮ • GHE΅Active/Standby୵ୗ΄HA䯤౮͢ ݢᚆ • Ϥ϶αϫϷ - ψθЀύϷͽϹϤϷξЄ τϴЀΨ奲Ε̵ϔЄόΨݶ๗ͫͱΡ䯤౮ •
SSHΚVPNϕЀϚϸΨڥአͭͼ͚Ρ΄ ͽ̵Ϥ϶αϫϷ - ψθЀύϷ樌ͽͳΟ ΄ψϐϕίϐϤΨͭͼͥ͠ᥝ͘Π • 戔ਧ΅ghe-replᔮ΄πϫЀϖΨڥአͯ Ρ 47
HA䯤౮΄ψϐϕίϐϤ # ϹϤϷξЄτϴЀ΄ψϐϕίϐϤ $ ghe-repl-setup <Ϥ϶αϫϷ΄IPίϖϹφ or Ϩφϕݷ> # ϹϤϷξЄτϴЀ΄樄ত
$ ghe-repl-start # ϹϤϷξЄτϴЀ΄ᇫ䙪嘦扯 $ ghe-repl-status 48
ψθЀύϷ΄䥮໒ • Ϥ϶αϫϷ͢ύγЀͭ͵䁰ݳ̵ψθ ЀύϷΨϤ϶αϫϷ䥮໒ͯΡ # Ϥ϶αϫϷΎ΄䥮໒ $ ghe-repl-promote • 䥮໒䦒̵GHE΄FQDNΨψθЀύϷ㯎
䄜ๅͯΡᥝ͘͢Ρ • ᵑਸ਼咲ኞ䦒DNS΄戔ਧΨ䄜ๅͯΡ΄ ΅ͷΝ;τЀϖ͚ 49
HA SwappingϞόЄЀ 50
DNS΄ڔΠ๊͞ • ELBΨڥአͭͼ͚ΆϤ϶αϫϷ/ψθЀ ύϷΨSwapͯΆOK • ψθЀύϷΨELBίόϐώͯΡ • Ϥ϶αϫϷΨELB͡ΟϔόϐώͯΡ • ELB΄UnHealthyHostCount䌏ͭͼ
AlarmΨ戔ਧ • ϫφόЄ͢ύγЀͭ͵ΟSNSϕϡϐμͽ ί϶Єϕ᭗Ꭳ • ELB΄ݻͣضΨψθЀύϷ䄜ๅ 51
5. Δ;Η 52
Δ;Η • AWSΨڥአͯΡΟϫϚЄυϖςЄϠφΨֵ͜͠ • GHEΨ䮭ᓕቘͭ͵͚䁰ݳ̵AWS΄ϫϚЄυϖςЄϠφ΅๋晒 • 敋斪΄ٚ咲ก΅䮩ێ͚ͭ • AWSӤͽGHEΨڥአͭ͵͚;ᘍ͞ͼ͚Ρ䁰ݳ΅ฎᶋͪፘ抨ͥͶ ͚ͫ:)
53
͠ΥΠ 54
6. ݇ᘍϷЀμ 55
Ϥ϶αϦЄϕNWϞόЄЀ • https://www.slideshare.net/AmazonWebServicesJapan/aws- black-belt-online-seminar-2016-amazon-vpc 56
ϫϚЄυϖϝϐμίϐϤϞόЄЀ • http://dev.classmethod.jp/cloud/aws/aws-datapipeline-all-pipeline- objects/ • http://dev.classmethod.jp/cloud/aws/creating-efs-backup- environment-with-datapipeline/ • http://dev.classmethod.jp/cloud/aws/github-enterprise-on-aws-5/ •
https://github.com/awslabs/data-pipeline-samples • https://help.github.com/enterprise/2.9/admin/guides/installation/ backups-and-disaster-recovery/ 57
ϫϚЄυϖEmail NotificationϞόЄЀ • http://dev.classmethod.jp/cloud/aws/github-enterprise-on- aws-3/ 58
WorkerϞόЄЀ • http://dev.classmethod.jp/cloud/aws/github-enterprise-on-aws-8/ • http://dev.classmethod.jp/cloud/aws/github-enterprise-on-aws-7/ • http://dev.classmethod.jp/cloud/aws/github-enterprise-on-aws-6/ • https://help.github.com/enterprise/2.9/admin/articles/log- forwarding/
• https://help.github.com/enterprise/2.9/admin/articles/ monitoring-using-snmp/ 59
ϫϚЄυϖCertificationϞόЄЀ & HA SwappingϞόЄ Ѐ • http://dev.classmethod.jp/cloud/aws/check_acm_specification/ • https://help.github.com/enterprise/2.9/admin/guides/ installation/using-github-enterprise-with-a-load-balancer/
60