Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20220523_akibaaws-online-08-s3

 20220523_akibaaws-online-08-s3

h-ashisan

May 27, 2022
Tweet

More Decks by h-ashisan

Other Decks in Technology

Transcript

  1. Amazon S3ͷ࢝Ίํ

    ",*#""840/-*/&"84ɺ͸͡Ί·ͨ͠ฤ
    )JSPBLJ"TIJ[BXB
    ʙS3ͷ֓ཁͱΞΫηεɾετϨʔδ؅ཧʹֶ͍ͭͯ΅͏ʙ

    View Slide

  2. ࣗݾ঺հ
    Ἑ୔޿ত /


    (͋͟͠ΘͻΖ͖͋)
    ॴଐ


    AWSࣄۀ෦ίϯαϧςΟϯά෦


    Twitter


    @ashi_ssan


    ೖࣾ


    2021/09/01


    ڵຯ͕͋ΔαʔϏε


    AWS WAF


    AWS DataSync

    View Slide


  3. ॕɾʰAWSͷ஌ࣝ஍ਤʱൃץʂ

    View Slide

  4. ʰ"84ͷ஌ࣝ஍ਤʱ΋͏ಡΈ·͔ͨ͠ʁ
    ߪೖϖʔδϦϯΫɿhttps://www.amazon.co.jp/dp/B09X9JVR7Q

    View Slide

  5. ʰ"84ͷ஌ࣝ஍ਤʱͷ໨࣍ "NB[POΑΓ

    View Slide

  6. ʰ"84ͷ஌ࣝ஍ਤʱͷ໨࣍ "NB[POΑΓ

    ͜ͷষʹؚ·ΕΔ
    "NB[PO4ʹ͍ͭͯ
    ࿩͠·͢ʂʂʂ

    View Slide

  7. ࠓ೔࿩͢͜ͱ
    • Amazon S3ͱ͸ʁ


    • S3ͷػೳ


    • ΞΫηε؅ཧɾετϨʔδ؅ཧ


    • ·ͱΊ

    View Slide

  8. ૝ఆࢹௌऀ
    • ͜Ε͔ΒAWSΛֶΜͰߦ͖͍ͨํ


    • Amazon S3ʹֶ͍ͭͯͼ͍ͨํ


    • Amazon S3Λطʹ࢖͍ͬͯΔ͕ͲΜͳઃఆΛͨ͠Β
    ྑ͍͔Θ͔Βͳ͍ํ

    View Slide

  9. ࠓ೔࿩ͤͳ͍͜ͱ
    • S3Ҏ֎ͷAWSϦιʔεʹ͍ͭͯ


    • ࠓ೔औΓѻΘͳ͍S3ͷػೳ


    • ػೳ͢΂ͯΛ໢ཏͨ͠಺༰Ͱ͸͋Γ·ͤΜ


    • S3Λར༻ͨ͠۩ମతͳϢʔεέʔε


    • AWSར༻ྉۚʹ͍ͭͯ

    View Slide


  10. Amazon S3ͱ͸ʁ

    View Slide

  11. "NB[PO4ͱ͸ʁ
    • S3 = ”Amazon Simple Storage Service”


    • ҎԼͷಛ௃Λ࣋ͭΦϒδΣΫτετϨʔδαʔϏε


    • ֦ுੑ


    • ଱ٱੑ


    • ηΩϡϦςΟ


    • ύϑΥʔϚϯε

    View Slide

  12. ΦϒδΣΫτετϨʔδͱ͸ʁ
    Ҿ༻ɿhttps://www.softbank.jp/biz/blog/business/articles/202007/storage-difference/

    View Slide

  13. ΦϒδΣΫτετϨʔδͱ͸ʁ
    Ҿ༻ɿhttps://www.softbank.jp/biz/blog/business/articles/202007/storage-difference/

    View Slide

  14. 4ͷߏ੒ཁૉ
    • όέοτ


    • S3ʹอଘ͞ΕΔΦϒδΣΫτίϯςφ


    • ΦϒδΣΫτ


    • S3ʹอଘ͞ΕΔجຊΤϯςΟςΟ


    • Ωʔ


    • όέοτ಺ʹҰҙͷΦϒδΣΫτࣝผࢠ


    • ΦϒδΣΫτΩʔ = Prefix + ΦϒδΣΫτ໊

    View Slide

  15. 4ͷߏ੒ཁૉ

    View Slide

  16. 4ͷ଱ٱੑɾՄ༻ੑ
    • ଱ٱੑɿ99.999999999% <௨শɿΠϨϒϯφΠϯ>


    • ͭ·Γ… σʔλΛফࣦ͢ΔՄೳੑ͸΄΅θϩ


    • Մ༻ੑɿ99.99%(S3 Standardͷ৔߹)


    • ͭ·Γ…ɹαʔϏεఀࢭ࣌ؒ͸೥ؒ1࣌ؒఔ౓
    (52.6෼)

    View Slide

  17. 4ͷ଱ٱੑɾՄ༻ੑ
    Ҿ༻ɿhttps://d1.awsstatic.com/webinars/jp/pdf/services/20190220_AWS-BlackBelt_S3_Glacier.pdf

    View Slide

  18. 4ͷσʔλ੔߹ੑϞσϧ
    • ڧྗͳ੔߹ੑ


    • ΦϒδΣΫτͷPUT(৽نొ࿥ɺߋ৽),DELETE(࡟আ)ʹؔ͢Δॻ͖ࠐΈޙಡ
    ΈऔΓͷ “ڧྗͳ੔߹ੑ” ͕࠾༻͞Ε͍ͯΔ

    View Slide

  19. 4ͷσʔλ੔߹ੑϞσϧ
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/
    update-amazon-s3-strong-read-after-write-
    consistency/
    • ڧ͍੔߹ੑ͸2020೥ͷre:invent
    Ͱαϙʔτ͞Ε·ͨ͠


    • ݹ͍ॻ੶ɾ৘ใͩͱʮ݁Ռ੔߹
    ੑʯͱ͋Δ͸ͣɺཁ஫ҙ


    • ࠷৽ͷΞοϓσʔτͷ৘ใΛ࢖͍
    ·͠ΐ͏

    View Slide


  20. S3ͷػೳ

    View Slide

  21. 4ͷػೳ
    • ΞΫηε؅ཧ


    • IAMɺACL(ΞΫηείϯτϩʔϧϦετ)ɺόέοτϙϦγʔɺϒϩοΫύϒ
    ϦοΫΞΫηε etc…


    • ετϨʔδ؅ཧ


    • σϑΥϧτ҉߸ԽɺόʔδϣχϯάɺετϨʔδΫϥεɺϥΠϑαΠΫϧϙϦ
    γʔ etc…


    • ͦͷଞ


    • ΞΫηεϩάɺCloudTrailϩάɺCloudWatchϝτϦΫε


    • S3 Storage LensɺS3ετϨʔδΫϥε෼ੳ


    • etc…

    View Slide

  22. 4ͷػೳ
    • ΞΫηε؅ཧ


    • IAMɺACL(ΞΫηείϯτϩʔϧϦετ)ɺόέοτϙϦγʔɺϒϩοΫύϒ
    ϦοΫΞΫηε etc…


    • ετϨʔδ؅ཧ


    • σϑΥϧτ҉߸ԽɺόʔδϣχϯάɺετϨʔδΫϥεɺϥΠϑαΠΫϧϙϦ
    γʔ etc…


    • ͦͷଞ


    • ΞΫηεϩάɺCloudTrailϩάɺCloudWatchϝτϦΫε


    • S3 Storage LensɺS3ετϨʔδΫϥε෼ੳ


    • etc…
    ࠓ೔࿩͢ͱ͜Ζ

    View Slide


  23. ΞΫηε؅ཧ

    View Slide

  24. લஔ͖
    ͳͥΞΫηε؅ཧ͕ඞཁͳͷ͔ʁ
    • S3͸REST API(HTTPS)ͰΞΫηεՄೳͰ͢


    • ྫ)


    • ౦ژϦʔδϣϯʹ͋Δόέοτ໊ ”akiba-aws-bucket” ಺ͷΦϒδΣ
    ΫτΩʔ”object/blog.jpg”ʹΞΫηε͢Δ৔߹…


    • URLྫɿhttps://{όέοτ໊}.s3.{Ϧʔδϣϯ໊}/{Prefix}/{ΦϒδΣΫτ໊}

    View Slide

  25. લஔ͖
    ͳͥΞΫηε؅ཧ͕ඞཁͳͷ͔ʁ
    • S3͸REST API(HTTPS)ͰΞΫηεՄೳͰ͢


    • ྫ)


    • ౦ژϦʔδϣϯʹ͋Δόέοτ໊ ”akiba-aws-bucket” ಺ͷΦϒδΣ
    ΫτΩʔ”object/blog.jpg”ʹΞΫηε͢Δ৔߹…


    • URLྫɿhttps://{όέοτ໊}.s3.{Ϧʔδϣϯ໊}/{Prefix}/{ΦϒδΣΫτ໊}
    ʲ໰୊ఏىʳ
    ͜ͷ63-Λ஌ΒΕͨΒ୭Ͱ΋ΞΫηε
    Ͱ͖ͯ͠·͏ͷͰ͸ʁʁʁ

    View Slide

  26. ΞΫηε؅ཧ֓ཁ
    • ϢʔβʔϙϦγʔ


    • όέοτϙϦγʔ


    • ACL(ΞΫηείϯτϩʔϧϦετ)


    • ϒϩοΫύϒϦοΫΞΫηε

    View Slide

  27. ϢʔβʔϙϦγʔ
    • ʮAWSʹ͓͍ͯ͜ͷϢʔβʔ͸Կ͕Ͱ͖Δͷ͔ʁʯΛ
    ࢦఆ͢ΔIAMͷΞΠσϯςΟςΟϕʔεϙϦγʔ

    View Slide

  28. όέοτϙϦγʔ
    • ʮ͜ͷS3όέοτʹ͸୭͕ΞΫηεͰ͖Δͷ͔ʁʯ
    Λࢦఆ͢ΔIAMͷϦιʔεϕʔεϙϦγʔ

    View Slide

  29. "$- ΞΫηείϯτϩʔϧϦετ

    • ʮ͜ͷS3όέοτ/S3ΦϒδΣΫτʹΞΫηεͰ͖Δ
    ଞͷAWSΞΧ΢ϯτʯΛࢦఆ͢ΔIAMͷϦιʔεϕʔ
    εϙϦγʔ

    View Slide

  30. "$- ΞΫηείϯτϩʔϧϦετʲΞοϓσʔτʳ
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/s3-
    bucket-owner-enforced/
    • ACL͸2021೥ͷre:inventͰɹ
    ແޮԽͰ͖ΔΑ͏ʹͳΓ·ͨ͠


    • ʰͪΐͬͱACLࣺͯͯ͘Δʱ

    View Slide

  31. όέοτϙϦγʔPS"$-ʁ
    • όέοτϙϦγʔͱͲͪΒΛ࢖͏͔બ୒͢Δ


    • جຊతͳߟ͑ͱͯ͠ɺόέοτϙϦγʔΛ࢖༻ɺACL
    ͸ແޮʹ͢Δ΂͖


    • ACL͸AWSΞΧ΢ϯτ୯Ґͷ੍ޚͷΈ


    • όέοτϙϦγʔ͸IAMϦιʔε୯ҐͰͷ੍ޚ͕Մ

    View Slide

  32. ϒϩοΫύϒϦοΫΞΫηε
    • S3όέοτʹઃఆ͢Δ͜ͱͰύϒϦοΫެ։Λ๷ࢭ
    Ͱ͖Δػೳ


    • ύϒϦοΫΞΫηε͕ෆཁͳόέοτʹඞਢͷઃఆ


    • ΞΧ΢ϯτ୯Ґɺόέοτ୯Ґͷઃఆ͕͋Δ

    View Slide

  33. 4ͷΞΫηε؅ཧɺԿͨ͠Β͍͍ͷʁ
    • ϢʔβʔϙϦγʔ


    • όέοτϙϦγʔ


    • ACL(ΞΫηείϯτϩʔϧϙϦγʔ)


    • ϒϩοΫύϒϦοΫΞΫηε

    View Slide

  34. 4ͷΞΫηε؅ཧɺԿͨ͠Β͍͍ͷʁ
    • ϢʔβʔϙϦγʔ


    • ར༻͢Δ → લఏͱͯ͠IAMϢʔβʔͰਖ਼͘͠ݖݶ؅ཧΛ͠Α͏


    • όέοτϙϦγʔ


    • ར༻͢Δ → S3ʹ͍ͭͯΞΫηεڐՄ͢ΔϦιʔεͷ؅ཧΛ͠Α͏


    • ACL(ΞΫηείϯτϩʔϧϙϦγʔ)


    • جຊతʹ͸ແޮͰOK


    • ϒϩοΫύϒϦοΫΞΫηε


    • ༗ޮԽ → ύϒϦοΫެ։͕ෆཁͳ৔߹͸ඞਢ

    View Slide

  35. ࢀߟ
    *".ʹ͍ͭͯ΋ͬͱ஌Γ͍ͨํ޲͚ͷهࣄ
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/re-introduction-2022-aws-iam/

    View Slide

  36. ࢀߟ
    "$-ʹ͍ͭͯ΋ͬͱ஌Γ͍ͨํ޲͚ͷهࣄ
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/amazon-s3-acl-basics/

    View Slide


  37. ετϨʔδ؅ཧ

    View Slide

  38. લஔ͖
    ͳͥετϨʔδͷ؅ཧΛ͢Δͷ͔ʁ
    • ҰൠతͳετϨʔδͰ͋Ε͹…


    • σʔλͷ૿Ճରࡦ → ݶΒΕͨετϨʔδαΠζ


    • σʔλͷόοΫΞοϓ → ϋʔυো֐ɺϥϯαϜ΢ΣΞରࡦ


    • S3ͷ৔߹΋ಉ͡Α͏ʹରࡦ͕ඞਢ


    • σʔλͷ૿Ճରࡦ → ॊೈͳετϨʔδαΠζ


    • → ैྔ՝ۚΛ཈͑ΔͨΊͷରࡦ͕ඞཁ


    • σʔλͷόοΫΞοϓ → S3ͷ଱ٱੑɾՄ༻ੑ


    • → ޡૢ࡞ɺվ͟Μରࡦ͸ඞཁ

    View Slide

  39. ετϨʔδ؅ཧ֓ཁ
    • σϑΥϧτ҉߸Խ


    • όʔδϣχϯά


    • ετϨʔδΫϥε


    • ϥΠϑαΠΫϧϙϦγʔ

    View Slide

  40. σϑΥϧτ҉߸Խ
    Ҿ༻ɿhttps://d1.awsstatic.com/webinars/jp/pdf/services/20190220_AWS-BlackBelt_S3_Glacier.pdf

    View Slide

  41. ࢀߟ
    4ͷ҉߸Խʹ͍ͭͯ
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/lim-s3-sse-2021/

    View Slide

  42. όʔδϣχϯά
    • ୯ҰͷΦϒδΣΫτͷෳ਺όʔδϣϯΛอ࣋Ͱ͖ΔΑ
    ͏ʹ͢ΔΦϓγϣϯ


    • ૢ࡞ϛεʹΑΔ࡟আ͔Βͷ෮چɺσʔλͷվ͟ΜରࡦʹͳΔ


    • ্ॻ͖ͷ৔߹͸৽نόʔδϣϯͷΦϒδΣΫτɺ࡟আ
    ͷ৔߹͸࡟আϚʔΧʔ͕࡞੒͞ΕΔ

    View Slide

  43. όʔδϣχϯά
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/3minutes-s3-versioning-lifecycle/

    View Slide

  44. ετϨʔδΫϥε
    • ༻్ʹԠͯ͡ΦϒδΣΫτΛ֨ೲ͢ΔS3ͷ৔ॴΛ࢖͍෼͚Δ͜
    ͱ͕Ͱ͖·͢
    Ҿ༻ɿhttps://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/storage-class-intro.html

    View Slide

  45. ετϨʔδΫϥε
    • ͲͷΫϥεʹ͢΂͖͔ʁ͸ɺΞΫηεස౓΍࠷খอଘ
    ظؒʹΑܾͬͯ·Δ


    • ྫʣ


    • 1ϲ݄ʹ1ճΞΫηε͢ΔΞϓϦέʔγϣϯϩά = Standard-IA


    • ਺೥୯ҐͰΞΫηε͞Εͳ͍؂ࠪϩά = Glacier Deep Archive


    • ࣄલʹԿʹ͢΂͖͔Θ͔Βͳ͍৔߹͸ޙ͔Βઃఆ͢Δ͜ͱ
    ΋Մೳ


    • Ұ୴͢΂ͯStandardͰอଘ͓͖ͯ͠ɺS3 Storage Lensͷ෼ੳ݁Ռʹ
    ΑͬͯΫϥεΛܾΊΔɺͱ͍͏ઓུ

    View Slide

  46. ετϨʔδΫϥεʲ44UPSBHF-FOTʳ
    • ༗ޮԽ͢ΔͱS3ͷར༻ঢ়
    گ͕μογϡϘʔυԽ͞Ε
    ·͢
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/
    amazon-s3-storage-lens/

    View Slide

  47. ετϨʔδΫϥεʲ*OUFMMJHFOU5JFSJOHʳ
    • ΞΫηεස౓ʹԠͯ͡3ͭͷΞΫηε֊૚ʹࣗಈతʹ
    ΦϒδΣΫτΛอଘ͢ΔΫϥε


    • ߴස౓/௿ස౓/Πϯελϯτ


    • ΦϓτΠϯͰΑΓ௿͍ස౓ͷΞΫηε֊૚Λར༻Մೳ


    • ΞʔΧΠϒ/σΟʔϓΞʔΧΠϒ


    • ޙड़͢ΔϥΠϑϧαΠΫϧϙϦγʔΛ಺ଂͨ͠ετ
    ϨʔδΫϥεͱ͍͏Πϝʔδ

    View Slide

  48. ετϨʔδΫϥεʲ*OUFMMJHFOU5JFSJOHʳ
    • গ͠ݹ͍ਤͰ͕͢͜ͷΑ͏ͳΠϝʔδ
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/amazon-s3-intelligent-tiering-further-automating-cost-savings-for-short-lived-and-small-objects/
    ݱࡏ͸
    ΠϯελϯτΞΫηε֊૚
    ͕௥Ճ͞Ε͍ͯΔ

    View Slide

  49. ϥΠϑαΠΫϧϙϦγʔ
    • όέοτ಺ͷΦϒδΣΫτʹରͯ͠ɺετϨʔδΫϥ
    εͷมߋ΍࡟আॲཧΛࣗಈԽ͢ΔΦϓγϣϯ

    View Slide

  50. ϥΠϑαΠΫϧϙϦγʔʲΞοϓσʔτʳ
    • 2021/11ʹൃද͞ΕͨΞοϓσʔτʹ
    ͯɺόʔδϣϯ਺Λࢦఆͨ͠ϥΠϑα
    ΠΫϧ؅ཧ͕Մೳʹ


    • ඇݱߦόʔδϣϯͰͳ͘ͳͬͨ೔਺Λࢦఆ
    ͯ͠࡟আɺετϨʔδΫϥεҠಈ͕Մೳʹ


    • ྫ) ඇݱߦόʔδϣϯͱͳͬͯ2೔ܦͬͨΒ࡟আ
    Ҿ༻ɿhttps://dev.classmethod.jp/articles/
    s3-lifecyclerule-add-object-version/

    View Slide

  51. 4ͷετϨʔδ؅ཧɺԿͨ͠Β͍͍ͷʁ
    • σϑΥϧτ҉߸Խ


    • όʔδϣχϯά


    • ετϨʔδΫϥε


    • ϥΠϑαΠΫϧϙϦγʔ

    View Slide

  52. 4ͷετϨʔδ؅ཧɺԿͨ͠Β͍͍ͷʁ
    • σϑΥϧτ҉߸Խ


    • ༗ޮԽ → جຊ͸αʔόʔαΠυɺSSE-S3(҉߸ԽϙϦγʔ͕ͳ͍৔߹)


    • όʔδϣχϯά


    • ༗ޮԽ → ޡૢ࡞๷ࢭɺվ͟Μ๷ࢭͷ؍఺ͰઃఆΛ͓͢͢Ί


    • ετϨʔδΫϥε


    • جຊతʹ͸Standardɺ༻్΍؅ཧํ਑͕ܾ·͍ͬͯΕ͹֤ετϨʔδΫ
    ϥεΛબ୒͢Δ


    • ϥΠϑαΠΫϧϙϦγʔ


    • ઃఆ͢Δ → ద੾ͳετϨʔδΫϥε΁ͷҠಈɺෆཁʹͳͬͨΦϒδΣΫ
    τͷ࡟আͷࣗಈԽ͕Մೳ

    View Slide


  53. ·ͱΊ

    View Slide

  54. શମͷ·ͱΊ
    • S3ͱ͸


    • ֦ுੑɾ଱ٱੑɾηΩϡϦςΟػೳΛ΋ͭΦϒδΣΫτετϨʔδ


    • ͘͢͝ݎ࿚Ͱɺڧྗͳσʔλ੔߹ੑΛ͍࣋ͬͯΔɻ


    • ΞΫηε؅ཧ


    • ϢʔβϙϦγʔɺόέοτϙϦγʔΛར༻͠Α͏(ACL͸ແޮ)


    • ෆཁͳύϒϦοΫΞΫηε͸ϒϩοΫ͠Α͏


    • ετϨʔδ؅ཧ


    • σϑΥϧτ҉߸ԽɺόʔδϣχϯάɺϥΠϑαΠΫϧϙϦγʔΛར༻͠
    Α͏


    • ετϨʔδΫϥε͸StandardͰOK

    View Slide

  55. View Slide