Save 37% off PRO during our Black Friday Sale! »

コンテナ運用におけるアプリケーション設定管理

 コンテナ運用におけるアプリケーション設定管理

5a2478d5008e1c64bca72c650178341e?s=128

atsushi-ishibashi

September 24, 2020
Tweet

Transcript

  1. ίϯςφӡ༻ʹ͓͚Δ ΞϓϦέʔγϣϯઃఆ؅ཧ 2020/09/24 StartupςοΫϦʔυษڧձ -AWSฤ- Finatext ੴڮɹ३ࢤ

  2. Copyright © FINATEXT. All rights Reserved. ⾦融を“サービス”として再発明する Finatextグループのご紹介

  3. Copyright © FINATEXT. All rights Reserved. 3 Finatextグループについて 従業員数 187名

    (グループ全体) 設⽴ 2013年12⽉ 資⾦調達額 90億円 (東京⼤学エッジキャピタル、ジャフコ、 KDDI、未来創成ファンド等)
  4. Copyright © FINATEXT. All rights Reserved. 4 主要4会社 “BtoBforCモデル”を軸に、 多くの⼈の・多様なニーズに対応する⾦融サービスを開発・提供

    株式会社 Finatext 株式会社 ナウキャスト 株式会社スマートプラス • 企画・コンサルティング • モバイルUI/UX開発 • マーケティング • コミュニティ設計・運営 • 保険クラウド「Inspire」 • 経済オルタナティブ データ解析 • 証券クラウド 「BaaS(Brokerage as a Service)」 2013年創業 2016年M&A 2018年開業 ⾦融サービス開発 オルタナデータ解析 証券プラットフォーム 次世代型デジタル保険 スマートプラス少額短期保険 株式会社 2020年開業 • 「⺟⼦保険はぐ」
  5. ࣗݾ঺հ • αʔόαΠυɺΠϯϑϥΛ୲౰ • εϚʔτϓϥεͷBaaSূ݊ϓϥοτϑΥʔϜΛ։ൃɺͦͷଞॾʑ • terraform-provider-awsʹ͸ͦͦ͜͜ߩݙ • ೔՝͸aws-sdk-goͷreleaseͷdiffΛݟΔ͜ͱ •

    झຯ͸α΢φ ੴڮ ३ࢤ @bashi0501
  6. ίϯςφӡ༻ʹ͓͚Δ ΞϓϦέʔγϣϯͷઃఆ؅ཧͱ͸ʁ

  7. ͣ͹Γίϯςφ΁ͷ؀ڥม਺ͷ ຒΊࠐΈํʹ͍ͭͯߟ͑Δ

  8. ίϯςφͷ؀ڥม਺ઃఆํ๏ • Ҿ਺ —env Λ࢖͏ • Ҿ਺ —env-file Λ࢖͏ •

    DockerfileͰENVΛར༻ • DockerfileͰRUN exportͰηοτ͢Δ • ΞϓϦέʔγϣϯίʔυͰϑΝΠϧ͔Βload͢Δ
  9. ίϯςφΛಈ͔͢৔ॴ • ϩʔΧϧ؀ڥ • docker-composeΛ࢖͏ • ϦϞʔτ؀ڥ • ECSΛ࢖͏

  10. FinatextͰͷલఏࣄ߲ • AWS CodePipelineͰCDύΠϓϥΠϯΛߏங • ίϯςφͷߋ৽͸ECSͷϩʔϦϯάΞοϓσʔτ

  11. ؾʹͳΔ͜ͱ 1. ϦϞʔτ؀ڥͰՔಇ͍ͯ͠ΔίϯςφϓϩηεʹͲΜͳઃఆ͕ͳ͞Ε͍ͯΔ͔ͷՄࢹ ੑʢՄࢹੑʣ 2. ϨϏϡʔϓϩηεΛڬΊΔ͔ɺόʔδϣϯ؅ཧՄೳ͔ʢ؅ཧՄೳੑʣ 3. ൿಗ৘ใΛద੾ʹѻ͑Δ͔ʢൿಗੑʣ 4. ؀ڥม਺ͷมߋΛΞϓϦมߋαΠΫϧʹدͤΕΔ͔ʢҟ࿦͋Γͦ͏͚ͩͲɺݸਓతʹ

    ͸ΠϯϑϥมߋαΠΫϧͰ͸ͳ͍ͱࢥ͏ʣʢΞϓϦಉҰੑʣ 5. Ұ࣌తͳมߋ͕༰қ͔ʢมߋ༰қੑʣ 6. ϩʔΧϧͱϦϞʔτͰಉ༷ͷ࿮૊ΈͰಈ͔ͤΔ͔ʢڞ௨ੑʣ
  12. OnDemand Updating TaskDef ྑ͍఺ 1. λεΫఆٛΛݟΕ͹Ұ໨ྎવ 3. ParameterStoreͰok 5. ༰қ

    ѱ͍఺ 2. ࠔ೉ɻΞϓϦϨϏϡʔޙʹࢦࠩ֬͠ೝʁ 4. ৔߹ʹΑͬͯ͸CDύΠϓϥΠϯͷઈົͳλΠϛϯ άͰ͢Δඞཁ͋Γ 6. docker-composeͷ.env͔Βဃ཭
  13. All in ParameterStore ྑ͍఺ 1. (tool͕͋Ε͹)ҰཡԽͰ͖ͦ͏ 3. ໰୊ͳ͠ 5. plaintextͷenv-varʹ͢Ε͹͍͚Δ

    ѱ͍఺ 2,4. ParameterStore΁ͷઃఆΛIaCͰ΍Ε͹؅ཧՄ ೳɻҰํͰΠϯϑϥαΠΫϧʹͳΔ 6. docker-composeͷ.envͱဃ཭
  14. Embedding in Container ྑ͍఺ 2. ίʔυϨϏϡʔՄೳ 3. ParameterStoreͰok 4. ΂ͬͨΓ

    6. ·͍͚͊ͦ͏ ѱ͍఺ 1. Ͳ͏ϩάΛు͍͍ͯΔ͔ͳͲΞϓϦͷ࣮૷࣍ୈɻ· ͨ͸gitΛࢀরʁ 5. ࡞ΓํʹΑΔɻΞϓϦloadͩͱݫͦ͠͏
  15. ECSͷenv-fileαϙʔτ https://aws.amazon.com/jp/about-aws/whats-new/2020/05/amazon-elastic-container- service-supports-environment-files-ec2-launch-type/

  16. env in S3 ྑ͍఺ 1. λεΫఆٛΛݟΕ͹Ұ໨ྎવʢͨͩ͠՝୊͋Γʣ 2. ϨϏϡʔͰ͖Δ 3. ParameterStoreͰok

    4. ΞϓϦͷมߋͱಉظͰ͖Δ 5. env-varͰ্ॻ͖Ͱ͖Δ 6. docker-composeͷ.envͱۙ઀ ѱ͍఺ ͳͦ͞͏ʁ
  17. ՝୊͕͍͔ͭ͘… • ݱঢ়͸ϚωδϝϯτίϯιʔϧͷλεΫఆٛ ͔ΒS3 Object΁ͷlinkషΒΕͯͳ͍ • ECS Deployment with CodePipeline͕

    env_fileΛະαϙʔτ
  18. উखʹظ଴͍ͯͨ͠ link͕ͳ͔ͬͨ… ૉૣ͍ରԠ͕ٻΊΒ ΕΔࡍʹͪΐͬͱ͝ ͨͭ͘ S3΁ͷlinkͳ͠

  19. env_fileͷະαϙʔτ • ͦ΋ͦ΋imageϓϩύςΟͷΈͰ؀ڥม਺ͷม ߋ΋ରԠͯ͠ͳ͔ͬͨ • CodePipelineͷECSσϓϩΠΞΫγϣϯͰ͞ ͬ͘ͱग़དྷͯͨ΋ͷΛCodeBuildͰΰϦΰϦॻ ͘͜ͱʹ…

  20. Build Stage Deploy Stage

  21. ࠓޙͷظ଴ • λεΫఆ͔ٛΒenv-fileʹlink͕షΒΕΔ • ECS Deployment with CodePipelineʹͯ env_fileͷαϙʔτ

  22. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ