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
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.7k
The ~~Ten~~ Three Most Critical Security Risks in Serverless Architectures
knakayama
2
1.5k
サーバーレス x IoT 〜我々はどういった課題に直面してそれをどのように解決したのか〜
knakayama
0
1.4k
Bloxが切り開くECSの世界
knakayama
1
1.3k
AWS Serverless Application Modelのデプロイ戦略
knakayama
4
2.5k
サーバレスアーキテクチャはじめの一歩
knakayama
1
1.5k
Other Decks in Technology
See All in Technology
Android の公式 Skill / Android skills
yanzm
0
160
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
160
Kiro Ambassador を目指す話
k_adachi_01
0
110
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
140
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
160
フィジカル版Github Onshapeの紹介
shiba_8ro
0
300
SONiCの統計情報を取得したい
sonic
0
240
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
430
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
700
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
120
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
150
Lightning近況報告
kozy4324
0
210
Featured
See All Featured
From π to Pie charts
rasagy
0
220
Code Review Best Practice
trishagee
74
20k
Why Our Code Smells
bkeepers
PRO
340
58k
Designing Powerful Visuals for Engaging Learning
tmiket
1
420
Side Projects
sachag
455
43k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Building an army of robots
kneath
306
46k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
Practical Orchestrator
shlominoach
191
11k
Mind Mapping
helmedeiros
PRO
1
260
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