2023年9月1日、トヨタ自動車とAmazon Web Services (以下、AWS)が合同イベント「Toyota × AWS Cloud Day」を開催しました。クラウド活用における技術的なトレンドや知見、自動車業界での先進的な事例を紹介する場となり、参加者は学びを深めました。今回は、イベント内で行われた「IoTデバイスベンチマーク用スマート自販機の開発」セッションの様子をご紹介します。
クラウドやITの経験がない状態から、新モビリティの試作・開発を担当
「IoTデバイスベンチマーク用スマート自販機の開発」というタイトルで行われた本セクションでは、トヨタのモノづくり開発センターモノづくりエンジニアリング部に所属する水本と山本が発表を行いました。
水本:私たちモノづくりエンジニアリング部では、車両が背負う部品を生産する設備や金型の開発、製造業務のほか、新モビリティの試作や開発の業務を行っています。その中でも私と山本は、新モビリティの試作や開発の業務を担当しています。
私たちは共にトヨタ入社後から機械加工を担当しており、最近メカ設計を担当するようになりました。クラウドやITに関しては未経験の状態で、今回の取り組みに携わっています。業務と組み合わせたAWS活用の参考、そしてクラウド利用の参考にしていただければと思います。
ソフトウェア開発スキルを持つ人財を段階的に育成し、新モビリティの開発へ
モノづくり開発センターモノづくりエンジニアリング部では、自動車だけでなく様々なモビリティの試作・開発に取り組んでいます。例えば、人とコミュニケーションを取ったり、生活のサポートをしてくれたりするなどの機能を持った人の生活に寄り添うミニマムサイズのロボティクスモビリティの開発です。そのような新しいモビリティを企画・開発するうえで、社外ユーザーに寄り添ったPoC(Proof of Concept:概念実証)。新たなアイデアやコンセプトの実現可能性、それによって得られる効果などについて検証する必要があります。
そのためには、ユーザーにとって分かりやすいUser Interfaceと、社外クラウドを活用したソフトウェア開発スキルが必須です。そこで、同部ではソフトウェア開発スキルの人材育成を段階的に行ってきました。
水本:人材育成の取り組みは、大きく3ステップに分けられます。ステップ1ではIoTバイスに触れること。ステップ2ではIoTデバイスを活用した新モビリティ業務を担当し、知見を蓄積します。
そしてステップ3では、より高度で組織的なソフトウェア開発人材育成に取り組みます。今回はステップ3として、社外クラウドを活用したソフトウェア開発を行いました。
取り組みの背景にあったのは、IoTデバイスをベンチマーク(※1)する際の非効率性です。新モビリティの施策・開発には企画内容によって様々な種類のIoTデイバスを使います。どのIoTデバイスが適切かを検証するためにベンチマークを行いますが、ベンチマーク商品の購入には「商品選定→予算枠申請→購入申請および上司決済→納品待ち→納品」という社内プロセスがあり、リードタイムが長いという課題がありました。また、昨今の半導体不足によりIoTデバイスの調達が難しい状況もありました。
※1 ベンチマークとは、従来製品との比較調査や性能調査を行うこと。トヨタ内では、他社や他部署のさまざまなものを調査する際にも使用される
水本:近年の新モビリティは、M5Stack(※2)やRaspberry Pi(※3)といったIoTデバイスを組み込んだものが増加しているため、IoTデバイスのベンチマークが必須です。ベンチマーク商品の購入フローのうち、予算枠の申請から納品待ちの部分で約1〜1.5カ月のリードタイムが発生してしまいます。
現状のやり方のままでは開発リードタイムが伸びてしまい、遅れや手戻りが発生することもあります。PoCはユーザーの声をいかに早く開発にフィードバックできるかがポイントになるため、この遅れや手戻りが致命的だと感じていました。そこで、「いつでも・誰でも・すぐに・簡単に」IoTデバイスをベンチマークできるシステムを開発することにしました。
社外クラウドのAWSを活用し、ソフトウェア開発を行うことで、人材育成とシステム開発を同時に行ったのです。
※2 IoT機器を開発する際に頻繁に使われる機能が搭載された小型のマイコンモジュールのこと
※3 ワンボードマイコンと呼ばれるカードサイズの小型コンピューターのこと
人材育成を兼ねているため、開発の中心となったのは業務でクラウドやITに触れることがほぼなかった水本と山本でした。だからこそシステム開発は苦労の連続でしたが、自発的な学習と周囲の協力によって取り組みを進めたのです。
山本:オンライン動画学習プラットフォームの活用に加え、協力メーカー様にご指導いただいて学習を進めました。私たちはPythonなども触ったことがない状態でしたが、まずPythonを勉強して協力メーカー様からシステム構築について教えてもらい、システムの開発に取り組んだ形です。
スマート自販機により、商品購入フローにおけるリードタイムの大幅な短縮を実現
人材育成とシステム開発を兼ねた本取り組みでは、ベンチマーク用スマート自販機を制作しました。自販機を立ち上げてQRコードをかざし、しばらく待つと扉が開いて商品を取り出せます。商品に付いたタグを回収BOXに入れ、画面のOKボタンを押せば商品の出庫は完了です。
水本:専用のWebアプリとAWS、スマート自販機の連携により、ベンチマーク商品の購入フローの短縮が可能です。ユーザーはWebアプリでベンチマークしたい商品を選択して申請し、上司の承認が取れたらQRコードが発行されます。
QRコードを自販機にかざすと、選択した商品が出庫されます。申請から出庫までのリードタイムは最短10分となり、「いつでも・誰でも・すぐに・簡単に」ベンチマーク商品を入手可能です。
ハードは、制御の頭脳にRaspberry Piを使用。AWSとの通信を行いながら、必要な機能を提供できるようにしています。
水本:扉開閉には、Raspberry Pi拡張基盤と電磁ロックを使用。出庫・補充・メンテナンスを行う際にWebカメラを使い、QRコードの読み取りを行ってユーザーと管理者を識別したり、購入申請の情報を取得したりしています。
商品の在庫管理には、RFIDを使用。申請情報や商品情報はAWSにあるため、随時Raspberry PiとAWS間でやりとりをしています。
今まであまり活用したことのないものを使ってみる取り組みだったため、ハードウェア周辺の中でもとくにRFIDのアンテナを入れるのに苦労しました。
水本:私たちは今まで機械加工しかやったことがなかったので、シリアル通信がよくわからず苦労しました。RFIDは金属を反射してタグの情報を取りにいくので、密閉できていないと情報が取れなかったり、外部のRFIDの情報を取ってしまったりします。
どのような作りにすればいいか、再三検討しながら進めることになり、かなり苦労しましたね。
クラウド利用のメリットや、サーバーレスを選択した理由
スマート自販機の利用ユーザー情報や在庫情報などの管理は、AWSで行っています。スマート自販機制作については、オンプレミスではなくクラウドを活用するメリットが明確でした。
山本:私たちは試作開発を行うにあたり、短納期・低コスト・安全・高品質なモノづくりで社外ユーザーに寄り添ったPoCをめざしています。そのような観点からクラウドとオンプレミスを比較すると、今回のケースでは、クラウドのほうが低コストで導入し、運用できる、また導入までのリードタイムが短いというメリットがあると考えました。
さらに、システムとスマホを連携する需要は増えているため、それを実現できるクラウドのメリットは大きいです。クラウドのメリットを活かすことで、より高度なモノづくりの実現につながります。そのため、クラウドを活用できる人材の育成に取り組んできました。
AWSを利用する上で、仮想サーバーのAWS EC2とサーバーレスのAWS Lambdaのどちらを利用するかも考えなければならないポイントでした。今回は、サーバーレスを採用しています。
山本:スマート自販機のシステムの性質上、常時稼働させる必要はありません。また、開発リードタイムが短いというメリットを活かしたいと考え、今回はサーバーレスで開発を行うことにしました。
クラウドの懸念点であるセキュリティを強化するため、対策を実施
さまざまなメリットがあるクラウドにも、懸念点があります。クラウドはインターネットに公開されているため、外部からの攻撃を受けやすいのが特徴。そのためセキュリティに関しては、より強力な対策が必要です。
山本:初期は独自のAWSアカウントで開発していたため、ITクラウド未経験の私たちはセキュリティ対策に苦労しました。弊社で定められているクラウドセキュリティガイドラインには、まったく準拠できていない状況だったのです。
そのようなときにTOROプラットフォーム(※4)の存在を知り、移行を決めました。TOROプラットフォームの環境を利用することで、アカウントや基本的なセキュリティに関して安全に開発を進められるようになったのです。開発者ユーザーが管理する項目も減り、負担が大幅に軽減されました」
※4 TOyota Reliable Observatory/Orchestrationの略。トヨタの全社基準に適合した開発生産性の高いクラウドプラットフォームのこと
セキュリティ対策の中でも、今回はネットワークに関わるセキュリティの事例を紹介。Webアプリのアクセス制限は、重要な対策のひとつです。
山本:Webアプリへのアクセスに対しては、2つのセキュリティ対策を実施しています。ひとつめはIP制限と、過剰アクセスに対するブロックです。社内ユーザー以外からのアクセスをブロックし、万が一突破され過剰なアクセスなどの攻撃を受けた場合もブロックする対策を取っています。
ふたつめは、2段階認証です。社内ユーザーの中からさらにアプリの利用ユーザーに絞りアクセスできるようにしています。その他、機密データの暗号化やバックアップなども実施しています。
Webアプリに対して行っているセキュリティ対策としてもうひとつ挙げられるのが、HTTPS通信です。
山本:WebアプリにアクセスするためのURLやさまざまな情報が含まれているため、暗号化することにより盗聴などの対策をしました。今回はAWSサービスのAmazon Route 53(※5)とAWS Certificate Manager(※6)を活用し、HTTPS通信を行っています。ほかにもさまざまなセキュリティ対策により、セキュアなシステム構築をしています」
※5 可用性が高くスケーラブルなドメインネームシステム (DNS) Webサービスのこと
※6 AWSのサービスの1つでSSL証明書発行サービスのこと
多々ある課題を解決するため、少しずつアップデートを進めたい
クラウドやITについて初心者だったメンバーが中心となり、開発を進めたスマート自販機。もちろん完成して終わりではなく、より使いやすくするために解決すべき課題は残っています。
水本:AWS Lambda(※7)関数のバージョン管理やCI/CD Pipeline(※8)を使用したアップデート、在庫が少なくなった商品の自動発注機能の追加など、課題は多々あります。とくに、CI/CDを使ったアップデートは大きな課題です。
※7 サーバーを管理せずにコードを実行できるコンピューティングサービスのこと
※8 CI/CD…ビルド(実行準備)、テスト(試行)、デプロイ(展開)を自動化すること
※8 CI/CDPipeline…CI/CD実践のために必要なステップを自動化したもの
今はAWS Lambdaでコードを書き込んでいますが、毎回バージョンアップするたびにAWS Lambdaも直接書き換えているため、バージョン管理ができていません。現状のままでは何かバグが起きたときに困るので、まずはバージョン管理をしながらやっていければと考えています。TOROプラットフォームには、DevSecOpsを実現するためのCICD Pipelineも整備されていると聞いたので、活用してみたいです。
最終的には、開発環境からのデプロイをめざしたいですね。ユーザーが使いにくいと感じる部分もあると思うので、少しずつアップデートを進めていきます」
クラウドやITの重要性がますます高まる昨今、トヨタでは未経験からソフトウェア開発ができる人材育成に取り組んでいます。本セクションのレポートが、クラウド活用に興味を持っている方の学びになれば幸いです。
※ 記載内容は2023年9月時点のものです
