Slide 1

Slide 1 text

TPSBDPNVH 2023.11.20 SORACOM UG Online #17 〜SORACOM UG Explorer re:Cap〜 和⽥健⼀郎@Keni_W 403"$0.6(&YQMPSFS ϋϯζΦϯͷཪଆαʔϏεΛ঺հ

Slide 2

Slide 2 text

ࠓ೔࿩͢͜ͱ • ⾃⼰紹介 • SORACOM UG Explorer 2023ハンズオン概要 • 利⽤サービス • AWS Lambda • Amazon Location Service • AWS Amplify • Amazon Cognito • AWS CDK • お知らせ 403"$0. 6( 0OMJOF

Slide 3

Slide 3 text

⾃⼰紹介 ⽒名:和⽥ 健⼀郎 所属:某Cler エンジニア SORACOM UG 東京 運営メンバー JAWS-UG 千葉 運営メンバー X: @Keni_W Facebook : kenichiro.wada.3 好きなSORACOMサービス : SORACOM Funk Button Quartetto、GPSマルチユニット SORACOM MVC 2022 AWS Community Builder(Serverless)

Slide 4

Slide 4 text

஫ҙࣄ߲ このセッションでは、 SORACOMサービスの話はほぼありません。 どちらかというとAWSサービスの解説です。 403"$0. 6( 0OMJOF

Slide 5

Slide 5 text

TPSBDPNVH 403"$0. 6( 0OMJOF SORACOM UG Explorer 2023ハンズオン概要 • デバイス(IoT Button for Enterprise、GPSマルチユニッ ト)からの位置情報データを SORACOM Harvestや SORACOM Lagoonを使って可 視化。 • SORACOM BeamからAWS Lambda Function URLsのエン ドポイントを呼び出して、AWS LambdaからAmazon Location Serviceに位置情報データを投⼊ • AWS Amplifyで可視化

Slide 6

Slide 6 text

"84-BNCEBͱ͸ 403"$0. 6( 0OMJOF • AWS Lambdaは現状、FaaS(Function as a Service) の代表格とも⾔える AWSのコンピューティングサービス です。 • マネージメントコンソールやAPIを利⽤して、コードの アップロードするだけで、実⾏することができます。 • つまり、開発者はサーバーの構築、管理は⼀切不要で、 コードの実装のみに集中することができます。 • また、リクエストに応じて、⾃動的にスケーリングを ⾏ってくれます。 • リクエスト毎の課⾦となるため、関数が実⾏されない時 には、⼀切料⾦が発⽣しません。そのため、Amazon EC2を利⽤した場合に⽐べて⼤幅に料⾦が下がるケース もあります。 (弊書基礎から学ぶサーバーレス開発 SECTION-004より)

Slide 7

Slide 7 text

"84-BNCEBͱ͸ 403"$0. 6( 0OMJOF サーバーのことを考えずに コードを実⾏する

Slide 8

Slide 8 text

"84-BNCEBͱ͸ 403"$0. 6( 0OMJOF 料⾦は、こんな感じなのです(東京リージョン)が、 趣味(ハンズオンとかちょっとした開発)で 利⽤している限りは、無料利⽤枠があるので、 課⾦されることはあまりないです。 (オプション使うことで課⾦はありうる。)

Slide 9

Slide 9 text

"84-BNCEBͱ͸ 403"$0. 6( 0OMJOF 今回のハンズオンでは、2022年に登場したAWS Lambda Function URLsのエンドポイントを使っています。 詳細は以下のURLを参照してください。 https://aws.amazon.com/jp/blogs/aws/announcing-aws-lambda-function-urls-built-in-https- endpoints-for-single-function-microservices/

Slide 10

Slide 10 text

"84-BNCEBͱ͸ 403"$0. 6( 0OMJOF AWS Lambda Function URLsでは認証⽅法として、IAM認証が選 べます。 また、SORACOM Beamでは、IAM認証を使って、 AWS Lambda Function URLsを呼び出すことができます。 ・・・ですが、今回は時間の都合上採⽤していません。 設定⽅法はSORACOMさん公式のガイドを参照してください。 https://users.soracom.io/ja-jp/docs/beam/aws-lambda/

Slide 11

Slide 11 text

"NB[PO-PDBUJPO4FSWJDFͱ͸ 403"$0. 6( 0OMJOF • デベロッパーが地図空間データと位置情報機能をアプ リーケーションに追加するために使⽤できる位置情報 ベースのサービスです。(公式より) • Map機能はもちろんのこと、ジオコーディング、ルー ティング、追跡、ジオフェンシング(今回は使っていな い)などの機能があります。 • 個⼈的にはGPSマルチユニットとの親和性はめっちゃ⾼ いサービスなので、推してるサービスの1つ。

Slide 12

Slide 12 text

"NB[PO-PDBUJPO4FSWJDFͱ͸ 403"$0. 6( 0OMJOF • 昨年、AWS re:Inventで⾃分が参加したワークショップ 「 Location data 101: Getting started with Amazon Location Service 」がハンズオンのヒントになっていま す。 • https://zenn.dev/keni_w/articles/d5b649dba9b279 • 実の所は、ハンズオンでは、ワークショップで使ったコ ンテンツをそのまま流⽤(ちょっとカスタマイズ)して 使っています。 • https://github.com/aws-samples/amazon-location- samples/tree/main/amplify-ui-geo-explore

Slide 13

Slide 13 text

"NB[PO-PDBUJPO4FSWJDFͱ͸ 403"$0. 6( 0OMJOF • AWS re:Inventといえば、会場間を結ぶシャトルバ スの運⾏状況を案内するアプリケーションにも使わ れています。 • 今年もきっと使われるはず。 • こちらについてはAWS Hero 松下さんが書いたBlog を⾒ていただければと・・・。 • https://blog.soracom.com/ja-jp/2022/12/14/report-of-aws- reinvent-2022-1/

Slide 14

Slide 14 text

"84"NQMJGZͱ͸ 403"$0. 6( 0OMJOF • AWS Amplifyは、フロントエンドのウェブ/モバイルデ ベロッパーがAWSでフルスタックアプリケーションを簡 単に構築、出荷、ホストできるにようにする完全なソ リューションです。(公式より) • コンソールからも利⽤できますが、専⽤のCLI(amplify CLI)を使うことで、コマンドラインで、Webアプリケー ションが構築できてしまいます。 • フロントエンドエンジニアが1⼈で構築できてしまうサー ビスなので、なかなか強い。 • 後述するAmazon Cognitoと組み合わせて、認証機能も 作れてしまう優れもの。 • 今回のハンズオンでも、Amazon Location Serviceとの 組み合わせでWebアプリケーションを作っています。

Slide 15

Slide 15 text

"84"NQMJGZͱ͸ 403"$0. 6( 0OMJOF • 今回のハンズオンでは、前述したコンテンツを使っていま すが、画⾯側で以下のような修正を加えています。 • 画⾯ロード時の表⽰位置をシアトル中⼼部から SORACOM⾚坂オフィスに変更 • アイコンをSORACOMアイコンに変更(SVGを取り込み で配置) • 緯度経度出ていたので、表⽰しないように変更

Slide 16

Slide 16 text

"NB[PO$PHOJUPͱ͸ 403"$0. 6( 0OMJOF • Amazon Cognitoはウェブおよびモバイルアプリの認証、 承認、およびユーザー管理機能を提供します。(公式よ り) • IDプールとユーザープールという機能がありますが、今 回はIDプールを利⽤。 • AWS Amplifyで構築されたアプリからAmazon Location Serviceのデータを参照するためにIDプールに Amazon Location Serviceの各リソースへの参照権限を つけたRoleを紐付けている。 • AWS CDKで作ろうとしたけど、挫折してコンソールで 作ったサービス。

Slide 17

Slide 17 text

"84$%,ͱ͸ 403"$0. 6( 0OMJOF • AWS Cloud Development Kit(CDK)は、使い慣れたプ ログラミング⾔語でクラウドアプリケーションのリソー スをモデル化し、プロビジョニングするために使⽤され るオープンソースのソフトウェア開発フレームワークで す。(公式より) • 使⽤できる⾔語としては、TypeScript、Python、.NET、 Java、Goが使えます。 • 現在はv2。v1に⽐べてかなり使いやすくなった印象。 • バージョンアップがめちゃくちゃ頻繁で、気づくと余裕 で10個ぐらいバージョンが上がってます。 • 公式のワークショップがめちゃくちゃわかりやすいので、 ぜひ。 • https://cdkworkshop.com/ja/

Slide 18

Slide 18 text

͓஌Βͤ 403"$0. 6( 0OMJOF 近々(にしたい)ですが・・・

Slide 19

Slide 19 text

͓஌Βͤ 403"$0. 6( 0OMJOF 乞うご期待?!

Slide 20

Slide 20 text

ご静聴 ありがとう ございました 403"$0. 6( 0OMJOF