More Related Content Similar to AWSオンリーで実現するIoTクラウド基盤
Similar to AWSオンリーで実現するIoTクラウド基盤 (20) AWSオンリーで実現するIoTクラウド基盤2. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
中村悟⼤大 /@GALACTIC1969
サーバーワークス 新卒⼊入社 3年年⽬目
今期からIoT担当 (それまでは普通のエンジニア)
好きなAWSサービス: AWS IoT
好きな⿂魚: 養殖ブリ
⾃自⼰己紹介
2
3. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
中村悟⼤大 /@GALACTIC1969
サーバーワークス 新卒⼊入社 3年年⽬目
今期からIoT担当 (それまでは普通のエンジニア)
好きなAWSサービス: AWS IoT
好きな⿂魚: 養殖ブリ
⾃自⼰己紹介
3
4. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
これまでやってきたこと
4
5. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
これまでやってきたこと
5
調⼦子にのってセンサーを社内にばら撒いてたら電池交換作業が苦痛になってきた話
http://blog.serverworks.co.jp/tech/2016/04/20/solar-‐‑‒powered-‐‑‒sensor/
社内にセンサーをばら撒いてみたり
6. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
これまでやってきたこと
6
SlackのログをRedshiftに貯めて眺めてみたり
7. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
これまでやってきたこと
7
Slackで
⼯工数管理理してみたり
Slackでらくらく⼯工数管理理
http://blog.serverworks.co.jp/tech/2015/12/16/slack-‐‑‒de-‐‑‒manhour/
8. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
こんな軸で活動しています
IoT
BI
全体最適
⾃自⼰己紹介
8
9. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWS IoTとは
IoTにおけるAWSサービス選定
社内事例例の紹介
まとめ
9
アジェンダ
10. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWS IoTとは
IoTにおけるAWSサービス選定
社内事例例の紹介
まとめ
10
アジェンダ
11. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
re:Invent 2015で発表
IoTプラットフォーム
認証・認可
データ送受信
(MQTTS, HTTPS)
デバイスの管理理
AWSサービスとの連携
AWSにおけるIoT
11
AWS IoT
12. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWS IoTの全体図
12
13. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
認証・インターフェース
13
デバイスとAWSの間でデータを送受信できる
-‐‑‒ 認証はX.509証明書、IAM、Cognito
-‐‑‒ プロトコルはHTTPS, MQTTS
-‐‑‒ デバイス向けのSDKも提供されている
-‐‑‒ IAM PolicyのようなPolicyも詳細に設定可能
14. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
デバイスレジストリ
14
デバイスの管理理ができる
-‐‑‒ マネコンに仮想的なデバイス「Thing」を作れる
-‐‑‒ 最⼤大50組のKey/ValueをThingに紐紐付けられる
-‐‑‒ ThingにJSONを保持させられる(Shadow)
15. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
デバイスシャドウ
15
Device Shadowで⾮非同期なコミュニケーション
-‐‑‒ 通知、Diff機能が付いたJSON置き場
-‐‑‒ APIでもMQTTでもアクセス可能
-‐‑‒ このJSONを通して⾮非同期にコミュニケーションを⾏行行える
-‐‑‒ デバイスの状態とアプリからのリクエストをそれぞれJSONで保
持して、差分があればそれを検知できる
16. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
ルールエンジン
16
ルールエンジンを使って⾊色々できる
-‐‑‒ データのフィルタリング
-‐‑‒ データの加⼯工
-‐‑‒ 他のAWSサービスとの連携
-‐‑‒ SNSのTopicにPublishしたり
-‐‑‒ Lambda Functionを起動したり
-‐‑‒ Kinesisにデータを流流したり…
17. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWS IoTと連携できるAWSサービス達
17
18. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
連携できるサービスはかなり広い
SNS, Kinesis, Lambdaを経由することで
連携の幅がさらに広がる
AWS IoTと連携できるAWSサービス達
18
19. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
例例えば…
IoTのデータをRedshiftに溜溜める
異異常検知(ML)したらSNSでメール送る
Kinesis Streamに投げてLambdaで
データを加⼯工する
AWS IoTと連携できるAWSサービス達
19
20. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWS IoTとは
IoTにおけるAWSサービス選定
社内事例例の紹介
まとめ
20
アジェンダ
21. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
IoTにおけるデータの流流れ
21
22. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
1.集める
2.加⼯工する
3.溜溜める
4.提供する
IoTにおけるデータの流流れ
22
23. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
例例えばこんな構成だと…
23
24. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
こんな感じ
24
25. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
こんな感じ
25
それぞれのPhaseにおいて、⽤用途にあったモノを選ぶ必要がある
26. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
こんな感じ
26
それぞれのPhaseにおいて、⽤用途にあったモノを選ぶ必要がある
でも、AWSのサービスはこれら以外にも沢⼭山ある…
27. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWSにおけるサービス選定
27
どうやって集める? どうやって加⼯工する?
どこに溜溜める? 提供って何?
28. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
1.集める
2.加⼯工する
3.溜溜める
4.提供する
今⽇日はこんな⼈人のために
28
それぞれのPhaseにおいて、
何をもってサービスを選択するかを紹介します
29. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める
29
30. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める ≒ AWSに送る
どうやって送る?
どのサービスに送る?
集める
30
31. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
考慮すべきこと
頻度度と量量
⼀一⽅方向 or 双⽅方向
他のサービスとの連携
デバイスの仕様(プロトコルの制限等)
集める
31
32. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
頻度度と量量は?
⼤大きなデータをたまに送る
⼩小さなデータを沢⼭山送る
そこそこのデータを死ぬほど送る
集める
32
基本的にどのサービスでもそこそこカバーできる
課⾦金金額や実装の⼿手間を考えて選ぶべし
33. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
頻度度と量量は? (補⾜足)
100デバイスが1分毎に512Byte送った場合
4,320,000リクエスト/⽉月
$34.56
$18.36
$14.04 (1shard)
$0.72
集める
33
34. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
双⽅方向の通信が必要?
Pub/Subでリアルタイムの双⽅方向通信が
できるのはAWS IoTの強み
Kinesisは完全な⼀一⽅方向
集める
34
35. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
他のサービスと連携する⼿手間
マネコンポチポチで連携できる
作り込みが必要
集める
35
36. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
デバイスの仕様(プロトコルの制限等)は?
MQTTS/HTTPS/SDK (SubscribeはMQTTSのみ)
HTTPS/SDK
HTTPS
集める
36
37. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
デバイスの仕様(プロトコルの制限等)は?
MQTTS/HTTPS/SDK (SubscribeはMQTTSのみ)
HTTPS/SDK
HTTPS
集める
37
Kinesis使いたいけどIoTデバイスには
HTTPSリクエストがつらい…という時には…!
38. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
SORACOMという選択 (Beam & Funnel)
プロトコルを変換してくれる
HTTP/MQTT/TCP/UDP -‐‑‒> HTTPS/MQTTS
TCPで送ってKinesisに送ったりもできる
集める
38
なんでもできる!超便便利利!
ただしAWSとSORACOMの課⾦金金がそれぞれ発⽣生する
39. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める ≒ AWSに送る
双⽅方向が必要ならAWS IoT
⼀一⽅方向でいいならKinesis
⾮非⼒力力なデバイスならAWS IoT or
SORACOM
集める (まとめ)
39
40. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
加⼯工する
40
41. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
加⼯工する
どこで加⼯工する?
どんな加⼯工する?
フィルタリング?
単位の変換?
タイムスタンプの付与?
ちょっとした計算?
加⼯工する
41
42. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
考慮すべきこと
加⼯工はどれくらい複雑か?
加⼯工にパラメーターが必要?
リアルタイム性は必要?
加⼯工する
42
43. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
例例えばこんな構成だと…
43
44. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
このあたりに加⼯工するポイントがある
44
45. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
このあたりに加⼯工するポイントがある
45
46. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
このあたりに加⼯工するポイントがある
46
クラウドに負荷がかからない
計算式の変更更等のメンテが⼤大変
デバイスで出来ることならなんでもできる
デバイス
47. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
このあたりに加⼯工するポイントがある
47
AWS IoTのQueryで⾊色々できる
Timestamp付与したり、ThingのShadowを参照したり、
四則演算したり
割りと出来ることは多い※
AWS IoTのQuery
※AWS IoTのFunctionsを参照
http://docs.aws.amazon.com/iot/latest/developerguide/iot-‐‑‒sql-‐‑‒functions.html
48. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
このあたりに加⼯工するポイントがある
48
AWS IoTからKinesis Streamに流流してLambdaで処理理
Lambdaで出来ることはなんでもできる
この辺りからリアルタイム性が落落ちてくる
Lambdaの処理理スピードが遅いとデータをロスト事がある
Kinesis Streams + Lambda
49. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
このあたりに加⼯工するポイントがある
49
Firehoseが出⼒力力したS3のファイルをLambdaでまとめて加⼯工
データロストもなく、Lambdaの起動回数も控えめ
Firehose-‐‑‒>Lambda-‐‑‒>Firehose-‐‑‒>DBの様な構成の場合、
データの鮮度度がさらに落落ちる
Kinesis Firehose + Lambda
50. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
このあたりに加⼯工するポイントがある
50
ストアドプロシージャ等でInsert時に加⼯工する
or DBに⼊入った後にcron等でまとめて加⼯工する
DBにデータが届くまでのスピードは速いがDBに負荷がかかる
あとから加⼯工する
51. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
加⼯工する
加⼯工⽅方法が⼀一定ならデバイスでやるのが良良い
AWSリソースを使⽤用しないし、DBに届くまでの
スピードも速い
次点の加⼯工のオススメポイントはAWS IoT
それ以降降は何かが犠牲になる
加⼯工する (まとめ)
51
52. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
溜溜める
52
53. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
溜溜める
どのサービスに溜溜める?
よくあるDB選定の話
データの特性、利利⽤用⽤用途によって
使い分ける
溜溜める
53
54. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
考慮すべきこと
アクセスする頻度度(⼊入出⼒力力)
データ構造が⼀一定かどうか
どんなクエリを投げるか
溜溜める
54
55. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
溜溜める
55
AWSによって提供されている
ストレージ・データベース達
56. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
⼊入出⼒力力の頻度度
⾼高い
お⾦金金を積めばいくらでも早くなる
低い
⾼高頻度度な⼊入⼒力力は苦⼿手
(ただしFirehoseでカバーできる)
溜溜める
56
57. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
データ構造
決まっている
RDB, DWH
決まっていない
NoSQL, 全⽂文検索索
溜溜める
57
58. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
どんなクエリを投げるか
分析・集計
RDB, DWH
検索索
NoSQL
溜溜める
58
59. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
どんなクエリを投げるか
分析・集計
RDB, DWH
検索索
NoSQL
溜溜める
59
NoSQLだけど検索索に使える
キーは決まっている
60. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
S3という選択
とりあえずS3に⼊入れておいて、必要に
なったらDBからロードする⽅方法
S3と連携できるサービスは意外と多い
EMR, Redshift, QuickSight, ML
溜溜める
60
61. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
S3という選択
とりあえずS3に⼊入れておいて、必要に
なったらDBからロードする⽅方法
S3と連携できるサービスは意外と多い
EMR, Redshift, QuickSight, ML
Aurora(RDS)
溜溜める
61
New!
62. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
溜溜める
以下を考慮して最適な場所を選びましょう
アクセスする頻度度
データ構造が⼀一定かどうか
どんなクエリを投げるか
溜溜める (まとめ)
62
63. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
提供する
63
64. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
提供する
貯めたデータを提供する
可視化した状態で
APIとして
MLの学習モデルとして
提供する
64
65. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
可視化して提供する
リアルタイムダッシュボード
BIツール
提供する
65
66. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
API化して提供する
元々APIの機能を持っている
API Gateway + LambdaでAPI化する
提供する
66
67. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
MLの学習モデルとして提供する
Redshift, S3のデータを元に学習モデル
を⽣生成可能
提供する
67
68. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
提供する
提供⽅方法はデータ保管場所によって
⼤大体決まる
Viewerを作り込むのも良良いけど
有りものを使ったほうが断然楽
提供する (まとめ)
68
69. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
IoTにおけるデータの流流れ(まとめ)
69
70. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
IoTにおけるデータの流流れ(まとめ)
70
⽤用途にあったサービスを使いましょう!
71. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWS IoTとは
IoTにおけるAWSサービス選定
社内事例例の紹介
まとめ
71
アジェンダ
72. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
社内事例例のご紹介
72
〜~実際にどんな感じで作ってるの?〜~
73. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
まずはこれ
73
74. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
まずはこれ
74
トイレ予約システム
75. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
背景1: 少なすぎる
75
0
10
20
30
40
社員数(男性) トイレの個室の数
76. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
背景2: 遠すぎる
76
🚽
😩
77. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
77
78. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
78
79. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
79
80. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
80
81. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
こんな感じ
81
82. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
82
83. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
83
集める
-‐‑‒ トイレから30秒ごとにAWS IoTにデータを送る
-‐‑‒ プロトコルはMQTTS
84. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
84
溜溜める
-‐‑‒ トイレの開閉状態はRedshiftへ
-‐‑‒ 現在のトイレの状態はDevice Shadowへ
-‐‑‒ DynamoDBにはトイレに並んでいる⼈人の列列が⼊入ってる
85. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
85
提供する
-‐‑‒ API Gateway + Lambdaのサーバーレス構成
-‐‑‒ LambdaからShadowやDynamoDBにアクセスしてトイ
レの情報を取得したり、予約したりする
-‐‑‒ PowerBIで傾向を分析
86. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
86
87. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
トイレ予約システム
データの加⼯工は必要なかった
⽤用途によってデータを3箇所に貯めている
Redshift, Shadow, DynamoDB
事例例: トイレ予約システム
87
88. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: トイレ予約システム
88
ブログでより詳しい説明を
⾏行行っています
89. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
次は…
89
90. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
次は…
90
プレゼンフィードバックシステム
91. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
事例例: プレゼンフィードバックシステム
91
92. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
集める 加⼯工する 溜溜める 提供する
事例例: プレゼンフィードバックシステム
92
93. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: プレゼンフィードバックシステム
93
94. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: プレゼンフィードバックシステム
94
集める
-‐‑‒ 「ボタンが押された」という事をAWS IoTに送る
95. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: プレゼンフィードバックシステム
95
加⼯工する
-‐‑‒ AWS IoTで以下の情報を付与する
-‐‑‒ タイムスタンプ
-‐‑‒ 今誰が喋っているか
96. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: プレゼンフィードバックシステム
96
溜溜める
-‐‑‒ 全てのデータはKinesis Firehoseを通してElasticsearchへ
-‐‑‒ 現在のデータはKinesis Streamsを通してDevice Shadowへ
97. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: プレゼンフィードバックシステム
97
提供する
-‐‑‒ 統計的なデータはKibanaから
-‐‑‒ 現在のデータはDeivce Shadowから
-‐‑‒ リアルタイムなデータは貯めずに直接AWS IoTから受け取る
98. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例: プレゼンフィードバックシステム
98
99. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
プレゼンフィードバックシステム
新鮮なデータは貯めずにそのまま提供
データはAWS IoTで加⼯工
Shadowのスループット制限を越えない
ためにKinesis Streamsを利利⽤用
事例例: プレゼンフィードバックシステム
99
100. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
事例例
100
以上、社内事例例でした
その他の事例例はサーバーワークス中村のブログをどうぞ!
http://blog.serverworks.co.jp/tech/author/nakamura/
101. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWS IoTとは
IoTにおけるAWSサービス選定
社内事例例の紹介
まとめ
101
アジェンダ
102. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
まとめ
102
103. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWS IoTとは
IoTにおけるAWSサービス選定
社内事例例の紹介
まとめ
103
今⽇日話したこと
104. Copyright
©
Serverworks
Co.,Ltd.
All
Rights
Reserved.
AWSで、IoT基盤は作れる!
IoTのデータの流流れは⼤大体以下の4つ
集める、加⼯工する、溜溜める、提供する
適材適所が⼤大事
AWSサービスの特性を理理解して正しく
使いましょう
まとめ
104