Slide 1

Slide 1 text

AWSͷʮ伱ؒʯΛຒΊΔ 伱ؒՈ۩ OSS ։ൃ ౻ݪढ़Ұ࿠ @fujiwara

Slide 2

Slide 2 text

@fujiwara SREνʔϜ github.com/fujiwara sfujiwara.hatenablog.com

Slide 3

Slide 3 text

Game & Community

Slide 4

Slide 4 text

Agenda AWSͷʮ伱ؒʯͱ͸ ʮ伱ؒՈ۩ OSSʯͷ࣮ྫͱઃܭࢥ૝ Rin / s32cs / ssmwrap ͳͥ OSS ͳͷ͔

Slide 5

Slide 5 text

AWSͷʮ伱ؒʯͱ͸

Slide 6

Slide 6 text

AWSͷʮ伱ؒʯͱ͸ ϚωʔδυαʔϏε͸࠷ॳ͸ίΞػೳͰϦϦʔε͞Ε (ཁ๬ΛऔΓೖΕͳ͕Β) ঃʑʹػೳ͕૿͍͑ͯ͘

Slide 7

Slide 7 text

ྫ: RDS for MySQL ͷྺ࢙ 2009-10 ϩʔϯν 2010-05 Multi-AZػೳ 2015-12 ೚ҙλΠϜκʔϯઃఆ 2018-01 CloudWatch Logsʹϩάग़ྗػೳ αʔϏεͷࠜװʹؔΘΔίΞػೳ (ྫ:Multi-AZ) ͸ ͘͝ॳظʹ࣮૷͞ΕΔ͕… ޻෉ͰԿͱ͔ͳΔػೳ (ྫ:λΠϜκʔϯ) ଞαʔϏεͱͷ࿈ܞศརػೳ (ྫ:Logsग़ྗ) ͸ޙճ͠ʹ͞Ε͕ͪ ← 伱ؒ

Slide 8

Slide 8 text

޻෉ͰԿͱ͔ͳΔػೳ͸ޙճ͠ʹͳΓ͕ͪ ྫ͑͹λΠϜκʔϯΛ JST ʹઃఆ͍ͨ͠৔߹ ύϥϝʔλάϧʔϓͷ init_connect ͰҎԼͷ SQL Λࢦఆ1 SET SESSION time_zone = CASE WHEN POSITION('rds' IN CURRENT_USER()) = 1 THEN 'UTC' ELSE 'Asia/Tokyo' END; rds ͔Β࢝·ΔϢʔβʔ(RDS಺෦Ͱར༻͢Δ΋ͷ)Ͱ͸ UTC ͦΕҎ֎ͷϢʔβʔʹ͸ Asia/Tokyo (JST) ʹઃఆ͢Δ Bad Know-how... 1 https://qiita.com/j3tm0t0/items/089ef96ba131df079ca4

Slide 9

Slide 9 text

ଞͷαʔϏεͱͷ࿈ܞศརػೳ΋… RDS ͷϩάΛ֎෦ʹྲྀ͔ͨͬͨ͠ github.com/kenjiskywalker/fluent-plugin-rds-slowlog github.com/shinsaka/fluent-plugin-rds-log github.com/acidlemon/rds-throwlog ΈΜͳؤு͍ͬͯͨ CloudWatch Logs ࿈ܞϦϦʔεͰઃఆϙνͰ׬ྃ͢ΔΑ͏ʹ

Slide 10

Slide 10 text

伱͕ؒଟ͍ϚωʔδυαʔϏεΛ࢖͏͔Ͳ͏͔ ϚωʔδυαʔϏε͸উखʹڧ͘ͳΔ ࣗલӡ༻͸উखʹ͸ڧ͘ͳΒͳ͍ ύονద༻ɺόʔδϣϯΞοϓͳͲͷਓతίετΛे෼ʹ෷͑ͳ͍ͳΒ ଟগෆศͰ΋(க໋తͰͳ͍ͳΒ)ϚωʔδυαʔϏεΛબ୒͠ ޙ೔ͷػೳ֦ுΛظ଴ͭͭ͠ӡ༻ͷखؒΛݮΒͨ͠΄͏͕Α͍

Slide 11

Slide 11 text

伱ؒՈ۩Λࣗ࡞͢Δ খ͘͞ɺͦͷϢʔεέʔε಺Ͱద੾ͳ൚༻౓Λ࣋ͬͨ΋ͷΛ࡞Δ ຊՈ͕伱ؒΛຒΊͨΒࣺͯΒΕΔཻ౓Ͱ࡞Δ

Slide 12

Slide 12 text

ʮ伱ؒՈ۩ OSSʯͷ࣮ྫͱઃܭࢥ૝

Slide 13

Slide 13 text

伱ؒͷ࣮ྫ - S3 ͱ Redshift ͷؒ Redshift ʹσʔλΛऔΓ͜Ήʹ͸ S3 ͔Βͷίϐʔ͕ඞਢ Redshift ʹ઀ଓ͠ɺऔΓࠐΉΦϒδΣΫτΛࢦఆͯ͠ COPY ΫΤϦΛൃߦ 2012-11 ʹ Redshift ͕ϩʔϯνͯ͠3೥ S3͔ΒܧଓతʹऔΓ͜ΉϚωʔδυͳํ๏͸ଘࡏ͠ͳ͔ͬͨ

Slide 14

Slide 14 text

伱ؒՈ۩ OSS ͷ࣮ྫ - Rin github.com/fujiwara/Rin S3 Πϕϯτ௨஌Ͱ SQS ʹૹ৴ SQS ͷϝοηʔδΛݩʹ Redshiftʹ COPY Λൃߦ ͯ͠औΓࠐΈΛߦ͏ Go ੡πʔϧ 2015.05 ʹ։ൃ

Slide 15

Slide 15 text

ݩʑผͷํ๏Λ࢖༻͍ͯͨ͠ fluent-plugin-redshift Fluentd ͷ output plugin ϝοηʔδͷoutputॲཧͱͯ͠ S3 ΁Ξοϓϩʔυ Redshift ΁ͷCOPYൃߦ Λಉظతʹ࣮ߦ Fluentd ʹϩάΛૹΔ͚ͩͰ Redshift ·ͰऔΓ͜ ·ΕΔͷͰศརͱࢥͬͯಋೖ

Slide 16

Slide 16 text

ӡ༻͍ͯͯ͠ͷ໰୊ S3΁ͷΞοϓϩʔυͱRedshift΁ͷऔΓࠐΈ͕ෆՄ෼ Redshift ͸ఆظతʹϝϯςφϯεͰఀࢭ ΫϥελϦαΠζͰ΋ఀࢭ ఀࢭ࣌͸ COPY ͕ࣦഊ͢Δ S3 ΁ͷΞοϓϩʔυͱ COPY ͕ҰମͷͨΊ ϦτϥΠ͸Ξοϓϩʔυ͔Β΍Γͳ͓͠ → S3 ʹΰϛ͕ཷ·Δ

Slide 17

Slide 17 text

Rin ͷઃܭํ਑ S3 ΁ͷΞοϓϩʔυ͸ଞʹ೚ͤΔ (fluentd) S3, SQS ͷՄ༻ੑ͸େมߴ͍ Redshift ͷμ΢ϯλΠϜ͸ൺֱతେ͖͍ ϛεϚον෦෼ΛҰ౓ʹॲཧ͠ͳ͍͜ͱͰ ϦτϥΠΛ༰қʹ Redshift ΁ͷ COPY ൃߦʹಛԽ͢Δπʔϧ

Slide 18

Slide 18 text

Rin ͷઃఆϑΝΠϧ queue_name: my_queue_name # SQS queue name targets: - s3: region: ap-northeast-1 bucket: my.test.bucket key_prefix: test/foo/ redshift: host: redshift.example.com port: 5439 dbname: test user: test password: xxxxxxxx schema: public table: foo sql_option: "JSON 'auto' GZIP"

Slide 19

Slide 19 text

ॊೈͳऔΓࠐΈઃఆ targets: - s3: bucket: my.test.bucket key_regexp: test/schema-([a-z0-9]+)/table-([a-z0-9]+)/ redshift: schema: $1 # ^ͷਖ਼نදݱͰcaptureͨ͠஋Λల։ table: $2 େ఍ͷΞϓϦέʔγϣϯͰ͸औΓࠐΈςʔϒϧ͸ෳ਺ʹͳΔ ॊೈʹऔΓ͜ΊΔΑ͏ʹಈతઃఆΛՄೳʹ

Slide 20

Slide 20 text

։ൃͯ͠5ϲ݄ޙ 伱͕ؒຒ·ͬͨ 2015.10 Kinesis Firehose ൃද

Slide 21

Slide 21 text

Before / After Fluentd ΁ϩάΛૹ৴ 㱺 Redshift ʹॱ࣍औΓ͜·ΕΔ ߏ଄͸ͦͷ··Ϛωʔδυʹ ! ౦ژϦʔδϣϯʹདྷͨͷ͸ 2017.07 (2೥ޙ)

Slide 22

Slide 22 text

Rin ͷण໋͸௵͑ͨͷ͔? ࣮͸·ͩੜ͖͍ͯ·͢ Fluentd͔ΒͷऔΓࠐΈ͸Firehoseܦ༝ͰΑ͘ͳ͕ͬͨ ผͷϢʔεέʔεͰ࢖͑Δ ELB / ALB ͷϩά͕ S3 ʹ഑ஔ͞ΕΔ΋ͷΛஞ࣍औΓࠐΈ͢Δͷʹ׆༂த ϢʔεέʔεΛߜͬͨద౓ͳ൚༻ੑ͕૗ޭ͍ͯ͠Δ

Slide 23

Slide 23 text

Rin ͷڭ܇ Ͳ͏ߟ͑ͯ΋Ϛωʔδυʹͳͬͯ΄͍͠΋ͷ͸ͦͷ͏ͪͳΔ (धཁ͕͋Ε͹…) ෳ਺ͷαʔϏεؒ࿈ܞΛҰ౓ʹॲཧ͢ΔͱϦτϥΠ͕ෳࡶʹͳΔ ୯ػೳʹಛԽͭͭ͠ɺͦͷυϝΠϯͰͷ൚༻ੑΛ࣋ͨͤΔͱ࢖͍ճͤΔ Ϛωʔδυʹͳͬͨͱ͖ʹ͖Ε͍ʹऔΓ֎ͤΔઃܭ͕େࣄ

Slide 24

Slide 24 text

伱ؒՈ۩ OSS ͷྫ - s32cs Amazon CloudSearch 2012-04 ϦϦʔε 2019-10 ݱࡏ ϚωʔδυͰσʔλΛܧଓతʹऔΓ͜Ήํ๏͸ͳ͍ (console/ aws-cli / API / HTTP POST ͷΈ)

Slide 25

Slide 25 text

github.com/fujiwara/s32cs (S3 to CloudSearch) S3 ͷΠϕϯττϦΨͰىಈ͢Δ Lambda ؔ਺ͱ࣮ͯ͠૷ S3 ʹ഑ஔ͞Εͨ ndjson (Newline Delimited JSON) ΛՃ޻ HTTP POST Ͱ CloudSearch ʹ౤ೖ͢Δ

Slide 26

Slide 26 text

CloudSearch ΁ͷ౤ೖॲཧ CloudSearch ΁͸ 5MB ҎԼͷ JSON ഑ྻΛ౤ೖ ࡉ͔͍୯ҐͰ౤ೖ͢ΔͱύϑΥʔϚϯε͕ྼԽ͢Δ s32cs = ഑ྻܗࣜ΁ͷՃ޻ɺ෼ׂͱ HTTP POST Λ΍ͬͯ͘ΕΔ͚ͩͷπʔϧ {"id": "123", "type": "add", "fields": {"title": "hoge", "message": "Θ͍Θ͍"]}} {"id": "345", "type": "delete"} ↓ [ {"id": "123", "type": "add", "fields": {"title": "hoge", "message": "Θ͍Θ͍"]}}, {"id": "345", "type": "delete"} ]

Slide 27

Slide 27 text

Firehose → S3 ͷΠϕϯττϦΨ͔Βͳʹ͔͢Δύλʔϯ n෼͝ͱʹσʔλॲཧ͢ΔόονΛΠϕϯτυϦϒϯʹม׵͍ͯ͠Δ s32cs Ҏલ cronͰաڈ5෼ͷσʔλΛDB͔ΒऔಘɺՃ޻ɺHTTP POST Ͱ౤ೖ͢Δόον σʔλऔಘɺՃ޻ɺ౤ೖ͕ҰମͰෆՄ෼ s32cs Ҏޙ ੜ੒͸ΞϓϦέʔγϣϯͰͷϩάૹ৴ 5෼͝ͱʹσʔλΛ·ͱΊΔͷ͸ Firehose ·ͱ·ͬͨσʔλΛՃ޻ͯ͠౤ೖ͢Δ͚͕ͩ࢓ࣄ

Slide 28

Slide 28 text

ຊ౰ʹ΍Γ͍ͨ͜ͱ = ॱ࣍ൃੜ͢ΔσʔλΛద੾ͳ୯ҐͰॲཧ͍ͨ͠ ͜ΕΛn෼͝ͱͷcronͰ࣮૷ͯ͠͠·͏ͱ… 1ճॲཧ͕ൈ͚Δͱ࣍ճ࣮ߦͰ͸2ճ෼Λॲཧ͢Δඞཁ͕ → ࠷ޙͷॲཧ஍఺Λه࿥͓ͯ͘͠ඞཁ͕͋Δ → γϦΞϧॲཧʹͳΔ → Մ༻ੑ΍ύϑΥʔϚϯεͷͨΊͷ෼ࢄॲཧ͕ͮ͠Β͍ → ΋͠n೔෼Λॲཧ͠Α͏ͱ͢Δͱ…? εέʔϧ͠ͳ͍ + ࣦഊ͢Δͱۓு͕૸Δ

Slide 29

Slide 29 text

Firehose ͰͷετϦʔϜ → S3ΠϕϯττϦΨॲཧ n෼͝ͱͷcronΛ୅ସ ετϦʔϜΛn෼͝ͱͷchunkͰS3ʹు͖ग़͢ॲཧ = Firehose S3 ʹ͸ ࢦఆ࣌ؒ (60ʙ900ඵ) ΋͘͠͸ࢦఆαΠζ (1ʙ128MB)ͷ ઌʹୡͨ͠৚݅ͰΦϒδΣΫτ͕ੜ੒͞ΕΔ ෼ࢄॲཧ͕ՄೳʹͳΔ όονॲཧଆʹঢ়ଶΛ࣋ͭඞཁ͕ͳ͍ ҆৺ͯ͠ΦϯϝϞϦॲཧ͕Ͱ͖Δʂ

Slide 30

Slide 30 text

ϚωʔδυαʔϏεʹ΋͍Ζ͍Ζ͋Δ Ϋϥ΢υωΠςΟϒ = ΠϯελϯεΛҙࣝ͠ͳͯ͘Α͍(Ͱ͖ͳ͍) SQS, S3, CloudWatch, Labmda, DynamoDB... Ϋϥ΢υωΠςΟϒʹ͍ۙ = Πϯελϯε͸ᐓؾʹݟ͑Δ͕εέʔϧ͕ࣗಈ ELB, CloudSearch... Ϋϥ΢υωΠςΟϒʹͳΓ͖Εͳ͍=Πϯελϯε͕ݟ͑εέʔϧ͕ࣗಈͰͳ͍ RDS, ElastiCache... Ϋϥ΢υωΠςΟϒͳ΋ͷΛ׆༻͍ͯ͘͠ͱεέʔϧ͠΍͍͢ Ϋϥ΢υωΠςΟϒͳࢥߟ๏͸େࣄ

Slide 31

Slide 31 text

s32cs ͷڭ܇ n෼͝ͱͷcronॲཧɺຊ౰ʹ΍Γ͍ͨ͜ͱ͸࣌ؒґଘͰ͸ͳ͍͔΋ʁ ద੾ͳ୯ҐͰ੍໿͞ΕͨσʔλͷΠϕϯτυϦϒϯॲཧ͸࣮૷ָ͕ ؾ݉Ͷͳ͘ΦϯϝϞϦॲཧ͕Ͱ͖Δ ঢ়ଶ͸ϚωʔδυαʔϏεʹɺঢ়ଶΛ࣋ͨͳ͍ॲཧ͚ͩॻ͘ͱεέʔϧ͕༰қ

Slide 32

Slide 32 text

伱ؒՈ۩ OSS ͷྫ - ssmwrap github.com/handlename/ssmwrap SSM Parameter Store ͷ஋Λ؀ڥม਺ʹઃఆͯ͠ίϚϯυΛ exec ͢Δ wrapper ੈͷதʹྨࣅ඼͸͍ͬͺ͍͋Δ͕͋͑ͯ… github.com/remind101/ssm-env github.com/okzk/env-injector github.com/jamietsao/aws-ssm-env

Slide 33

Slide 33 text

ssmwrap $ ssmwrap -path /prod/ -- mycommand ྫ͑͹ SSM ύϥϝʔλετΞʹ /prod/DB_PASSWORD, /prod/API_TOKEN ͕ೖ͍ͬͯΔ৔߹ ؀ڥม਺ DB_PASSWORD, API_TOKEN ʹ஋Λઃఆͯ͠ mycommand Λ࣮ߦ 2018.07 ECS task ʹ SSM ͷ஋Λ౉ͨ͢Ίʹ։ൃ

Slide 34

Slide 34 text

ssmwrap ͷ͍͍ͱ͜Ζ exec ͢Δ(ࢠϓϩηεͱͯ͠ىಈ͠ͳ͍) wrapper ͳͷͰ ίϯςφͷ entrypoint ʹ௚઀ࢦఆͰ͖Δ # ssmwrap -path /prod/ -- command ͱಉ౳ͷىಈॲཧ ENTRYPOINT ["/usr/bin/ssmwrap"] ENV SSMWRAP_PATHS=/prod/ CMD ["--", "mycommand"] ϦτϥΠ͕ࢦఆͰ͖Δ (ྫ -retries=3 or SSMWRAP_RETRIES=3) ύϥϝʔλετΞ͕ΤϥʔΛฦͨ͠৔߹ɺϦτϥΠͰ͖ͳ͍ͱ

Slide 35

Slide 35 text

͔͋Β͞·ͳ伱ؒ͸͙͢ຒ·Δ 2018-11 ECS task ʹ SSM ύϥϝʔλετΞͷ஋Λ؀ڥม਺ͱͯ͠ઃఆͰ͖Δ secrets ػೳϦϦʔε !

Slide 36

Slide 36 text

ssmwrap ͷར༻Ձ஋͸ͳ͘ͳͬͨͷ͔? ECS Ҏ֎Ͱ΋࢖͑Δ EC2 Ͱಈ࡞͢Δ shell script ͷ shebang ʹࢦఆͨ͠Γ #!/usr/bin/ssmwrap -path /prod/ -- /bin/sh echo $DB_PASS ... AWS֎ (ྫ͑͹ CircleCI) Ͱͷ࣮ߦʹ΋ಉ༷ʹ࢓ࠐΊΔ γεςϜ͢΂͕ͯ ECS Ͱͳ͍ঢ়ଶͰ͸·ͩ·ͩར༻Ձ஋͸͋Δ

Slide 37

Slide 37 text

ࢦఆͨ͠஋ΛϑΝΠϧͱͯ͠ॻ͖ग़͔ͯ͠Β exec ssmwrap -paths="/prod/" \ -file "Name=/prod/ID_RSA_KEY,Path=/root/.ssh/id_rsa,Mode=400" \ -file "Name=/prod/ID_RSA_PUB,Path=/root/.ssh/id_rsa.pub,Mode=644" \ -- mycommand 伴ͳͲɺ؀ڥม਺Ͱ͸ͳ͘ϑΝΠϧ഑ஔ͕લఏͷΞϓϦέʔγϣϯ΋ଟ͍

Slide 38

Slide 38 text

GoͷϥΠϒϥϦͱͯ͠΋࢖͑Δ ͜Ε͕໌ه͞Ε͍ͯΔྨࣅπʔϧ͸গͳ͍(͸ͣ) godoc.org/github.com/handlename/ssmwrap#Export ϥΠϒϥϦͱͯ͠࢖͑Δ → Lambda Ͱ࢖͑Δ import "github.com/handlename/ssmwrap" err := ssmwrap.Export(ssmwrap.ExportOptions{ Paths: []string{"/prod/"}, Retries: 3, }) // ී௨ʹ؀ڥม਺Λࢀর͢Δ͚ͩ dbpass := os.Getenv("DB_PASS")

Slide 39

Slide 39 text

Lambda Ͱ΋ύϥϝʔλετΞͷ஋Λ؀ڥม਺ʹ͍ͨ͠(Ͱ͢ΑͶ) ϚωʔδυͰઃఆ͢Δํ๏͸(·ͩ)ͳ͍͕Ͱ͖ͯવΔ΂͖ ϚωʔδυͰͰ͖ΔΑ͏ʹͳͬͨ৔߹ͷίʔυमਖ਼͕ۃগ ssmwrap.Export() Λআڈ͢Δ͚ͩ Lambda ͰύϥϝʔλετΞΛࢀর͢ΔίʔυΛॻ͘ΑΓݟ௨͕͠Α͍

Slide 40

Slide 40 text

ssmwrap ͷࢥ૝ Ϛωʔδυʹͳͬͨͱ͖ʹऔΓ֎͠΍͍͢Α͏ͳઃܭ ؀ڥม਺/ϑΝΠϧʹSSMύϥϝʔλετΞͷ஋Λઃఆ͢Δ͜ͱʹूத͢Δ ECSɿsecrets ͰαϙʔτࡁΈ Lambda: ͦͷ͏ͪͰ͖Δ(͖ͬͱ) ϑΝΠϧʹॻ͖ग़͔ͯͯ͠͠Βίϯςφىಈ → k8sͰ͸Ͱ͖Δɺͭ·ΓECS΋… কདྷϚωʔδυʹͳΓͦ͏ͳ෦෼ΛΞϓϦέʔγϣϯͷ΂ͨॻ͖Ͱղܾ͠ͳ͍ খ͍͞πʔϧ/ϥΠϒϥϦʹ੾Γग़͓ͯ͘͠ औΓ֎͕͠༰қʹͳΔ

Slide 41

Slide 41 text

ͦͷ͏ͪऔΓ֎͢΋ͷΛͳͥΘ͟Θ͟࡞Δͷ͔ ΞϓϦέʔγϣϯͰ௚઀ॻ͘ͱີ݁߹͢Δ औΓ֎͍ͨ࣌͠ʹີ݁߹͍ͯ͠Δͱվमͮ͠Β͍ ϥΠϒϥϦͰ͸ͳ͍ίʔυ͸ԟʑʹͯ͠ผϓϩδΣΫτʹίϐϖ͞ΕΔ ͍͟मਖ਼ΛೖΕΑ͏ͱͯ͠΋ίϐϖͳͷͰ… վमͮ͠Β͍ΞϓϦέʔγϣϯ → ͦͷ͏ͪ୭΋৮Γͨ͘ͳ͘ͳΔ վम͠΍͍͢ΞϓϦέʔγϣϯ → ௿ίετͰۙ୅ԽΛਐΊ΍͍͢

Slide 42

Slide 42 text

OSS ͱͯ͠࡞Δ

Slide 43

Slide 43 text

OSS ͱͯ͠࡞Δ ࣗ෼Β͔͠࢖Θͳͯ͘΋ OSS ʹͯ͠͠·͏ ઃܭࢦ਑ͱͯ͠ ͜ΕΛ OSS ʹ͢ΔͳΒͲ͏͢Δ͔ Λߟ͑Δͷ͸༗༻ (ࣄ৘Ͱ OSS ʹͰ͖ͳͯ͘΋)

Slide 44

Slide 44 text

OSS ͱͯ͠࡞Δཧ༝(1) υΩϡϝϯτΛॻ͘ؾʹͳΔ README ͙Β͍͸ؤுͬͯॻ͘ϞνϕʔγϣϯʹͳΔ ۭͩͱஏ͔͍ͣ͠ͷͰ……

Slide 45

Slide 45 text

OSS ͱͯ͠࡞Δཧ༝(2) ա౓ͳࣾ಺ࣄ৘ͷࠞೖΛ๷͙ ʮࣾ಺/ͦͷϓϩδΣΫτҎ֎ʹҙຯ͕͋Δػೳͳͷ͔?ʯ ੹೚෼ք఺ΛݟۃΊΔ͜ͱͰকདྷ֎͠΍͘͢ͳΔ ઃܭ͕͖Ε͍ʹͳΔ

Slide 46

Slide 46 text

OSS ͱͯ͠࡞Δཧ༝(3) ຐվ଄൛͕૿৩͢ΔͷΛ๷͙ ʮGitHubͰόΠφϦఏڙͯ͠ΔͷͰͦΕΛ࢖͍ͬͯͩ͘͞ʯ ʮRubyGems / CPAN / npm / etc. ͔ΒΠϯετʔϧ͍ͯͩ͘͠͞ʯ ಠཱͨ͠ύοέʔδʹͳͬͯͳ͍ͱίϐϖ͞ΕΔ ίϐϖޙʹվ଄͞ΕΔͱ৽ػೳ΍όάϑΟοΫεʹ௥ैͰ͖ͳ͍

Slide 47

Slide 47 text

OSS ͱͯ͠࡞Δཧ༝(4) ಉ͡Α͏ͳ伱ؒՈ۩ΛΈΜͳ͕ຖճखॻ͖͢Δͷ͸ແବʂʂ ͱ͸͍͑ϢʔεέʔεʹΑͬͯ͸࠶࣮૷͢Δ͜ͱ΋ (ssmwrap)

Slide 48

Slide 48 text

·ͱΊ AWSͷϚωʔδυαʔϏεʹ͸ʮ伱ؒʯ͕͋Δ 伱ؒՈ۩Λ࡞ͬͯΑΓΑ͍ӡ༻Λ ඞཁʹԠͯ͡औΓ֎ͤΔΑ͏ʹઃܭ͢Δ OSS ͱͯ͠࡞Δ͜ͱΛߟ͑Δ͜ͱͰɺΑΓΑ͍ઃܭͱ࣮૷ʹ ཁ๬͸ͪΌΜͱ఻͑·͠ΐ͏ʂ

Slide 49

Slide 49 text

Thank You!