Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

AWS Greengrassについてまとめています。

AWS Greengrassで、IoT制御用エッジサーバにデバイスソフトをデプロイ・管理

AWS Greengrassは、IoTエッジデバイス(エッジデバイス)にデバイスソフトウェアを導入し、AWSからIoTデバイスが制御できるようにするサービスです。

関連)AWS IoT Greengrass(AWS をエッジデバイスへシームレスに拡張)| AWS

2021年時点で、370のAWS Greengrass対応のIoTデバイスがパートナー会社からリリースされています。AWS Greengrass対応のデバイスは、AWS Partner Device Catalogのページで、QualificationsのAWS IoT Greengrassにチェックを入れて検索が可能です。

関連)Find IoT hardware that works with AWS | Search by industry, application, features, and more

AWS IoT GreengrassをIoTデバイスは、数百万台規模のデバイスにデバイスソフトウェアをデプロイして管理が可能。デバイスをグループ化して管理できます。また、無線によるIoTデバイスのデバイスウェアアップデートに対応。AWS IoT Greengrass コンソール、API、コマンドラインインターフェイスから、IoTデバイスのAWS IoT Greengrass Core やコンポーネントのバージョンを更新し、セキュリティ更新、バグ修正、AWS IoT Greengrass の新機能のデプロイが可能です。

Greengrassでは、ハードウェアとセキュリティを統合しており、デバイスのプライベートキーをエッジサーバー(IoTデバイス付近に設置する現場用サーバー)のセキュアエレメントに保存するオプションがあります。

AWS Greengrassの構成

AWS Greengrassは、以下のような構成で使用します。

AWS Greengrass コンソールは、Greengrass コアデバイス(または、エッジサーバーと呼ばれるケースもあり)と呼ばれる現場のサーバーを通じて、IoTデバイスを制御します。Greengrass コアデバイスには、Greengrass コアソフトウェアという制御用のソフトウェアをインストールするんですね。Greengrass コアデバイスには、LinuxまたはWindowsマシンを使用できます。

また、IoTのサーバサイドの処理には、サーバーレスサービスのAWS Lambdaを割り当てることが可能。

【関連記事】
AWS Lambdaとは、サーバレスでコード実行可能なコンピューティングサービス

サーバサイドのLambda、コアデバイス上のパッケージ、IoTデバイス上のプログラムの3つが連携して動作するとイメージすると良いでしょう。

AWS Greengrassの使い方

AWS Greengrassは、AWS マネジメントコンソールから開くことができます。

【関連記事】
AWSを集中管理したい!AWS マネジメントコンソールを使いこなそう!

AWSマネジメントコンソールの検索窓に「green」と入力して、検索結果の「IoT Greengrass」をクリックします。

AWS IoT Greengrassの管理画面です。「1つのCoreデバイスをセットアップ」をクリックします。

関連)AWS IoT

「1 つの Greengrass コアデバイスをセットアップする」画面が表示されます。

この画面では、以下の情報を入力します。

「ステップ 1: Greengrass コアデバイスを登録する」では、コアデバイス名を入力します。デフォルトでコアデバイス名が生成されるので、特に問題なければデフォルトのままでも構いません。

「ステップ 2: モノのグループに追加して継続的なデプロイを適用する」では、コアデバイスを「モノ=Thing」のグループに追加します。グループの新規作成、既存グループ、グループなしを選択することが可能です。

「ステップ 3: Greengrass コアソフトウェアをインストール」では、コアデバイスにコアソフトウェアをインストールします。コアデバイスには、LinuxかWindowsが選択できます。

例えばLinuxの場合、画面に表示されているコマンドを実行していきます。

下記の環境変数には、アクセスキーとシークレットアクセスキー、IAMロールの一時的なセキュリティクレデンシャルを使用する場合はAWSのセッショントークンを設定します。

【関連記事】
AWSのアクセスキーの作成や管理方法 シークレットアクセスキーの確認方法は無い

export AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID>
export AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY>
export AWS_SESSION_TOKEN=<AWS_SESSION_TOKEN>

以下のコマンドでGreengrassコアソフトウエアをダウンロード&インストールします。なお、インストールには、Java 8ランタイムが前提となっています。

curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip && unzip greengrass-nucleus-latest.zip -d GreengrassCore

sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE -jar ./GreengrassCore/lib/Greengrass.jar --aws-region us-east-1 --thing-name GreengrassQuickStartCore-17e03b1808c --thing-group-name GreengrassQuickStartGroup --component-default-user ggc_user:ggc_group --provision true --setup-system-service true --deploy-dev-tools true

Coreソフトウェア導入後は、AWSが提供するパブリックコンポーネント、コミュニティで開発されたコンポーネント(GitHubにて共有)、独自開発したマイコンポーネントを組み込むことができるようになります。

AWS Greengrassの料金

AWS Greengrassには、クラウドサービスに接続するAWS IoT Greengrass Core デバイスの数に課金がされます。例えば、米国東部(オハイオ)リージョンでの料金は以下の通りです。

関連)料金 – AWS IoT Greengrass | AWS

AWSの他のサービスと連携させる場合は、連携させるAWSのサービスに対して料金が発生します。例えば、以下のサービスとの連携が考えられます。

AWS Greengrassのまとめ

ポテパンダの一言メモ
  • AWS Greengrass は、IoT用エッジサーバへのIoT制御ソフトウェアデプロイと制御をおこなうサービス
  • エッジサーバには、パブリックコンポーネント、コミュニティコンポーネント、マイコンポーネントを組み込み可能
  • AWS Greengrassの料金は、Coreサーバの台数で課金される

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。