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

toilを解消した話

 toilを解消した話

JAWS-UG SRE支部 #3 のLTスライドです。
https://jawsug-sre.connpass.com/event/244615/

AsumaYwY

May 20, 2022
Tweet

Other Decks in Technology

Transcript

  1. ϚΠΫϩαʔϏεͷϦϦʔεʹ
    ·ͭΘΔUPJMΛղফͨ͠࿩
    Ճ౻ ༡അ
    גࣜձࣾ໺ଜ૯߹ݚڀॴ
    JAWS-UG SREࢧ෦ #3

    View Slide

  2. ࣗݾ঺հ
    • 2020೥ ໺ଜ૯߹ݚڀॴೖࣾ
    • AWSͳͲͷΫϥ΢υΛ༻͍ͨΠϯϑ
    ϥ։ൃ΍ӡ༻ɾอक
    • SRE׆ಈɿ൒೥ʙ1೥
    1
    Ճ౻ ༡അ
    Kato Asuma
    ϨϏϡΞʔͱͯ͠ڠྗ
    @AsumaYwY

    View Slide

  3. എܠ
    ൃੜͨ͠UPJM
    UPJMͷղফʹ޲͚ͯ
    ·ͱΊ
    2

    View Slide

  4. എܠᶃίϯϓϥΠΞϯεʹؔ͢Δ४ڌ
    • ελʔτΞοϓͷ͓٬༷޲͚ʹΫϨδοτΧʔυαʔϏεΛఏڙ
    • PCIDSS(※)ͱݺ͹ΕΔΧʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ʹ४ڌ͢Δඞཁ͕͋Δ
    3
    ʲ1$*%44ཁ݅ʳ
    ͢΂ͯͷγεςϜίϯϙʔωϯτͱιϑτ΢ΣΞʹɺ
    ϕϯμఏڙͷηΩϡϦςΟύον͕Πϯετʔϧ͞Εɺط஌ͷ੬ऑੑ͔Βอޢ͞Ε͍ͯΔɻ
    ॏཁͳηΩϡϦςΟύον͸ɺϦϦʔεޙ Χ݄Ҏ಺ʹΠϯετʔϧ͢Δɻ
    ※Payment Card Industry Data Security Standard

    View Slide

  5. എܠᶄҰ෦ͷίϯϙʔωϯτͰ੬ऑੑͷରԠ͕සൟʹൃੜ
    • ECS / FargateΛओ࣠ʹͨ͠ϓϥοτϑΥʔϜ
    • ϩάϧʔλͱͯ͠fluent-bitΛར༻
    4
    サービスプラットフォーム
    マイクロサービス別
    各API
    API
    Gateway
    NLB
    API
    NLB
    API
    API
    ALB
    決済系API
    返済系API
    申込系API
    通知系API
    Aurora
    ECS
    ⾮同期処理
    API
    Gateway
    スマホアプリ
    外部接続システム
    (返済機能)
    管理者Web
    アプリ
    コンテナ
    fluent-bit
    コンテナ
    約1ヶ⽉に1度
    脆弱性が発⾒
    12個のマイクロサービス群
    各ECS/Fargateタスクの中⾝

    View Slide

  6. എܠᶅ؀ڥߏ੒ʹΑΔ$*$%ϑϩʔ
    5
    • ֤ϚΠΫϩαʔϏεຖʹCI/CDΛܦͯɺproduction؀ڥʹϦϦʔε͞ΕΔ
    Pull Requestに対する
    レビュー実施

    View Slide

  7. 'MVFOUCJUͷ੬ऑੑରԠ͕5PJMʹͳ͍ͬͯΔ
    6
    ϲ݄ʹ̍ճҎ্
    ൃݟ͞ΕΔ੬ऑੑ
    ΞϓϦʹ௚઀
    ؔ࿈͕ͳ͍
    13ϨϏϡʔෛՙ
    αʔϏε਺ʹ
    ൺྫͨ͠ෛՙ૿େ
    Toil

    View Slide

  8. UPJMͷղফʹ޲͚ͯطଘͷ੬ऑੑରԠϑϩʔ
    7
    Fluent-bitίϯςφ੬ऑੑमਖ਼
    ECR΁pushͱࣄલͷಈ࡞֬ೝ
    (commit IDΛؚΜͩλά໊)
    12ϦϙδτϦ º 3ϒϥϯνͰ
    ECSఆٛͷมߋ (fluent-bitλάमਖ਼)
    PRͱϨϏϡʔ º αʔϏε਺
    ECSαʔϏεͷσϓϩΠ
    タグ指定を変更することで、
    レビュー負荷を軽減

    View Slide

  9. UPJMͷղফʹ޲͚࣮ͯࢪͨ͠ࢪࡦ
    1. Fluent-bitίϯςφͷlatestλάӡ༻
    2. Slack + AWS Chatbot + LambdaʹΑΔ
    ECSαʔϏεҰׅϦσϓϩΠ
    8

    View Slide

  10. UPJMͷղফᶃ 'MVFOUCJUίϯςφͷMBUFTUλάӡ༻Λ࠾༻
    ͨͩ͠ɺMBUFTUλάͷӡ༻͸ҎԼͷཧ༝͔ΒΞϯνύλʔϯͱ͞Ε͍ͯΔ
    • ιʔείʔυͱͷτϨʔαϏϦςΟ
    • ՔಇதͷΠϝʔδͷόʔδϣϯ͕Θ͔Βͳ͍
    • ϩʔϧόοΫ͕Ͱ͖ͳ͍
    9

    View Slide

  11. UPJMͷղফᶃ 'MVFOUCJUίϯςφͷMBUFTUλάӡ༻Λ࠾༻
    10
    • ιʔείʔυͱͷτϨʔαϏϦςΟ
    ⇨ࣗ෼ͨͪͷ؅ཧ͢ΔFluent-bitͷιʔείʔυͳͲ͔Β֬ೝՄೳ
    • ՔಇதͷΠϝʔδͷόʔδϣϯ͕Θ͔Βͳ͍
    ⇨ECSͰՔಇதͷλεΫͷϋογϡΛ֬ೝͯ͠ECRͰಥ߹Մೳ
    • ϩʔϧόοΫ͕Ͱ͖ͳ͍
    ⇨λάͷ෇͚ସ͑ͰରԠՄೳ
    Fluent-bitコンテナイメージは設定をカスタマイズしたものを
    ⾃分たちのイメージとして管理・利⽤している

    View Slide

  12. UPJMͷղফᶄ&$4αʔϏεҰׅϦσϓϩΠ
    11



    ɾChatOpsΛϕʔεʹSlack͔Β3؀ڥͷLambdaΛىಈ
    ɾ12αʔϏεΛҰׅͰϦσϓϩΠ͢Δ͜ͱͰɺ੬ऑੑ͕ରॲ͞Εͨfluent-bitΛ൓ө

    View Slide

  13. ·ͱΊ
    12
    ɾUPJMΛೝࣝ͠ɺࣗಈԽ͕ՄೳͳΑ͏ʹ
    γεςϜ΍ϓϩηεΛվળ͢ΔͨΊͷΧϧνϟʔ͸େ੾
    ɾ๬·͍͠ઃܭͱӡ༻ෛՙͷόϥϯεΛऔΔ

    View Slide