$30 off During Our Annual Pro Sale. View Details »

じこしょうかい2019 / rela1470-portfolio-2019

じこしょうかい2019 / rela1470-portfolio-2019

Presented on

Jun Watanabe

July 11, 2019
Tweet

More Decks by Jun Watanabe

Other Decks in Business

Transcript

  1. ͜͡͠ΐ͏͔͍
    2019
    2019/07/11(Thu) Tech Lunch
    Jun Watanabe @rela1470

    View Slide

  2. Jun Watanabe @rela1470
    • Work
    • ORATTA, Inc.
    • 2010/11 - 2019/06
    • ITSD(৘γε) / SRE / ٕज़޿ใ / Backend (PHP) / Chief Engineer
    • Kyash Inc.
    • 2019/07 -
    • Corporate Engineer(৘γε)

    View Slide

  3. Jun Watanabe @rela1470
    • Work
    • ORATTA, Inc.
    • 2010/11 - 2019/06
    • ITSD(৘γε) / SRE / ٕज़޿ใ / Backend (PHP) / Chief Engineer
    • Kyash Inc.
    • 2019/07 -
    • Corporate Engineer(৘γε)

    View Slide

  4. 2016೥
    Treasure DataΛશࣾಋೖ
    • ຊ൪DBʹKPIΫΤϦΛ
    ௚઀ྲྀ͍ͯͨ͠ϠόΠ
    γεςϜΛۦஞ
    • CSɺσΟϨΫλʔʹ
    PrestoΛ֮͑ͤͨ͞

    View Slide

  5. 2017/10/23
    • PWAλΠτϧΛDMM(R-18)ͰϦϦʔε
    • ϦϦʔε௚ޙͷεύΠΫ͕ੌ͔ͬͨ
    • ཪNICͷ2GbpsΛ1.8Gbps·Ͱ৯͍ͭͿͨ͠
    • Web - Session(redis)ؒͷ௨৴Ͱṧഭ
    • ڞ༻Ϋϥ΢υͳͷͰଞͷ͓٬༷Λ௥͍ग़ͯ͠΋Βͬͨ
    • Ӧۀ͞Μ΍Δ͡ΌΜ!

    View Slide

  6. Jun Watanabe @rela1470
    • Work
    • ORATTA, Inc.
    • 2010/11 - 2019/06
    • ITSD(৘γε) / SRE / ٕज़޿ใ / Backend (PHP) / Chief Engineer
    • Kyash Inc.
    • 2019/07 -
    • Corporate Engineer(৘γε)

    View Slide

  7. θϩτϥετηΩϡϦςΟ
    • ࣾ಺ωοτϫʔΫͬͯ֓೦μα͍ΑͶ
    • IPΞυϨε੍ݶͱ͔࣌୅஗ΕͩΑͶ
    • IDaaSͷOneLoginΛಋೖ
    • PCϩάΠϯɺSaaSͷϩάΠϯΛ౷Ұ
    • ಺੡πʔϧ΋શͯSAMLʹ౷Ұ
    • ൒೥͘Β͍͔͚ͯ150ݸ͘Β͍

    View Slide

  8. 2018/06 GREEάϧʔϓʹJOIN
    • ηΩϡϦςΟཁٻ͕ϕϯνϟʔ͔Β͍͖ͳΓ্৔اۀج४ʹɻ
    • ͦ͜·ͰΫϦςΟΧϧͳ΋ͷ͸ͳ͔ͬͨ
    • OneLogin͔ΒAzure ADʹҠߦ
    • θϩτϥετͷ֓೦͸NG൑அ
    • ࣾ಺ωοτϫʔΫΛશͯDCʹ৐ͤΔܦݧ͸وॏͩͬͨ
    • 2019/06 ٵऩ߹ซফ໓ͱಉ࣌ʹୀ৬

    View Slide

  9. Jun Watanabe @rela1470
    • Private
    • ग़਎ ๺ւಓͷͲాࣷग़਎
    • झຯ ΧϯϑΝϨϯεӡӦ
    • झຯ υϝΠϯऔಘ

    View Slide

  10. Jun Watanabe @rela1470
    • Private
    • ग़਎ ๺ւಓͷͲాࣷग़਎
    • झຯ ΧϯϑΝϨϯεӡӦ
    • झຯ υϝΠϯऔಘ

    View Slide

  11. ༙ผொ
    • ΰΩϒϦ෼෍๺ݶͷொ
    • ࢢ֎ہ൪͕4ܻɻ΋͏41Օॴ͔͠
    ݱଘ͍ͯ͠ͳ͍
    • 01586 - 2 - xxxx
    • ༣ศ൪߸͕೔ຊͰҰ൪େ͖͍
    • 099 - 6509
    • 099 ͸ 1099ͷུ
    • 100͸౦ژ

    View Slide

  12. Jun Watanabe @rela1470
    • Private
    • ग़਎ ๺ւಓͷͲాࣷग़਎
    • झຯ ΧϯϑΝϨϯεӡӦ
    • झຯ υϝΠϯऔಘ

    View Slide

  13. ίΞελοϑֻ͚࣋ͪ͠ΜͲ͍(ମྗͱۈଵతʹ)
    ٕज़ίϛϡχςΟʹର͢Δߩݙͱ͔Ͱ
    ۀ຿ѻ͍ʹͳΒͳ͍͔ͳʔ
    ٕज़ΧϯϑΝϨϯείΞελοϑۀ

    View Slide

  14. ͝໎࿭͓͔͚͠·͢!
    • 08/29, 08/30, 08/31 builderscon tokyo 2019
    • 09/05, 09/06, 09/07 iOSDC Japan 2019
    • 2020/02 PHPerKaigi 2020
    • 2020/03 Laravel JP Conference 2020
    • ౰೔ελοϑืूத!

    View Slide

  15. Jun Watanabe @rela1470
    • Private
    • ग़਎ ๺ւಓͷͲాࣷग़਎
    • झຯ ΧϯϑΝϨϯεӡӦ
    • झຯ υϝΠϯऔಘ

    View Slide

  16. PHPerKaigi 2019
    Ͱొஃͨ͠಺༰

    View Slide

  17. yasero.dev
    ࣗ෼ͷମॏΛࡽ͢αΠτ

    View Slide

  18. Endless
    Work
    ແݶʹಇ͘αΠτ

    View Slide

  19. https://
    workworkworkworkworkwork.w
    orkworkworkworkworkworkwor
    kworkworkwork.workworkwork
    workworkworkworkworkworkw
    orkworkworkworkworkwork.wo
    rkworkworkworkworkworkwork
    workworkworkworkworkworkw
    orkwork.workworkworkworkwo
    rkworkworkworkworkworkwork
    workworkworkwork.work/

    View Slide

  20. RFC1035
    2.3.4. Size limits
    255 Octet

    View Slide

  21. ఆٛจࣈ௕
    ΦΫςοτ
    ϥϕϧจࣈྻ
    NBY
    ΦΫςοτ
    XPSLXPSLXPSLXPSLXPSLXPSL
    XPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSL
    XPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSL
    XPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSL
    XPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSL
    XPSL

    0DUFU 0DUFU

    workworkworkworkworkwork.workworkworkworkworkworkworkworkworkwork.workworkworkworkwor
    kworkworkworkworkworkworkworkworkworkwork.workworkworkworkworkworkworkworkworkworkwor
    kworkworkworkwork.workworkworkworkworkworkworkworkworkworkworkworkworkworkwork.work

    = 255 octet = 253จࣈ(υοτؚ)

    View Slide

  22. ϝʔϧΞυϨε͸?

    View Slide

  23. RFC5321
    4.5.3.1.3. Path
    256 Octet

    View Slide

  24. શମͰ࠷େ 256 Octet ·Ͱ
    (υοτ΍ΞοτϚʔΫ΋ؚΉ)
    υϝΠϯͰ
    255 Octet ࢖͏ͷͰ…

    View Slide

  25. υϝΠϯ͕࠷େ௕ͩͱ
    ࣮࣭ൃߦͰ͖ͳ͍
    @workworkworkworkworkwork.workworkworkworkwo
    rkworkworkworkworkwork.workworkworkworkworkw
    orkworkworkworkworkworkworkworkworkwork.work
    workworkworkworkworkworkworkworkworkworkwork
    workworkwork.workworkworkworkworkworkworkwor
    kworkworkworkworkworkworkwork.work
    ↑Ͱ256ΦΫςοτ(254จࣈ)

    View Slide

  26. URLશମͷ੍ݶ͸ͳ͍

    View Slide

  27. 100ສจࣈ·Ͱಈ࡞֬ೝࡁΈ
    https://qiita.com/nwtgck/items/e83473dc63386d2da3e5

    View Slide

  28. HTTPSԽ

    View Slide

  29. View Slide

  30. DNS name too long
    # /usr/local/certbot/certbot-auto certonly --webroot -w /work.work -
    d
    workworkworkworkworkwork.workworkworkworkworkworkworkworkworkwork.wo
    rkworkworkworkworkworkworkworkworkworkworkworkworkworkwork.workworkw
    orkworkworkworkworkworkworkworkworkworkworkworkwork.workworkworkwork
    workworkworkworkworkworkworkworkworkworkwork.work
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Plugins selected: Authenticator webroot, Installer None
    Obtaining a new certificate
    An unexpected error occurred:
    The request message was malformed :: Error creating new authz :: DNS
    name too long
    Please see the logfiles in /var/log/letsencrypt for more details.

    View Slide

  31. certbot͕230จࣈҎ্Λ
    ड͚෇͚ͳ͍

    View Slide

  32. ಺෦తʹJSONͷϝλ৘ใͰ
    25จࣈ࢖ͬͯ͠·͏ͨΊ
    letsencrypt/boulder.git/policy/pa.go@126
    // TODO(#3237): Right now our schema for the authz table only allows
    255 characters
    // for identifiers, including JSON wrapping, which takes up 25
    characters. For
    // now, we only allow identifiers up to 230 characters in length.
    When we are
    // able to do a migration to update this table, we can allow DNS
    names up to
    // 253 characters in length.
    maxLabelLength = 63
    maxDNSIdentifierLength = 230
    `identifier` varchar(255) NOT NULL,
    {"type":"dns","value":"example.com"}
    https://community.letsencrypt.org/t/i-want-use-max-255-octet-domain/51279

    View Slide

  33. Let’s Encrypt
    ͕ବ໨ͳΒ…

    View Slide

  34. ී௨ͷ༗ྉSSLͳΒ
    ͍͚Μͷ͔

    View Slide

  35. # openssl req -new -key key.pem -out key.csr
    Common Name (eg, fully qualified host name)
    []:workworkworkworkworkwork.workworkworkworkworkworkworkworkworkwork
    .workworkworkworkworkworkworkworkworkworkworkworkworkworkwork.workwo
    rkworkworkworkworkworkworkworkworkworkworkworkworkwork.workworkworkw
    orkworkworkworkworkworkworkworkworkworkworkwork.work
    OpenSSLͰCSRൃߦ΍!

    View Slide

  36. string is too long,
    it needs to be less than
    64 bytes long

    View Slide

  37. RFC 5280
    Appendix A.1
    ub-common-name-length
    INTEGER ::= 64
    ͪΐͬͱࣗ৴ͳ͍

    View Slide

  38. αʔόʔϨε΍!

    View Slide

  39. Firebase Hosting
    ແྉSSL+ແྉCDN(݄50GB·Ͱ)

    View Slide

  40. Firebase Hosting
    ແྉSSL+ແྉCDN(݄50GB·Ͱ)

    View Slide

  41. Firebase Hosting
    ແྉSSL+ແྉCDN(݄50GB·Ͱ)

    View Slide

  42. SSL͕͍ͭ·Ͱܦͬͯ΋
    ൓ө͞Εͳ͍

    View Slide

  43. UI΋յΕΔ

    View Slide

  44. ACME v2 API
    ϫΠϧυΧʔυূ໌ॻ

    View Slide

  45. cert-bot
    SAN ରԠ
    υϝΠϯෳ਺ࢦఆͰ͖Δ
    &
    ઌ಄ͷυϝΠϯ͕CNʹ

    View Slide

  46. workworkworkworkworkw
    orkworkworkworkworkwor
    kworkworkworkwork.work
    65จࣈ

    View Slide

  47. workworkworkworkwork.
    work
    25จࣈ

    View Slide

  48. ./certbot-auto certonly --manual -d workworkworkworkwork.work -d
    *.workworkworkworkworkworkworkworkworkwork.workworkworkworkworkworkw
    orkworkworkworkworkworkworkworkwork.workworkworkworkworkworkworkwork
    workworkworkworkworkworkwork.workworkworkworkworkworkworkworkworkwor
    kworkworkworkworkwork.work -m [email protected] --agree-tos --manual-
    public-ip --preferred-challenges dns-01 --server https://acme-
    v02.api.letsencrypt.org/directory

    View Slide

  49. Congratulations!
    ./certbot-auto certonly --manual -d workworkworkworkwork.work -d
    *.workworkworkworkworkworkworkworkworkwork.workworkworkworkworkworkw
    orkworkworkworkworkworkworkworkwork.workworkworkworkworkworkworkwork
    workworkworkworkworkworkwork.workworkworkworkworkworkworkworkworkwor
    kworkworkworkworkwork.work -m [email protected] --agree-tos --manual-
    public-ip --preferred-challenges dns-01 --server https://acme-
    v02.api.letsencrypt.org/directory
    IMPORTANT NOTES:
    -
    Congratulations!
    Your certificate and chain have been saved at:
    /etc/letsencrypt/live/workworkworkworkwork.work/fullchain.pem

    View Slide

  50. View Slide

  51. View Slide

  52. http://bit.ly/endless_work
    Jun Watanabe@rela1470
    https://rela.red/
    https://yasero.dev/

    View Slide