Amazon Web Services ブログ
BlackBerry QNX on AWS ワークショップを公開しました!- AWS 上での QNX OS のデプロイと開発を 2 時間で体験
AWS のお客様が AWS クラウドでの組込みソフトウェア開発を手軽に始められるように BlackBerry QNX on AWS ワークショップをリリースしました。本ワークショップでは、QNX® OS を使用して AWS クラウドで組込みソフトウェア開発を行う方法をラボでのハンズオンを通して学習できます。
BlackBerry Limited は、2023 年 1 月に AWS Marketplace を通して以下の QNX OS が AWS 上で利用可能になったことを発表しました。
BlackBerry® QNX® は、自動車、ロボット、航空宇宙、航空電子、エネルギー、医療などの様々な業界で、ミッションクリティカルな組込みシステムを構築するために広く利用されています。
新しい QNX AMI と AWS Graviton Processor を搭載した Amazon EC2 インスタンスの組み合わせにより、AWS のお客様は、組込みソフトウェア開発においてクラウドの俊敏性、柔軟性、拡張性を活用することができます。
QNX OS を AWS で利用するメリット
AWS 上で QNX OS を利用することにより、お客様は以下のメリットを得ることができます。
早期のソフトウェア開発 (Shift Left): 物理デバイスの購入や面倒なセットアップ、インストールに悩まされることなく、すぐに開発を始めることができます。
物理デバイスの制約を受けない開発: 開発者は、ハードウェアの制約から解放され、リソースの制約なく QNX OS の環境を利用することができるため、より効率的に開発・テストを行うことができます。これにより、より高い品質のソフトウェアを開発することが可能になります。
開発作業の自動化による開発の効率化: 開発環境のカスタマイズやデプロイを自動化し、必要に応じて迅速にリソースをスケールすることが可能です。開発者は、クラウド上で利用できる CI/CD パイプラインのための実績のあるサービスを使用して、様々な開発作業を自動化することができます。一元的なストレージや開発環境とテスト環境への安全なアクセスは、大規模なチームにおける開発を効率化し、テスト時間の短縮に貢献できます。
開発環境と本番環境の環境パリティ: QNX OS と AWS が提供する ARM ベースの Graviton インスタンスを利用することで、開発者はクラウドにおけるバイナリパリティの恩恵を受けることができます。
QNX on AWS ワークショップ
ワークショップでは、QNX OS を使用して AWS クラウド上で組込みソフトウェアを開発する方法を、ハンズオンラボを通して学習することができます。ワークショップでは、開発用ホスト上で QNX® Software Development Platform (SDP) と QNX® Momentics® Integrated Development Environment (IDE) を使用します。QNX SDP と QNX Momentics は、ローカル PC にインストール可能で、Linux、Windows、macOS をサポートしています。また、EC2 上にインストールして利用することも可能です。
アーキテクチャ
QNX on AWS ワークショップでは、以下のアーキテクチャに基づいて AWS リソースをデプロイします。
- AWS アカウント、ユーザー、リソース
- ワークショップのリソースは単一の AWS アカウントにデプロイされます。
- AWS アカウントの各ユーザーは、一意のユーザー ID によって個別に認証されます。
- ワークショップでは、VPC、EC2 Ubuntu インスタンス、EC2 QNX インスタンスなどのリソースをユーザーごとにデプロイします。
- QNX 開発用ホスト
- EC2 開発用ホスト (SDP を EC2 にインストールする) を使用する場合、ユーザーは Session Manager を使用して、AWS Systems Manager (SSM) ポートフォワーディングによりセキュアなコネクションを確立し、Remote Desktop クライアントを使用して、クライアント PC から Ubuntu Linux にログインします。EC2 Ubuntu インスタンスの Private Key は、Secrets Manager シークレットに安全に保存されます。
- ローカル開発用ホスト (SDP を クライアント PC にインストールする) を使用する場合、クライアント PC にログインします。
- QNX ターゲット
- EC2 QNX インスタンス (QNX ターゲット) は、AWS 上の隔離されたセキュアな VPC ネットワークにデプロイされます。
- EC2 QNX インスタンスに安全にアクセスするため、 ユーザーは Session Manager を使用して、SSM ポートフォワーディングによりセキュアなコネクションを確立し、SSH クライアントを使用して、クライアント PC から EC2 QNX インスタンスにログインします。EC2 QNX インスタンスの Private Key は、Secrets Manager シークレットに安全に保存されます。
- CI パイプライン
- EC2 QNX インスタンスで CI (Continuous Integration) パイプラインを実行するための CodeBuild プロジェクト、CodeCommit リポジトリ、CodePipeline パイプライン、VPC エンドポイント等が作成されます。
- CodeBuild コンテナは、EC2 QNX インスタンス等の CI パイプラインのリソースをデプロイし、事前に定義された CI タスクを実行します。CI タスクが完了すると、作成されたリソースは自動的に破棄されます。
開発者ユースケース
ここでは、開発者が組込みソフトウェア開発で AWS 上で QNX をどのように使用できるかを紹介します。
ワークショップでは、QNX SDP、QNS Momentics をインストール・実行する場所によって、異なる 2 種類の開発モデルを利用することができます。いずれの場合でも開発者は、暗号化されたネットワーク接続を通して、インターネットにサービスを公開することなく安全に開発用ホストにログインし、EC2 QNX にアクセスすることができます。
EC2 開発用ホスト: QNX SDP は EC2 インスタンス上にインストールされます。開発者は、クライアント PC から Remote Desktop や SSH で EC2 開発用ホストにセキュアにログインし、EC2 開発用ホストの QNX SDP から EC2 QNX インスタンスにアクセスします。
ローカル開発用ホスト: QNX SDP は クライアント PC 上にインストールされます。開発者は、ローカル開発用ホストにローカルログインして利用します。開発者は、EC2 QNX インスタンスへ、ローカル開発用ホストにインストールされた QNX SDP から SSM ポートフォワーディングを使用してアクセスします。
ワークショップの手順
詳細なワークショップの手順とコードは、BlackBerry QNX on AWS ワークショップで公開しています。
まとめ
この記事では BlackBerry QNX on AWS ワークショップをご紹介しました。AWS 上で QNX OS を利用することで、クラウドのメリットである俊敏性、柔軟性、拡張性を最大限に活用し、様々な業界における組込みソフトウェア開発において、早期のソフトウェア開発、物理デバイスの制約を受けない開発、開発作業の自動化による開発の効率化、開発環境と本番環境の環境パリティによるメリットを得ることができます。
参考
- ワークショップ: BlackBerry QNX on AWS ワークショップ
- GitHub: aws-samples/qnx-on-aws-workshop
- 関連 AWS Blog: QNX® Neutrino® OS on Amazon EC2 Graviton による組込みソフトウェア開発の高速化
著者
國政 丈力は AWS (Amazon Web Services) のシニアソリューションアーキテクトです。クラウド領域のソリューションアーキテクトとして、多くの日本のエンタープライズ企業やグローバル企業のビジネス課題解決とビジネス成長のために、クラウド活用におけるアーキテクチャ設計や技術課題の解決に取り組んでいます。特にここ数年は、自動車業界におけるクラウド活用を支援しています。趣味は、妻との海外旅行 とフレンチレストラン巡りです。
遠藤令は、アマゾン ウェブ サービス (AWS) のシニア ソリューション アーキテクトです。 令 は 2022 年に AWS に入社し、クラウドベースの自動車ソフトウェア開発に携わってきました。
畔柳 竜生は AWS (Amazon Web Services) のシニアソリューションアーキテクトです。AWS クラウドのコンピュートサービスを活用したソフトウェアや機械学習の開発を促進できるように、お客様を支援しています。海外旅行とサイクリングが趣味です。