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
github-classmethod-study-20170426
Search
Koji Nakayama
April 26, 2017
Technology
4k
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.6k
サーバレスアーキテクチャはじめの一歩
knakayama
1
1.6k
Other Decks in Technology
See All in Technology
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
240
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
130
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
180
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
7
5.1k
フィンテック養成勉強会#68
finengine
0
160
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
210
今さら理解するウェブフォントver.2026
takanorip
3
920
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
210
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
630
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Fireside Chat
paigeccino
43
4.1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Claude Code のすすめ
schroneko
67
230k
Believing is Seeing
oripsolob
1
250
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
How to make the Groovebox
asonas
2
2.5k
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