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

AWS Amplify で触れる AWS CDK #jawsug_cdk #jawsug

AWS Amplify で触れる AWS CDK #jawsug_cdk #jawsug

JAWS-UG CDK支部 #1 〜初回拡大版〜
https://jawsug-cdk.connpass.com/event/246765/

上記イベントでの発表スライドです。

Amplify で使える CDK の紹介と使い分けの話です。

YouTube: https://youtu.be/WodQb4rNGmc?t=3948

13725f35541aa680ed5f85d16b85947a?s=128

Kihara, Takuya

June 01, 2022
Tweet

More Decks by Kihara, Takuya

Other Decks in Technology

Transcript

  1. AWS Amplify で 触れる AWS CDK JAWS-UG CDK支部 #1 2022/06/01

    木原卓也 / @tacck 1 JAWS-UG CDK支部 #1 / #jawsug_cdk
  2. 私 • 名前 • 木原 卓也 / @tacck • 所属

    • 生活協同組合コープさっぽろ デジタル推進本部 システム部 • 主催コミュニティ • ゆるWeb勉強会@札幌 • スマートスピーカーで遊ぼう会@札幌 (休眠中) • 参加コミュニティ • Amplify Japan User Group 運営 • AWS Community Builders Program (Q2 2021, 2022) • 好きなフィギュアスケートの技 • スプレッド・イーグル 2 JAWS-UG CDK支部 #1 / #jawsug_cdk • 好きなAWSサービス • AWS Amplify • Amazon Route 53
  3. JAWS-UG CDK支部 #1 / #jawsug_cdk 3 https://aws-amplify-jp.github.io/

  4. お品書き • この話のターゲット • AWS Amplify とは • Amplify +

    CDK • サンプル (Custom) • Amplify + CDK の考え方 • まとめ 4 JAWS-UG CDK支部 #1 / #jawsug_cdk
  5. この話のターゲット • AWS Amplify を使ったシステムの開発者 • アプリケーションの開発メイン • そうはいいつつ AWS

    のサービス群も自分で設定 • 上記のシステムに関わる必要がある AWS CDK を愛するインフラエンジニア 5 JAWS-UG CDK支部 #1 / #jawsug_cdk
  6. AWS Amplify 6 JAWS-UG CDK支部 #1 / #jawsug_cdk

  7. AWS Amplify って何? • Webフロントエンド/モバイルアプリ開発を中心に、 フルスタックのアプリ・システム構築を素早く簡単にできるようにする、 AWS のサービスとツールの総称。 • 特に、

    Cognito / AppSync / DynamoDB などの マネージドサービスの利用を簡単に行うことができ、 いわゆる「サーバレス」なフルスタックシステムを構築しやすい。 • また、Webサイトのホスティング機能も用意されており、 個別の S3 / CloudFront 設定無しにサイト公開を行うことが可能。 7 JAWS-UG CDK支部 #1 / #jawsug_cdk
  8. AWS Amplify の大まかな分類 8 AWSサービスとしての Amplify OSSツールとしての Amplify Amplify Console

    Amplify Hosting Amplify Studio Amplify CLI Amplify Library Amplify UI Components JAWS-UG CDK支部 #1 / #jawsug_cdk
  9. Amplify + CDK 9 JAWS-UG CDK支部 #1 / #jawsug_cdk

  10. Amplify + CDK • 2021年12月の re:Invent で Amplify Studio 発表

    • 直前に Amplify + CDK のリリースラッシュ • Override • Amplify CLI で作成するリソースの細かい指定に対応 • Custom • Amplify CLI の範囲外のリソースも作成・管理 • Export • Amplify のビルドを既存の CDK のビルドフローに組み込み 10 JAWS-UG CDK支部 #1 / #jawsug_cdk
  11. サンプル Amplify Custom 11 JAWS-UG CDK支部 #1 / #jawsug_cdk

  12. Amplify + CDK の考え方 12 JAWS-UG CDK支部 #1 / #jawsug_cdk

  13. Amplify と それ以外 の リソース準備をどうやるか Amplify のリソースは • Amplify CLI

    で準備 他のリソースを準備する選択肢 1. Console で設定 2. CloudFormation で設定 3. CDK で設定 4. Amplify + CDK で設定 13 JAWS-UG CDK支部 #1 / #jawsug_cdk
  14. Console で設定 • リソースのお試し。 • 現実的な落とし所で手作業が必要になるなら、やりましょう。 14 JAWS-UG CDK支部 #1

    / #jawsug_cdk 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ⽐率 インフラ アプリ
  15. CloudFormation で設定 • アプリケーション側の人が触る前提だと、ストレスたまる部分も。 15 JAWS-UG CDK支部 #1 / #jawsug_cdk

    0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ⽐率 インフラ アプリ
  16. CDK で設定 • アプリケーション側の人が触る前提だと、 エディタの補完・型のヒントなどが使え、かなり親切。 • 言語がマッチするなら、積極的に使いたい。 • インフラ・AWSサービスを知らないと、うまく書けない。 16

    JAWS-UG CDK支部 #1 / #jawsug_cdk 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ⽐率 インフラ アプリ
  17. Amplify + CDK で設定 • アプリケーション側の人が触ることが大前提の組み合わせ。 • エディタの補完・型のヒントなどが使えるが、 現状は TypeScript

    限定。 • CDK は v1 。 • アプリケーションとAWSサービスの繋がりを、 より強く意識できないといけない。 17 JAWS-UG CDK支部 #1 / #jawsug_cdk 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ⽐率 インフラ アプリ
  18. Amplify + CDK に課題は? • どうしても、(いわゆる)フルスタック寄りのスキルが必要。 • サービスが小さいうちは、 一つのプロジェクトだけで全部管理できるので便利。 •

    Amplify にこだわりすぎると、サービスの拡張で苦しむ。 • (Amplifyの特性上)サービスやライブラリが密結合。 • その外側を意図的に利用するので、インフラ部分も疎かにできない。 • 運用・メンテナンスの体制次第では、別管理にしておいた方が良い。 18 JAWS-UG CDK支部 #1 / #jawsug_cdk
  19. まとめ 19 JAWS-UG CDK支部 #1 / #jawsug_cdk

  20. まとめ • ある程度フルスタックな人が、個人〜小規模で すばやく開発するなら、 Amplify + CDK はフィットする。 • プロジェクトの人数が増える、

    元のアプリケーション開発者以外がメンテナンスする、 場合などは CDK を使うにしても別管理の方がやりやすそう。 • Amplify の CDK も早く v2 になって欲しい。 20 JAWS-UG CDK支部 #1 / #jawsug_cdk
  21. 終 21 JAWS-UG CDK支部 #1 / #jawsug_cdk