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

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

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

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 ΦϖϨʔγϣϯΤΫηϨϯτ ύϑΥʔϚϯεޮ཰ ίετ࠷దԽ ΞΫηεස౓Λߟྀͯ͠ίετΛॏࢹ