Slide 1

Slide 1 text

Webαʔόʔར༻͚ͩͰ͸ͳ͍ NGINXιϦϡʔγϣϯ NGINX ςΫχΧϧ ιϦϡʔγϣϯζ ΞʔΩςΫτ ాล ໜ໵ 2019/2/15

Slide 2

Slide 2 text

NGINXͷ͝঺հ NGINX Plus ϚΠΫϩαʔϏε΁ͷऔΓ૊Έ 1 2 3 ຊ೔ͷ಺༰ NGINX Controller 4 2

Slide 3

Slide 3 text

NGINXͷ͝঺հ 1

Slide 4

Slide 4 text

NGINXࣾ • ೥ʹઃཱɺ೥ʹNGINX 1MVTͷॳظϦϦʔε ೥044൛ॳظϦϦʔε • ສҎ্ͷ΢ΣϒαΠτ • ΤϯλʔϓϥΠζιϑτ΢ΣΞۀքͷϦʔμʔͷϕϯνϟʔΩϟϐλϧͷࢧԉ • αϯϑϥϯγείɺϩϯυϯɺίʔΫɺγϯΨϙʔϧɺγυχʔɺϞεΫϫɺ౦ژͷΦϑΟε • ࣾҎ্ͷސ٬ • ਓҎ্ͷैۀһ 4

Slide 5

Slide 5 text

NGINX Unit NGINX ͔Βͷ৽͍͠ಈతͳWebͱΞϓϦ έʔγϣϯɾαʔόʔɻΦʔϓϯιʔεɺ ෳ਺ͷݴޠͷαϙʔτɺ͓Αͼಈతͳ REST API ओಋͷߏ੒ɻ NGINX Plus ϩʔυόϥϯαʔɺWebαʔόʔɺίϯςϯπ ΩϟογϡΛؚΉ།ҰͷΦʔϧΠϯϫϯ ιϦϡʔγϣϯɻίετΛ࡟ݮ͠ͳ͕Βɺ ΞʔΩςΫνϟΛ؆ૉԽ͠·͢ɻ ੡඼ NGINX Controller NGINX PlusͷͨΊͷूத؂ࢹ͓Αͼ؅ཧɻ ୯Ұͷඒ͍͠ΠϯλʔϑΣΠεΛ࢖༻ͯ͠ɺ Ծ૝ϩʔυόϥϯαʔΛల։͠·͢ɻ NGINX WAF Φʔϓϯιʔεͷ WebΞϓϦέʔγϣϯ ϑΝΠΞ΢Υʔϧ (WAF) SQL ΠϯδΣΫγϣϯɺLFIRFI ͓ΑͼͦͷଞͷϨΠϠ7߈ܸΛ๷ޚ͠·͢ɻ Powered by ModSecurity. 5

Slide 6

Slide 6 text

ݱࡏͷΞϓϦͷΠϯϑϥ͸ෳࡶ 6

Slide 7

Slide 7 text

NGINXʹΑΓ10ഒ؆ૉԽɾ 80%ίετ࡟ݮ 7

Slide 8

Slide 8 text

NGINX ΞϓϦέʔγϣϯ ϓϥοτϑΥʔϜ ϨΨγʔͳϞϊϦγοΫ ΞϓϦ͔ΒϞμϯͳϚΠ ΫϩαʔϏε·Ͱ෯޿͘ ରԠ͠ɺσδλϧମݧΛ ։ൃఏڙ͢ΔͨΊͷςΫ ϊϩδʔεΠʔτ ϩʔυόϥϯαʔ API  αʔϏεϝογϡ 8

Slide 9

Slide 9 text

NGINX Plus 2

Slide 10

Slide 10 text

ߴੑೳͳΞϓϦέʔγϣϯͷ഑৴ • ৄࡉͰ๛෋ͳϝτϦοΫ • ڧྗͳෛՙ෼ࢄ • ϔϧενΣοΫ • αʔϏεϨδετϦͷ౷߹ • HTTP/HTTPS/H2/gRPC/TCP/UDP ΤϯλʔϓϥΠζαϙʔτ HTTP HTTPS HTTP/2 gRPC TCP UDP consul etcd 11

Slide 11

Slide 11 text

NGINX PlusͷμογϡϘʔυ 12 શମ αʔόʔͷঢ়گʢκʔϯʹ෼͚ͯදࣔʣ Ωϟογϡ ڞ༗ϝϞϦʔ NGINX Plusͷ Πϯελϯεຖͷ৘ใ http://demo.nginx.com

Slide 12

Slide 12 text

NGINX Plus: Upstreamͷಈతมߋ ϩʔυόϥϯεઌ (Upstream) ΛಈతʹมߋՄೳ μογϡϘʔυͷGUIͰ APIͰ

Slide 13

Slide 13 text

ϩʔυόϥϯαʔɾΩϟογϡ  • HTTP, TCP, UDP ͷෛՙ෼ࢄ • URIɺΫοΩʔɺҾ਺ͳͲΛ࢖༻ͨ͠ɺ ϨΠϠ7ϦΫΤετϧʔςΟϯά • ͞·͟·ͳΞϧΰϦζϜ • ϥ΢ϯυϩϏϯɺ࠷খίωΫγϣϯɺIPϋογϡ • ࠷খλΠϜɺ࠷খίωΫγϣϯ͔Βೋͭબ୒ • ΫοΩʔʹجͮ͘ηογϣϯӬଓԽ • εςʔλείʔυͱԠ౴ϘσΟʹجͮ͘ɺ ΞΫςΟϒϔϧενΣοΫ • DNS Λ࢖༻ͨ͠αʔϏε୳ࡧ ྘ࣈ෦෼͸NGINX PlusͷΈͷػೳʣ

Slide 14

Slide 14 text

APIήʔτ΢ΣΠͱͯ͠

Slide 15

Slide 15 text

NGINX WAF ߴ౓ͳ8&#ΞϓϦέʔγϣϯ ϑΝΠΞ΢Υʔϧ  ϨΠϠ߈ܸอޢ  %%P4؇࿨  *1Ϩϐϡςʔγϣϯ  ؂ࠪϩά

Slide 16

Slide 16 text

ϚΠΫϩαʔϏε΁ͷऔΓ૊Έ 3

Slide 17

Slide 17 text

NGINX͸ɺ͞·͟·ͳϚΠΫϩ αʔϏεΞʔΩςΫνϟΛαϙʔτ 3. Fabric Model 2. Router Mesh Model 1. Proxy Model 19

Slide 18

Slide 18 text

NGINX Unit 20 • μΠφϛοΫWebɾ ΞϓϦέʔγϣϯαʔόʔ ◦ γϯϓϧɾܰྔ ◦ ଟݴޠʹରԠ: Python, PHP, Go, Perl, Ruby, JavaScript (Node.js), Java(༧ఆ)  ηοτΞοϓɾઃఆͳͲɺಉ༷ͷ؀ڥΛར༻Մೳ ◦ RESTful JSON APIͰͷಈతͳઃఆ ◦ Φʔϓϯιʔε ◦ NGINX PlusϢʔβʔ͸ αϙʔτར༻Մ ◦ NGINXΛαΠυΧʔʹ

Slide 19

Slide 19 text

ಈతͳϧʔςΟϯά: αʔϏεͷݕग़ • ͜Μͳͱ͖ʹඞཁ ◦ ৽͍͠αʔϏε͕௥Ճ͞Εͨ ◦ طଘͷαʔϏεͷΠϯελϯε͕௥Ճ͞Εͨ • ϓϩΩγ͕ߏ੒͞ΕΔτϦΨʔͷྫ ◦ Ansible Roles ◦ Consul templates ◦ DNS A, SRV Ϩίʔυ ◦ AWS Autoscaling άϧʔϓ ◦ Kubernetes (kube-dns) Ingress and Service-to- Service 21

Slide 20

Slide 20 text

Unit

Slide 21

Slide 21 text

Unit deployment/unit-headless Deployment Unit Unit

Slide 22

Slide 22 text

Unit deployment/unit-headless Deployment Unit Unit

Slide 23

Slide 23 text

Unit deployment/unit-headless svc/unit-headless-svc Deployment Headless Service Unit Unit

Slide 24

Slide 24 text

Unit deployment/unit-headless svc/unit-headless-svc Deployment Headless Service NGINX Plus Load Balancer SRV ϨίʔυͰσΟεΧόϦ pod/nginx-headless Unit Unit

Slide 25

Slide 25 text

Unit deployment/unit-headless svc/unit-headless-svc Deployment Headless Service NGINX Plus Load Balancer SRV ϨίʔυͰσΟεΧόϦ NodePort Service pod/nginx-headless svc/nginx-headless Unit Unit

Slide 26

Slide 26 text

DNSαʔϏεσΟεΧόϦ ༏ઌ౓ɾ΢ΣΠτ ϙʔτ൪߸ɾϗετ໊ NGINX಺ͷDNSΩϟογϡ༗ޮ࣌ؒ αʔόʔϦετΛDNSͰղܾ UpstreamΛࢀর 29 खಈͰDNSϨίʔυઃఆɺKubernetesͰ͸Headless Service

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

NGINX Plus - Kubernetes Ingress Controller NGINX PlusΛೖΓޱͱͯ͠ KubernetesΞϓϦέʔγϣϯΛ࡞੒ : • ߴ౓ͳෛՙ෼ࢄͱSSL/TLS ऴ୺ • WebSocket ͱ HTTP/2 ͷαϙʔτ • ϦΫΤετ͕ΞϓϦέʔγϣϯʹసૹ͞ΕΔ લʹURI ॻ͖׵͑ • ಈతͳ࠶ߏ੒ • Session persistence • JWT authentication • Prometheusͷαϙʔτ • 24x7 αϙʔτ https://github.com/nginxinc/kubernetes-ingress 32

Slide 29

Slide 29 text

NGINX Controller 4

Slide 30

Slide 30 text

NGINX Controller: ϞχλϦϯά 34 ଟ਺ͷNGINX Plus͔Β౷ܭ৘ใΛू໿

Slide 31

Slide 31 text

NGINX Controller: LBઃఆ 35 nginx.conf ͷ֬ೝ nginx.conf ͷมߋ ઃఆͷݕূ NGINXͷίϯτϩʔϧϓϨʔϯͱͯ͠ ·ͣ͸API Gateway͔Β

Slide 32

Slide 32 text

NGINX Controller: API؅ཧ APIఆٛ ྲྀྔ؅ཧ ೝূɾೝՄ

Slide 33

Slide 33 text

·ͱΊ • ࣗࣾͷWebγεςϜ͕ෳࡶʹͳΓ͍͗ͯ͢Δ ◦ → NGINX Plus! • ϩʔυόϥϯαʔͷϋʔυ΢ΣΞͷߋ৽࣌ظʹདྷ͍ͯΔ ◦ → NGINX Plus! • ϚΠΫϩαʔϏε΍ίϯςφͰͷӡ༻Λݕ౼த ◦ → NGINX Plus! ϑϦʔτϥΠΞϧ͸ ͪ͜Β͔Β 37

Slide 34

Slide 34 text

Thank you! 38