Slide 1

Slide 1 text

HTTP ϦμΠϨΫτͷઃఆΛ ίʔυԽͨ͠Β ͦ͜͸͔ͱͳ͘ḿͬͨͷّ ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ @inokappa ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 1

Slide 2

Slide 2 text

͜Ε͸ͷّ ͱ͋ΔαʔϏεͷچαΠτ͔Β৽αΠτʹϦμΠϨΫτઃఆΛ ߦͬͨࡍͷ͓࿩Ͱ͢. ग़དྷΔ͚ͩ Infrastructure as Code ͢Δ͜ ͱͰ, ΄΅଺Γͳ͘Ҡߦ͕ऴΘͬͨͷͰ, ฏ੒ΛৼΓฦΔͱڞʹ, ͦͷҰ෦Λ͝঺հͤͯ͞௖͖·͢. ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 2

Slide 3

Slide 3 text

Θͨ͘͠͸ͷّ • ͔ͬͺ (@inokappa) • גࣜձࣾ YAMAP (2019 ೥ 1 ݄ೖࣾ, ·ͩࢼ༻ظؒத) • ΠϯϑϥΤϯδχΞͰ͢ • ޷͖ͳ͏ͲΜ͸͝΅ఱ͏ͲΜͰ͢ ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 3

Slide 4

Slide 4 text

YAMAP ͱ͸ͷّ ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 4

Slide 5

Slide 5 text

ϦμΠϨΫτͷّ ΢ΣϒαΠτʹ͓͚ΔϦμΠϨΫτʢӳ: redirectʣͱ͸ɺ΢Σϒ αΠτͷӾཡʹ͓͍ͯɺࢦఆͨ͠΢Σϒϖʔδ͔Βࣗಈతʹଞ ͷ΢Σϒϖʔδʹసૹ͞ΕΔ͜ͱɻ (https://ja.wikipedia.org/wiki/ϦμΠϨΫτ_(HTTP) ΑΓ) ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 5

Slide 6

Slide 6 text

example.co.jp -> example.com ͷّ ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 6

Slide 7

Slide 7 text

΍ͬͨ͜ͱͷّ 1. ϦμΠϨΫτର৅ͷચ͍ग़͠ 2. Infrataster ͰςετΛॻ͘ 3. ςετΛ࣮ߦ -> ϦμΠϨΫτઃఆΛॻ͘ (Ϧϐʔτ) 4. ϦμΠϨΫτઃఆΛద༻ͨ͠ޙ, Infrataster Ͱςετ͢Δ ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 7

Slide 8

Slide 8 text

1. ϦμΠϨΫτର৅ͷચ͍ग़͠ͷّ ϦμΠϨΫτର৅ͷ URL Λચ͍ग़͢͜ͱ͸େมͳ࡞ۀͷҰͭͰ ͕ͨ͠, Google Spread Sheet Λ࢖͏ͱ, ҰॠͰ͋Δఔ౓ͷ URL Λநग़͢Δ͜ͱ͕ग़དྷ·ͨ͠ʂ =IMPORTXML("https://example.co.jp/", "//a/@href") ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 8

Slide 9

Slide 9 text

2. ςετΛॻ͘ͷّ (1) ϦμΠϨΫτର৅ϦετΛચ͍ग़ͨ͠Β, ϦετΛݩʹ infrataster Λ༻͍ͯςετίʔυΛॻ͖·ͨ͠. require 'spec_helper' # ϦμΠϨΫτআ֎ΛνΣοΫ describe "Errors Check #{path}" do describe server(properties['server'].to_sym) do describe http('https://' + server(properties['server'].to_sym).server.address + path, headers: headers) do it "responds as #{code}" do expect(response.status).to eq(code) end end end end ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 9

Slide 10

Slide 10 text

2. ςετΛॻ͘ͷّ (2) ςετ݅਺ = ର৅ϦμΠϨΫτ਺ͱͳΓ, ࠷ऴతʹ͸ 111 ݅΄Ͳ ͷϦμΠϨΫτ਺ͱͳΓ·ͨ͠. Finished in 27.11 seconds (files took 0.73366 seconds to load) 111 examples, 0 failures ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 10

Slide 11

Slide 11 text

3. ϦμΠϨΫτઃఆΛॻ͘ͷّ (1) ओʹ ALB ͷϦμΠϨΫτػೳΛར༻ͨ͠ҝ, ςετ܁Γฦ͠ͳ͕ Β, Terraform ͰϦμΠϨΫτઃఆΛॻ͍͍͖ͯ·͢. ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 11

Slide 12

Slide 12 text

3. ϦμΠϨΫτઃఆΛॻ͘ͷّ (2) ࢒೦ͳ͕Β, ALB ͷϦμΠϨΫτઃఆͰ͸ରԠग़དྷͳ͍෦෼͸ EC2 ্ͷ Nginx ʹ͓ئ͍͢Δҝ, ϦμΠϨΫτͰ͸ͳ͘సૹͷఆ ٛΛ࣮૷͍͖ͯ͠·ͨ͠. ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 12

Slide 13

Slide 13 text

4. ϦμΠϨΫτઃఆద༻ͱಈ࡞֬ೝͷّ • terraform apply Ұൃ • Nginx ͷ࠶ىಈ͸ AWS System Manager ͷ Run Command Λར༻ • ಈ࡞֬ೝͷಈ࡞֬ೝ͸ REDIRECT_YML=production.yml bundle exec rspec spec ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 13

Slide 14

Slide 14 text

·ͱΊͷّ ୯७ͳϦμΠϨΫτઃఆͰ΋, ͦΕͳΓͷ਺ͷઃఆ͕ඞཁͳ৔߹ ʹ͸, ίʔυԽ͓ͯ͘͜͠ͱͰ, ϊʔϛεҠߦ͢Δ͜ͱ͕ग़དྷͯ ແࣄʹྩ࿨ΛΉ͔͑Δ͜ͱ͕ग़དྷͦ͏Ͱ͢. ·ͨ, ΠϯϑϥͷৼΔ෣͍΋͋Δఔ౓͸ςετͰॻ͘͜ͱ͕ग़དྷ ΔͷͰ, ՄೳͳݶΓςετʹམͱ͠ࠐΜͰ͓͘ͱ࣮ࡍͷϦϦʔε ͷࡍʹ΋໾ʹཱͭ͜ͱؒҧ͍ແ͠Ͱ͍͟͝·͢. ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 14

Slide 15

Slide 15 text

͋Γ͕ͱ͏ͷّ ฏ੒, ΑΖ͘͠ྩ࿨. ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 15

Slide 16

Slide 16 text

͓·͚ͷّ (1) ຊࢿྉͰग़͖ͯͨϓϩμΫτ. • https://github.com/ryotarai/infrataster • https://github.com/rspec/rspec • https://github.com/hashicorp/terraform • https://github.com/nginx/nginx • AWS System Manager ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 16

Slide 17

Slide 17 text

͓·͚ͷّ (2) ໌೔, JAWS-UG ෱Ԭͷ΋͘΋͘ձΛ΍Γ·͢. ۝भΠϯϑϥަྲྀษڧձ(Kixs) Vol.009 ʙ ฏ੒࠷ޙͷྱ ʙ 17