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

20220523_akibaaws-online-08-s3

 20220523_akibaaws-online-08-s3

3cb071df50ed06febdfb3262fb5a67a3?s=128

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ͷ֓ཁͱΞΫηεɾετϨʔδ؅ཧʹֶ͍ͭͯ΅͏ʙ

  2. ࣗݾ঺հ  Ἑ୔޿ত / (͋͟͠ΘͻΖ͖͋) ॴଐ AWSࣄۀ෦ίϯαϧςΟϯά෦ Twitter @ashi_ssan ೖࣾ

    2021/09/01 ڵຯ͕͋ΔαʔϏε AWS WAF AWS DataSync
  3.  ॕɾʰAWSͷ஌ࣝ஍ਤʱൃץʂ

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

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

  6. ʰ"84ͷ஌ࣝ஍ਤʱͷ໨࣍ "NB[POΑΓ  ͜ͷষʹؚ·ΕΔ "NB[PO4ʹ͍ͭͯ ࿩͠·͢ʂʂʂ

  7. ࠓ೔࿩͢͜ͱ  • Amazon S3ͱ͸ʁ • S3ͷػೳ • ΞΫηε؅ཧɾετϨʔδ؅ཧ •

    ·ͱΊ
  8. ૝ఆࢹௌऀ  • ͜Ε͔ΒAWSΛֶΜͰߦ͖͍ͨํ • Amazon S3ʹֶ͍ͭͯͼ͍ͨํ • Amazon S3Λطʹ࢖͍ͬͯΔ͕ͲΜͳઃఆΛͨ͠Β

    ྑ͍͔Θ͔Βͳ͍ํ
  9. ࠓ೔࿩ͤͳ͍͜ͱ  • S3Ҏ֎ͷAWSϦιʔεʹ͍ͭͯ • ࠓ೔औΓѻΘͳ͍S3ͷػೳ • ػೳ͢΂ͯΛ໢ཏͨ͠಺༰Ͱ͸͋Γ·ͤΜ • S3Λར༻ͨ͠۩ମతͳϢʔεέʔε

    • AWSར༻ྉۚʹ͍ͭͯ
  10.  Amazon S3ͱ͸ʁ

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

    ҎԼͷಛ௃Λ࣋ͭΦϒδΣΫτετϨʔδαʔϏε • ֦ுੑ • ଱ٱੑ • ηΩϡϦςΟ • ύϑΥʔϚϯε
  12. ΦϒδΣΫτετϨʔδͱ͸ʁ  Ҿ༻ɿhttps://www.softbank.jp/biz/blog/business/articles/202007/storage-difference/

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

  14. 4ͷߏ੒ཁૉ  • όέοτ • S3ʹอଘ͞ΕΔΦϒδΣΫτίϯςφ • ΦϒδΣΫτ • S3ʹอଘ͞ΕΔجຊΤϯςΟςΟ

    • Ωʔ • όέοτ಺ʹҰҙͷΦϒδΣΫτࣝผࢠ • ΦϒδΣΫτΩʔ = Prefix + ΦϒδΣΫτ໊
  15. 4ͷߏ੒ཁૉ 

  16. 4ͷ଱ٱੑɾՄ༻ੑ  • ଱ٱੑɿ99.999999999% <௨শɿΠϨϒϯφΠϯ> • ͭ·Γ… σʔλΛফࣦ͢ΔՄೳੑ͸΄΅θϩ • Մ༻ੑɿ99.99%(S3

    Standardͷ৔߹) • ͭ·Γ…ɹαʔϏεఀࢭ࣌ؒ͸೥ؒ1࣌ؒఔ౓ (52.6෼)
  17. 4ͷ଱ٱੑɾՄ༻ੑ  Ҿ༻ɿhttps://d1.awsstatic.com/webinars/jp/pdf/services/20190220_AWS-BlackBelt_S3_Glacier.pdf

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

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

    ੑʯͱ͋Δ͸ͣɺཁ஫ҙ • ࠷৽ͷΞοϓσʔτͷ৘ใΛ࢖͍ ·͠ΐ͏
  20.  S3ͷػೳ

  21. 4ͷػೳ  • ΞΫηε؅ཧ • IAMɺACL(ΞΫηείϯτϩʔϧϦετ)ɺόέοτϙϦγʔɺϒϩοΫύϒ ϦοΫΞΫηε etc… • ετϨʔδ؅ཧ

    • σϑΥϧτ҉߸ԽɺόʔδϣχϯάɺετϨʔδΫϥεɺϥΠϑαΠΫϧϙϦ γʔ etc… • ͦͷଞ • ΞΫηεϩάɺCloudTrailϩάɺCloudWatchϝτϦΫε • S3 Storage LensɺS3ετϨʔδΫϥε෼ੳ • etc…
  22. 4ͷػೳ  • ΞΫηε؅ཧ • IAMɺACL(ΞΫηείϯτϩʔϧϦετ)ɺόέοτϙϦγʔɺϒϩοΫύϒ ϦοΫΞΫηε etc… • ετϨʔδ؅ཧ

    • σϑΥϧτ҉߸ԽɺόʔδϣχϯάɺετϨʔδΫϥεɺϥΠϑαΠΫϧϙϦ γʔ etc… • ͦͷଞ • ΞΫηεϩάɺCloudTrailϩάɺCloudWatchϝτϦΫε • S3 Storage LensɺS3ετϨʔδΫϥε෼ੳ • etc… ࠓ೔࿩͢ͱ͜Ζ
  23.  ΞΫηε؅ཧ

  24. લஔ͖ ͳͥΞΫηε؅ཧ͕ඞཁͳͷ͔ʁ  • S3͸REST API(HTTPS)ͰΞΫηεՄೳͰ͢ • ྫ) • ౦ژϦʔδϣϯʹ͋Δόέοτ໊

    ”akiba-aws-bucket” ಺ͷΦϒδΣ ΫτΩʔ”object/blog.jpg”ʹΞΫηε͢Δ৔߹… • URLྫɿhttps://{όέοτ໊}.s3.{Ϧʔδϣϯ໊}/{Prefix}/{ΦϒδΣΫτ໊}
  25. લஔ͖ ͳͥΞΫηε؅ཧ͕ඞཁͳͷ͔ʁ  • S3͸REST API(HTTPS)ͰΞΫηεՄೳͰ͢ • ྫ) • ౦ژϦʔδϣϯʹ͋Δόέοτ໊

    ”akiba-aws-bucket” ಺ͷΦϒδΣ ΫτΩʔ”object/blog.jpg”ʹΞΫηε͢Δ৔߹… • URLྫɿhttps://{όέοτ໊}.s3.{Ϧʔδϣϯ໊}/{Prefix}/{ΦϒδΣΫτ໊} ʲ໰୊ఏىʳ ͜ͷ63-Λ஌ΒΕͨΒ୭Ͱ΋ΞΫηε Ͱ͖ͯ͠·͏ͷͰ͸ʁʁʁ
  26. ΞΫηε؅ཧ֓ཁ  • ϢʔβʔϙϦγʔ • όέοτϙϦγʔ • ACL(ΞΫηείϯτϩʔϧϦετ) • ϒϩοΫύϒϦοΫΞΫηε

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

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

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

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

  31. όέοτϙϦγʔPS"$-ʁ  • όέοτϙϦγʔͱͲͪΒΛ࢖͏͔બ୒͢Δ • جຊతͳߟ͑ͱͯ͠ɺόέοτϙϦγʔΛ࢖༻ɺACL ͸ແޮʹ͢Δ΂͖ • ACL͸AWSΞΧ΢ϯτ୯Ґͷ੍ޚͷΈ •

    όέοτϙϦγʔ͸IAMϦιʔε୯ҐͰͷ੍ޚ͕Մ ೳ
  32. ϒϩοΫύϒϦοΫΞΫηε  • S3όέοτʹઃఆ͢Δ͜ͱͰύϒϦοΫެ։Λ๷ࢭ Ͱ͖Δػೳ • ύϒϦοΫΞΫηε͕ෆཁͳόέοτʹඞਢͷઃఆ • ΞΧ΢ϯτ୯Ґɺόέοτ୯Ґͷઃఆ͕͋Δ

  33. 4ͷΞΫηε؅ཧɺԿͨ͠Β͍͍ͷʁ  • ϢʔβʔϙϦγʔ • όέοτϙϦγʔ • ACL(ΞΫηείϯτϩʔϧϙϦγʔ) • ϒϩοΫύϒϦοΫΞΫηε

  34. 4ͷΞΫηε؅ཧɺԿͨ͠Β͍͍ͷʁ  • ϢʔβʔϙϦγʔ • ར༻͢Δ → લఏͱͯ͠IAMϢʔβʔͰਖ਼͘͠ݖݶ؅ཧΛ͠Α͏ • όέοτϙϦγʔ

    • ར༻͢Δ → S3ʹ͍ͭͯΞΫηεڐՄ͢ΔϦιʔεͷ؅ཧΛ͠Α͏ • ACL(ΞΫηείϯτϩʔϧϙϦγʔ) • جຊతʹ͸ແޮͰOK • ϒϩοΫύϒϦοΫΞΫηε • ༗ޮԽ → ύϒϦοΫެ։͕ෆཁͳ৔߹͸ඞਢ
  35. ࢀߟ *".ʹ͍ͭͯ΋ͬͱ஌Γ͍ͨํ޲͚ͷهࣄ  Ҿ༻ɿhttps://dev.classmethod.jp/articles/re-introduction-2022-aws-iam/

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

  37.  ετϨʔδ؅ཧ

  38. લஔ͖ ͳͥετϨʔδͷ؅ཧΛ͢Δͷ͔ʁ  • ҰൠతͳετϨʔδͰ͋Ε͹… • σʔλͷ૿Ճରࡦ → ݶΒΕͨετϨʔδαΠζ •

    σʔλͷόοΫΞοϓ → ϋʔυো֐ɺϥϯαϜ΢ΣΞରࡦ • S3ͷ৔߹΋ಉ͡Α͏ʹରࡦ͕ඞਢ • σʔλͷ૿Ճରࡦ → ॊೈͳετϨʔδαΠζ • → ैྔ՝ۚΛ཈͑ΔͨΊͷରࡦ͕ඞཁ • σʔλͷόοΫΞοϓ → S3ͷ଱ٱੑɾՄ༻ੑ • → ޡૢ࡞ɺվ͟Μରࡦ͸ඞཁ
  39. ετϨʔδ؅ཧ֓ཁ  • σϑΥϧτ҉߸Խ • όʔδϣχϯά • ετϨʔδΫϥε • ϥΠϑαΠΫϧϙϦγʔ

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

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

  42. όʔδϣχϯά  • ୯ҰͷΦϒδΣΫτͷෳ਺όʔδϣϯΛอ࣋Ͱ͖ΔΑ ͏ʹ͢ΔΦϓγϣϯ • ૢ࡞ϛεʹΑΔ࡟আ͔Βͷ෮چɺσʔλͷվ͟ΜରࡦʹͳΔ • ্ॻ͖ͷ৔߹͸৽نόʔδϣϯͷΦϒδΣΫτɺ࡟আ ͷ৔߹͸࡟আϚʔΧʔ͕࡞੒͞ΕΔ

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

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

  45. ετϨʔδΫϥε  • ͲͷΫϥεʹ͢΂͖͔ʁ͸ɺΞΫηεස౓΍࠷খอଘ ظؒʹΑܾͬͯ·Δ • ྫʣ • 1ϲ݄ʹ1ճΞΫηε͢ΔΞϓϦέʔγϣϯϩά =

    Standard-IA • ਺೥୯ҐͰΞΫηε͞Εͳ͍؂ࠪϩά = Glacier Deep Archive • ࣄલʹԿʹ͢΂͖͔Θ͔Βͳ͍৔߹͸ޙ͔Βઃఆ͢Δ͜ͱ ΋Մೳ • Ұ୴͢΂ͯStandardͰอଘ͓͖ͯ͠ɺS3 Storage Lensͷ෼ੳ݁Ռʹ ΑͬͯΫϥεΛܾΊΔɺͱ͍͏ઓུ
  46. ετϨʔδΫϥεʲ44UPSBHF-FOTʳ  • ༗ޮԽ͢ΔͱS3ͷར༻ঢ় گ͕μογϡϘʔυԽ͞Ε ·͢ Ҿ༻ɿhttps://dev.classmethod.jp/articles/ amazon-s3-storage-lens/

  47. ετϨʔδΫϥεʲ*OUFMMJHFOU5JFSJOHʳ  • ΞΫηεස౓ʹԠͯ͡3ͭͷΞΫηε֊૚ʹࣗಈతʹ ΦϒδΣΫτΛอଘ͢ΔΫϥε • ߴස౓/௿ස౓/Πϯελϯτ • ΦϓτΠϯͰΑΓ௿͍ස౓ͷΞΫηε֊૚Λར༻Մೳ •

    ΞʔΧΠϒ/σΟʔϓΞʔΧΠϒ • ޙड़͢ΔϥΠϑϧαΠΫϧϙϦγʔΛ಺ଂͨ͠ετ ϨʔδΫϥεͱ͍͏Πϝʔδ
  48. ετϨʔδΫϥεʲ*OUFMMJHFOU5JFSJOHʳ  • গ͠ݹ͍ਤͰ͕͢͜ͷΑ͏ͳΠϝʔδ Ҿ༻ɿhttps://dev.classmethod.jp/articles/amazon-s3-intelligent-tiering-further-automating-cost-savings-for-short-lived-and-small-objects/ ݱࡏ͸ ΠϯελϯτΞΫηε֊૚ ͕௥Ճ͞Ε͍ͯΔ

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

  50. ϥΠϑαΠΫϧϙϦγʔʲΞοϓσʔτʳ  • 2021/11ʹൃද͞ΕͨΞοϓσʔτʹ ͯɺόʔδϣϯ਺Λࢦఆͨ͠ϥΠϑα ΠΫϧ؅ཧ͕Մೳʹ • ඇݱߦόʔδϣϯͰͳ͘ͳͬͨ೔਺Λࢦఆ ͯ͠࡟আɺετϨʔδΫϥεҠಈ͕Մೳʹ •

    ྫ) ඇݱߦόʔδϣϯͱͳͬͯ2೔ܦͬͨΒ࡟আ Ҿ༻ɿhttps://dev.classmethod.jp/articles/ s3-lifecyclerule-add-object-version/
  51. 4ͷετϨʔδ؅ཧɺԿͨ͠Β͍͍ͷʁ  • σϑΥϧτ҉߸Խ • όʔδϣχϯά • ετϨʔδΫϥε • ϥΠϑαΠΫϧϙϦγʔ

  52. 4ͷετϨʔδ؅ཧɺԿͨ͠Β͍͍ͷʁ  • σϑΥϧτ҉߸Խ • ༗ޮԽ → جຊ͸αʔόʔαΠυɺSSE-S3(҉߸ԽϙϦγʔ͕ͳ͍৔߹) • όʔδϣχϯά

    • ༗ޮԽ → ޡૢ࡞๷ࢭɺվ͟Μ๷ࢭͷ؍఺ͰઃఆΛ͓͢͢Ί • ετϨʔδΫϥε • جຊతʹ͸Standardɺ༻్΍؅ཧํ਑͕ܾ·͍ͬͯΕ͹֤ετϨʔδΫ ϥεΛબ୒͢Δ • ϥΠϑαΠΫϧϙϦγʔ • ઃఆ͢Δ → ద੾ͳετϨʔδΫϥε΁ͷҠಈɺෆཁʹͳͬͨΦϒδΣΫ τͷ࡟আͷࣗಈԽ͕Մೳ
  53.  ·ͱΊ

  54. શମͷ·ͱΊ  • S3ͱ͸ • ֦ுੑɾ଱ٱੑɾηΩϡϦςΟػೳΛ΋ͭΦϒδΣΫτετϨʔδ • ͘͢͝ݎ࿚Ͱɺڧྗͳσʔλ੔߹ੑΛ͍࣋ͬͯΔɻ • ΞΫηε؅ཧ

    • ϢʔβϙϦγʔɺόέοτϙϦγʔΛར༻͠Α͏(ACL͸ແޮ) • ෆཁͳύϒϦοΫΞΫηε͸ϒϩοΫ͠Α͏ • ετϨʔδ؅ཧ • σϑΥϧτ҉߸ԽɺόʔδϣχϯάɺϥΠϑαΠΫϧϙϦγʔΛར༻͠ Α͏ • ετϨʔδΫϥε͸StandardͰOK
  55. None