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

アフリカに広がるサービスをすばやくApp Runnerで本番構築

Degas
May 17, 2023

アフリカに広がるサービスをすばやくApp Runnerで本番構築

DegasではApp Runnerを利用して数週間と短期間で本番運用環境を構築しました。アフリカからの特殊なアクセスを捌くグローバルサービスをどのように構築したのかについてApp Runnerの所感と共に発表します

Degas

May 17, 2023
Tweet

Transcript

  1. 2023©Degas Ltd. May 2023 / App Runner Night !! During

    harvesting, by Degas farmers アフリカに広がるサービスを すばやくApp Runnerで本番構築
  2. Strictly confidential 2021 © Degas Ltd. Strictly confidential 2021 ©

    Degas Ltd. アフリカの6億人の零細農家の生産性を向上させ、 所得の大幅な改善を目指す 地球温暖化の影響を最も大きく受けるアフリカで、 カーボンクレジットの創出を通じて ネットゼロ社会の実現に貢献
  3. +100 About Degas 最先端のテクノロジーをアフリカ農家に Data collection:Degas App Visualization platform:Degas Metrics

    +6 Data Analysis:Degas Credit Score Field scoring Recovery Satellite Observation AI credit-scoring model
  4. Degas App の概略と App Runner 導入箇所 • Webの管理画面とAPIサーバを App Runner

    で構築 • 農業データは アプリで収集 • Webは Next.js で 構築 AWS Cloud API Server SageMaker Android Web Manager Agent S3 RDS Amazon CloudWatch CloudFront Web Admin Services Etc…
  5. Next.js の利用スタイル • 今回は Next.js をBFF的なバックエンドと Web UIなフロントエンドという構成で利用している • バックエンドでしか使わない環境変数と

    フロントエンドでしか使わない環境変数がある • App Runner でつかう Docker イメージは GitHub Actions 経由で Amazon ECR に保存している
  6. 環境変数の読み込みの分離 • Next.js は、バックエンドとフロントエンドで 環境変数を読み込む方法がかわる • バックエンドは App Runner にて

    Secret Manager 経由で 環境変数を設定 • フロントエンドは GitHub Actions でビルド時に secrets より NEXT_PUBLIC_XXX を設定
  7. Next.js ですぐにApp Runner 使いたい方へ • Next.js は with-docker というサンプルで Dockerfile

    の ひな型を取得できる • $ npx create-next-app --example with-docker nextjs-docker • ある程度 Dockerfile が整ったらコンテナベースに移行できる
  8. まとめ (2) • ビルドタイムの環境変数の Secret Manager サポートも Roadmap にはある •

    https://github.com/aws/ apprunner-roadmap/issues/48 • 一緒に働けるエンジニアを募集してます!
  9. Strictly confidential 2021 © Degas Ltd. Strictly confidential 2021 ©

    Degas Ltd. ご清聴ありがとうございました! App Runner で素早くサービスを立ち上げて、 海の向こうへもサービスを届けよう!