Slide 1

Slide 1 text

AWSͰαʔόӡ༻Λͯ͠ΈΔ ۚ୔޻ۀେֶ ৘ใ޻ֶՊ ܀ࢁ७ฏ
 JAWS –UG ۚ୔ | 2019 KANAZAWA

Slide 2

Slide 2 text

• Name: ܀ࢁ ७ฏ • Belong: ۚ୔޻ۀେֶ • Twitter: @_Iruk_ • Skill: Ruby, Elixir, TypeScript, Go, • CLIπʔϧ΍WebΞϓϦέʔγϣϯΛ޷ΜͰ࡞Γ·͢ɻ • Πϯϑϥ͸৯Θͣݏ͍ͳٕज़෼໺ͩͬͨɻ $ whoami

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

App

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

App

Slide 7

Slide 7 text

App

Slide 8

Slide 8 text

App

Slide 9

Slide 9 text

App

Slide 10

Slide 10 text

App

Slide 11

Slide 11 text

App

Slide 12

Slide 12 text

App

Slide 13

Slide 13 text

App

Slide 14

Slide 14 text

αʔόߏஙɺਏ͔ͬͨɻ

Slide 15

Slide 15 text

• ܦݧͷͳ͍ྖҬΛCLIͰߦ͏ͷ͸݁ߏਏ͍ɻ

Slide 16

Slide 16 text

• ܦݧͷͳ͍ྖҬΛCLIͰߦ͏ͷ͸݁ߏਏ͍ɻ • αʔόߏஙʹ͓͚Δ஌ࣝ͸࠷௿ݶ͋Δ

Slide 17

Slide 17 text

• ܦݧͷͳ͍ྖҬΛCLIͰߦ͏ͷ͸݁ߏਏ͍ɻ • αʔόߏஙʹ͓͚Δ஌ࣝ͸࠷௿ݶ͋Δ • ͜ͷਏ͞ΛऔΓআ͍ͯ͘ΕΔαʔϏε….

Slide 18

Slide 18 text

• ܦݧͷͳ͍ྖҬΛCLIͰߦ͏ͷ͸݁ߏਏ͍ɻ • αʔόߏஙʹ͓͚Δ஌ࣝ͸࠷௿ݶ͋Δ • ͜ͷਏ͞ΛऔΓআ͍ͯ͘ΕΔαʔϏε…. ʂ

Slide 19

Slide 19 text

AWSͰαʔόӡ༻Λͯ͠ΈΔ ۚ୔޻ۀେֶ ৘ใ޻ֶՊ ܀ࢁ७ฏ
 JAWS –UG ۚ୔ | 2019 KANAZAWA

Slide 20

Slide 20 text

ʮAWSͷαʔόӡ༻Λͯ͠ΈΔʯ • ӡ༻͍ͯͨ͠όοΫΤϯυͷΠϯϑϥΛAWSʹҠ؅ͨ͠ɻ • ݴޠ: Ruby • RDB: MySQL

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Internet gateway Amazon EC2

Slide 23

Slide 23 text

Internet gateway Amazon RDS Amazon EC2

Slide 24

Slide 24 text

Internet gateway Amazon RDS Amazon S3 Amazon EC2 Amazon RDS Amazon EC2

Slide 25

Slide 25 text

Internet gateway Amazon RDS Amazon S3 Amazon EC2 Amazon RDS Amazon EC2 ΞϕΠϥϏϦςΟκʔϯ - B ΞϕΠϥϏϦςΟκʔϯ - C

Slide 26

Slide 26 text

ʮAWSͷαʔόӡ༻Λͯ͠ΈΔʯ • ӡ༻͍ͯͨ͠όοΫΤϯυͷΠϯϑϥΛAWSʹҠ؅ͨ͠ɻ • ಉ࣌ʹߏஙʹ৑௕ੑΛ࣋ͨͤͨɻ

Slide 27

Slide 27 text

ʮAWSͷαʔόӡ༻Λͯ͠ΈΔʯ • ӡ༻͍ͯͨ͠όοΫΤϯυͷΠϯϑϥΛAWSʹҠ؅ͨ͠ɻ • ಉ࣌ʹߏஙʹ৑௕ੑΛ࣋ͨͤͨɻ • => ͦͷࡍͷৄࡉɺ஌ݟΛ࿩͍͖ͯ͠·͢ɻ

Slide 28

Slide 28 text

EC2ΠϯελϯεΛ࡞੒͢Δ Amazon EC2

Slide 29

Slide 29 text

Ϧʔδϣϯ

Slide 30

Slide 30 text

Ϧʔδϣϯ • αʔόͷ෺ཧతॴࡏҐஔ

Slide 31

Slide 31 text

Ϧʔδϣϯ • αʔόͷ෺ཧతॴࡏҐஔ • ೔ຊϢʔβ͕ଟ͍αʔϏεΛӡӦ͢ΔͳΒɺϢʔβͱͷ෺ ཧతڑ཭͕͍ۙ౦ژϦʔδϣϯ͕๬·͍͠

Slide 32

Slide 32 text

Ϧʔδϣϯ • αʔόͷ෺ཧతॴࡏҐஔ • ೔ຊϢʔβ͕ଟ͍αʔϏεΛӡӦ͢ΔͳΒɺϢʔβͱͷ෺ ཧతڑ཭͕͍ۙ౦ژϦʔδϣϯ͕๬·͍͠ • ଞͷϦʔδϣϯͷ৘ใ͸දࣔ͞Εͳ͍ͷͰ஫ҙ
 (ex. όʔδχΞ๺෦Λબ୒͍ͯ͠Δͱ౦ژͷ৘ใ͸ݟ͑ͳ͍

Slide 33

Slide 33 text

EC2ΠϯελϯεΛ࡞੒͢Δ

Slide 34

Slide 34 text

EC2ΠϯελϯεΛ࡞੒͢Δ • Amazon Elastic Compute • ΠϯελϯεͱݺͿαʔόΛ࡞੒͢Δ • εϖοΫʹؔͯ͠͸બ୒Մೳ • OS(AMI)΋બ୒Մೳ

Slide 35

Slide 35 text

AMIͷબ୒

Slide 36

Slide 36 text

ΠϯελϯελΠϓͷબ୒

Slide 37

Slide 37 text

ΠϯελϯελΠϓͷબ୒ Amazon EC2 ΠϯελϯελΠϓ - https://aws.amazon.com/jp/ec2/instance-types/

Slide 38

Slide 38 text

VPCͷઃఆΛ͢Δ Amazon EC2 AZ(ΞϕΠϥϏϦςΟκʔϯ)

Slide 39

Slide 39 text

Πϯελϯεৄࡉͷઃఆ

Slide 40

Slide 40 text

Amazon VPCͷઃఆ

Slide 41

Slide 41 text

Amazon VPCͱ͸ • CIDRϒϩοΫͷઃఆ • ΞϕΠϥϏϦςΟκʔϯͷઃఆ • AZ͕ҧ͏ͱσʔληϯλʔࣗମҧ͏ͷͰɺ
 ہॴతͳࡂ֐ͳͲʹඋ͑ͨ৑௕ߏ੒͕࡞ΕΔ

Slide 42

Slide 42 text

αϒωοτͷ࡞੒

Slide 43

Slide 43 text

EC2ΠϯελϯεΛ࡞੒͢Δ

Slide 44

Slide 44 text

EC2ΠϯελϯεΛ࡞੒͢Δ

Slide 45

Slide 45 text

ηΩϡϦςΟάϧʔϓ • ϑΝΠΞ΢ΥʔϧͷઃఆͷΑ͏ͳ΋ͷ • ࠓճ͸
 ssh: 22
 http: 80
 https: 443
 pumaͷsocket: 3000
 Λ։͚͓ͯ͘

Slide 46

Slide 46 text

࡞੒ʂ

Slide 47

Slide 47 text

EC2Πϯελϯεͷ׬੒ • άϩʔόϧIPͱήʔτ΢ΣΠͷ४උ͞Εͨαʔό͕׬੒

Slide 48

Slide 48 text

EC2Πϯελϯεͷ׬੒ • άϩʔόϧIPͱήʔτ΢ΣΠͷ४උ͞Εͨαʔό͕׬੒ • ηΩϡϦςΟάϧʔϓͰsshͷϙʔτΛ։͚ͨͷͰ
 ssh ec2-user@IPv4public -i key.pem ͰsshͰ͖Δ •

Slide 49

Slide 49 text

EC2Πϯελϯεͷ׬੒ • άϩʔόϧIPͱήʔτ΢ΣΠͷ४උ͞Εͨαʔό͕׬੒ • ηΩϡϦςΟάϧʔϓͰsshͷϙʔτΛ։͚ͨͷͰ
 ssh ec2-user@public -i key.pem ͰsshͰ͖Δ • ϙʔτΛ։͚ͨαʔό͕׬੒͍ͯ͠ΔͷͰ
 MySQLͳͲϛυϧ΢ΣΞΛೖΕͯΞϓϦӡ༻͕Մೳ

Slide 50

Slide 50 text

EC2Πϯελϯεͷ׬੒ Internet gateway Amazon EC2

Slide 51

Slide 51 text

࣮ࡍʹڍಈΛݟΔ • Ruby, RailsपΓͷ؀ڥߏஙΛ͢Δ

Slide 52

Slide 52 text

࣮ࡍʹڍಈΛݟΔ • Ruby, RailsपΓͷ؀ڥߏஙΛ͢Δ
 (DockerFileΛ༻ҙͯ͋͠ΔͷͰͦͷ··ίϯςφΛ࡞੒

Slide 53

Slide 53 text

࣮ࡍʹڍಈΛݟΔ • Ruby, RailsपΓͷ؀ڥߏஙΛ͢Δ
 (DockerFileΛ༻ҙͯ͋͠ΔͷͰͦͷ··ίϯςφΛ࡞੒ • ΞΫηε͕དྷͨࡍͷϑΥϫʔσΟϯάʹnginxΛॻ͘
 • puma(rubyͷwebαʔό)ͷsocketΛnginxʹରԠͤ͞Δɻ

Slide 54

Slide 54 text

VQTUSFBNQVNB\  TFSWFSVOJYIPNFFDVTFS&$EFQUNQTPDLFUTQVNBTPDL ^ TFSWFS\ MJTUFO TFSWFS@OBNFBEESFTT JODMVEFFUDOHJOYEFGBVMUE DPOG 
 MPDBUJPO\   QSPYZ@TFU@IFBEFS9'PSXBSEFE'PSQSPYZ@BEE@Y@GPSXBSEFE@GPS   QSPYZ@SFEJSFDUPGG   QSPYZ@QBTTIUUQQVNB  ^ 
 FSSPS@QBHFIUNM MPDBUJPOYIUNM\ ^ 
 FSSPS@QBHFYIUNM MPDBUJPOYIUNM\ ^ ^ 


Slide 55

Slide 55 text

࣮ࡍʹڍಈΛݟΔ

Slide 56

Slide 56 text

Internet gateway Amazon RDS Amazon EC2

Slide 57

Slide 57 text

RDBʹ͍ͭͯ

Slide 58

Slide 58 text

RDBʹ͍ͭͯ • EC2ΠϯελϯεʹRDB(MySQL, PostgreSQL)
 ΛೖΕΔ • Amazon RDSΛ࢖͏

Slide 59

Slide 59 text

RDBʹ͍ͭͯ • EC2ΠϯελϯεʹRDB(MySQL, PostgreSQL)
 ΛೖΕΔ • Amazon RDSΛ࢖͏

Slide 60

Slide 60 text

• Amazon Relational Database Servise • RDBʹ͍ͭͯ

Slide 61

Slide 61 text

• Amazon Relational Database Servise • DBͷόοΫΞοϓ΍੬ऑੑʹର͢ΔରԠͳͲ ΛAmazonͷαʔϏεʹҰ೚Ͱ͖Δ • Τϯδϯ(RDBͷछྨ)͸બ୒Մೳ RDBʹ͍ͭͯ

Slide 62

Slide 62 text

RDSΠϯελϯεͷ࡞੒

Slide 63

Slide 63 text

RDSΠϯελϯεͷ࡞੒

Slide 64

Slide 64 text

ηΩϡϦςΟάϧʔϓͷઃఆ

Slide 65

Slide 65 text

config/database.ymlʹهड़ socket: /var/lib/mysql/mysql.sock ɹ host: address.rds.amazonaws.comɹ database: appname_developmentɹ

Slide 66

Slide 66 text

Internet gateway Amazon RDS Amazon EC2

Slide 67

Slide 67 text

ಉ͡ߏ੒ͷΠϯελϯεΛཱͯΔ

Slide 68

Slide 68 text

·ͱΊ • ܦݧͷগͳ͍ٕज़ऀ໨ઢͰ΋
 GUIϕʔεͰαʔόΛߏஙͰ͖Δ • අ༻͸͔͔Δ΋ͷͷɺAmazonͷαʔϏεʹ ґଘ͢Δ͜ͱͰීஈ؅ཧͷ೉͍͠ྖҬΛҕ೚ Ͱ͖Δ • Πϯϑϥ͕ਏ͍ਓʹͦͥ͜ͻ৮ͬͯཉ͍͠ɻ

Slide 69

Slide 69 text

No content

Slide 70

Slide 70 text

AWSͰαʔόӡ༻Λͯ͠ΈΔ ۚ୔޻ۀେֶ ৘ใ޻ֶՊ ܀ࢁ७ฏ
 JAWS –UG ۚ୔ | 2019 KANAZAWA