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

FusicTechLive1.5 AWSを活かした基幹システムインフラ構成の紹介

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

FusicTechLive1.5 AWSを活かした基幹システムインフラ構成の紹介

Avatar for Junkins

Junkins

July 08, 2021
Tweet

More Decks by Junkins

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ ҏ౻ ५थ Ito Junki ID - GithubɿJunkin s -

    Twitterɿ@Junkins_110 Work at גࣜձࣾ Fusic ʢϑϡʔδοΫʣ ઌਐٕज़෦໳ IoTνʔϜ IoTΫϥ΢υΤϯδχΞ Skill PHPʗLaravelʗCakePHPʗRubyʗRoRʗAWSʗAzure ܦྺ - PHPͷΞϓϦέʔγϣϯΤϯδχΞ - AWS SA(ιϦϡʔγϣϯΞʔΩςΫτ ) - ࠷ۙ͸ɺIoTγεςϜ։ൃ - ޷͖ͳAWSͷαʔϏε͸VPCΤϯυϙΠϯτ 2
  2. ൃදͷ໨త 5 1. جװγεςϜͷઃܭͷ؍఺ɾΞΠσΟΞͷڞ༗ ࠓ·Ͱͷܦݧ ɹɾVDI ؀ڥ ɹɾωοτόϯΩϯά࿈ܞͷجװۀ຿γεςϜ ɹɾΤϯλʔϓϥΠζͷαʔϏε։ൃࢧԉ 2.

    AWSͷαʔϏεΛ׆༻ͨ͠جװγεςϜͷιϦϡʔγϣϯઃܭ ɹɾΫϥ΢υΛར༻͢Δͱগͳ͍࿑ྗͰ඼࣭ͷߴ͍Πϯϑϥ؀ڥͷߏங͕Մೳ ɹɾۙ೥ɺΤϯλʔϓϥΠζ(جװγεςϜ)޲͚αʔϏεɺػೳ͕ॆ࣮ 3. ιϦϡʔγϣϯઃܭɺαʔϏεબ୒͕είʔϓ ɹɾߏஙϑΣʔζͷ࿩ʹ͸৮Ε·ͤΜɻ
  3. Ҋ݅֓ཁ 10 8೥લ 2೥લ কདྷత 1 2 3 4 ᶃɿෳ਺ͷۀ຿γεςϜ(ΫϥΠΞϯτΞϓϦ)

    ᶄɿ࠷΋େ͖͍γεςϜΛWebԽ + AWSͰӡ༻ ᶅɿ࣍ͷγεςϜΛWebԽ + γεςϜؒ࿈ܞ(ҏ౻͕୲౰ͨ͠ϑΣʔζ) ᶆɿશͯͷۀ຿γεςϜΛWebԽ + ૬ޓ࿈ܞ(কདྷͷల๬)
  4. 4-1.σʔλϕʔεαʔό 16 PostgreSQL on EC2 RDS PostgreSQL Instance ΦϖϨʔγϣϯΤΫηϨϯτ όοΫΞοϓɾϦετΞ

    อकൣғ ˚(IaaS) ̋(PaaS) ˚(AMI) ̋(εφοϓγϣοτ) ৴པੑ Մ༻ੑ ̋(MultiAZ) × ෛՙ෼ࢄ ̋(ϦʔυϨϓϦΧ) × ίετ࠷దԽ ̋ ˚ ύϑΥʔϚϯεޮ཰ ֦ுੑ ˚ ̋
  5. 4-1.σʔλϕʔεαʔό 17 PostgreSQL on EC2 RDS PostgreSQL Instance όοΫΞοϓɾϦετΞ อकൣғ

    ˚(IaaS) ̋(PaaS) ˚(AMI) ̋(εφοϓγϣοτ) ৴པੑ Մ༻ੑ ̋(MultiAZ) × ෛՙ෼ࢄ ̋(ϦʔυϨϓϦΧ) × ̋ ˚ ֦ுੑ ˚ ̋ Point!! ΦϖϨʔγϣϯΤΫηϨϯτ ύϑΥʔϚϯεޮ཰ ίετ࠷దԽ
  6. 4-1.σʔλϕʔεαʔό 18 PostgreSQL on EC2 RDS PostgreSQL Instance όοΫΞοϓɾϦετΞ อकൣғ

    ˚(IaaS) ̋(PaaS) ˚(AMI) ̋(εφοϓγϣοτ) ৴པੑ Մ༻ੑ ̋(MultiAZ) × ෛՙ෼ࢄ ̋(ϦʔυϨϓϦΧ) × ̋ ˚ ֦ுੑ ˚ ̋ ύϑΥʔϚϯεޮ཰ ΦϖϨʔγϣϯΤΫηϨϯτ ίετ࠷దԽ อकͷ༰қੑΛॏࢹͯ͠ɺRDSΛબ୒
  7. 4-1.σʔλϕʔεαʔό 19 PostgreSQL on EC2 RDS PostgreSQL Instance όοΫΞοϓɾϦετΞ อकൣғ

    ˚(IaaS) ̋(PaaS) ˚(AMI) ̋(εφοϓγϣοτ) ৴པੑ Մ༻ੑ ̋(MultiAZ) × ෛՙ෼ࢄ ̋(ϦʔυϨϓϦΧ) × ̋ ˚ ֦ுੑ ˚ ̋ ύϑΥʔϚϯεޮ཰ ΦϖϨʔγϣϯΤΫηϨϯτ ίετ࠷దԽ AWSͷϖʔεͰPostgreSQLͷόʔδϣϯΞοϓ͕ඞཁʂʂ
  8. 4-2. ΞϓϦέʔγϣϯαʔό 22 EC2 ECS EKS ֤छ؀ڥͷߏங ϝϯςφϯεੑ CI/CD ̋

    ̋ × ̋ ̋ ̋ ˚ Point!! ΦϖϨʔγϣϯΤΫηϨϯτ ˚ ˚ ˚ ˚ ̋ ίετ࠷దԽ
  9. 4-2. ΞϓϦέʔγϣϯαʔό 23 EC2 ECS EKS ֤छ؀ڥͷߏங ϝϯςφϯεੑ CI/CD ̋

    ̋ × ̋ ̋ ̋ ˚ ΦϖϨʔγϣϯΤΫηϨϯτ ίετ࠷దԽ ˚ ˚ ˚ ˚ ̋ ෳ਺γεςϜͷ؀ڥߏஙͷ༰қ͞
  10. 4-2. ΞϓϦέʔγϣϯαʔό 24 EC2 ECS EKS ֤छ؀ڥͷߏங ϝϯςφϯεੑ CI/CD ̋

    ̋ × ̋ ̋ ̋ ˚ ΦϖϨʔγϣϯΤΫηϨϯτ ίετ࠷దԽ ˚ ˚ ˚ ˚ ̋ AWS Fargate (ίετ͕ڐ͢ͳΒ)
  11. 4-3.ηΩϡϦςΟ 26 [ηΩϡϦςΟཁ݅] ɹސ٬ͷࣾ಺ωοτϫʔΫʹͭͳ͕͍ͬͯΔέʔε͕ଟ͍ [ҙ͍ࣝͯ͠ΔϙΠϯτ] ɾ௚઀IPΞυϨεΛ࿐ग़͠ͳ͍ ( NAT GatewayΛܦ༝ )

    ɾඞཁҎ্ʹΠϯλʔωοτʹ௨৴Λग़͞ͳ͍ ( VPCΤϯυϙΠϯτ ) ɹ→ API Gateway ɹ→ S3 ɾIPΞυϨεΛ࿐ग़ͤͣʹSSH௨৴ ( AWS System Manager ) ɹ→ Session Manager
  12. 4-3.ηΩϡϦςΟ 27 Cognito ೝূ ɾར༻ՄෆՄ ɾݖݶ ೝՄ ɾར༻ՄෆՄ ɾݖݶ ɾࣾһ؅ཧɾೝূ͸CognitoͰҰׅରԠ

    ɹ→ ݸผγεςϜͰೝূΛߦ͏ͱରԠͷ࿙ΕͷϦεΫ͕͋Δ ɹ→ ࠷ѱɺCognitoͰୀ৬ॲཧΛߦ͑͹ΞΫηε͞ΕΔ͜ͱ͸ͳ͍ ɹ→ ਓҝతͳΦϖϨʔγϣϯϛε΋ηΩϡϦςΟϦεΫ ɾγεςϜར༻ՄෆՄ/ݖݶ৘ใ͸γεςϜͰݸผ؅ཧ (ೝՄ)
  13. 4-4.ϩά( ετϨʔδ + ෼ੳج൫ ) 29 S3 DynamoDB RDS ίετ࠷దԽ

    ̋ ˚ × ̋ ̋ ˚ ύϑΥʔϚϯεޮ཰ × ৴པੑ ˕ ̋ ˕ ̋ ̋ Athena ΦϖϨʔγϣϯΤΫηϨϯτ ετϨʔδ + ෼ੳج൫ݕ౼
  14. 4-4.ϩά( ετϨʔδ + ෼ੳج൫ ) 30 S3 DynamoDB RDS ̋

    ˚ × ̋ ̋ ˚ × ৴པੑ ˕ ̋ ˕ ̋ ̋ Athena ΦϖϨʔγϣϯΤΫηϨϯτ ύϑΥʔϚϯεޮ཰ ετϨʔδ + ෼ੳج൫ݕ౼ ίετ࠷దԽ
  15. 4-4.ϩά( ετϨʔδ + ෼ੳج൫ ) 31 ετϨʔδ + ෼ੳج൫ݕ౼ DynamoDB

    RDS ̋ ˚ × ̋ ̋ ˚ × ৴པੑ ˕ ̋ ˕ ̋ ̋ S3 Athena ΦϖϨʔγϣϯΤΫηϨϯτ ύϑΥʔϚϯεޮ཰ ίετ࠷దԽ ΞΫηεස౓Λߟྀͯ͠ίετΛॏࢹ