KSMNの IoT ×アクアリウム

アクアリウム × IoT

ビオトープの温湿度データをSORACOM Lagoonで可視化

はじめに

ksmn-aqua-it.hatenablog.com

前回のブログでは、SORACOM GPSマルチユニットで取得した温湿度データをKinesis Data Firehose経由でAmazon S3へ保存しました。S3へ保存することでAWSの様々なサービスと連携することができるようになります。前回少しふれましたが、可視化はSORACOMだけでも可能です。実はこちらのSORACOMのデータ可視化のサービスは触ったことがないので今回はSORACOM GPSマルチユニットで取得したベランダビオトープの温湿度データを可視化したいと思います。

SORACOM Lagoonの開始

SORACOMのデータ可視化のサービスはSORACOM Lagoonと呼ばれるものです。ダッシュボードを作成し、SORACOM Harvestへ収集したデータ可視化することができます。SORACOM Harvestへのデータの収集ですが、SORACOM GPSマルチユニットかSIMの仕様なのかデフォルトでONとなっていました。

soracom.jp

soracom.jp

f:id:KSMN:20200825213806p:plain
HarvestはなぜかデフォルトでONになってる

SORACOM Lagoonの画面へ移動し開始します。複数の料金プランがあることはこの時はじめて知りました。検証なので、また自分ひとりの利用・デバイス1つの利用なのでFreeを選択しました。

f:id:KSMN:20200825214922p:plain

f:id:KSMN:20200825214937p:plain
Freeを選択した

soracom.jp

パスワードを決定していよいよ利用開始! f:id:KSMN:20200825215257p:plain

ダッシュボード作成

SORACOM Lagoon consoleにアクセス をクリックすると別タブでLagoonが開くのでログインします。すると↓なかっこいい画面が。。。左の+マークからダッシュボードを追加してみましょう。

f:id:KSMN:20200825215734p:plain

ダッシュボードを作成すると追加するパネルを選択します。いろいろパネルの種類は用意されていてよくわかりませんが、1つ目はグラフにしました。作成すると空っぽのグラフが登場するので編集してデータを追加します。

f:id:KSMN:20200825220241p:plain f:id:KSMN:20200825220250p:plain

メトリック タブからデータソースをHarvestにします(選択肢にGrafanaがあるのが気になった。。。)。表示するデータを選択します、今回はhumi(湿度)とtemp(温度)にします。するとグラフに表示されます。正常に表示されたら右上の戻るマークをクリックしてダッシュボードへ戻ります。

f:id:KSMN:20200825221223p:plain

f:id:KSMN:20200825221233p:plain
おー

右上の時計マークは表示するデータの期間を選択できます。表示したい範囲を選択しましょう。

f:id:KSMN:20200825221630p:plain

さて今回の検証では、ダッシュボードに時計も追加してこんな感じにしてみました。

f:id:KSMN:20200825222453p:plain

まとめ

実は私はこういった可視化ツールを使ったのはこれが初めてです。そのため他の可視化ツール・監視ツールと比較しての感想は何も言えません。。。SORACOMが提供していることもあり単にIoTデバイスから得られるデータの可視化ということであればLagoonがよいと思います(IoTデバイス以外から得られるデータも何とかして取り込めるのでしょうか??)。世界地図があったり各タイムゾーンの時刻が表示できたりと、SIMを利用した広範囲なIoTプロジェクトでは親和性があるサービスなのかなといった印象でした。しかし利用できるユーザーがProプランでも編集・閲覧あわせて10ユーザーと、少ないように感じたのですが、IoTプロジェクトや可視化ってそんなもんで足りるんでしょうか???

SORACOM GPSマルチユニットからKinesis Data Firehoseへ温湿度データを送信 その1

1. はじめに

こんにちは、KSMNです。

YouTubeの動画でSORACOM GPSマルチユニットについて紹介しました。 youtu.be

動画ではイモリウムの温湿度を試しに取得しましたが、うちの小さなイモリウムに置くには大きいのでこちらのデバイスはベランダビオトープ用としたいと思います。

また、動画では単にデータの取得状況の確認までしか実施できていません。

今回は実際にクラウド(AWS)へデータを送信・保存する設定を実施したいと思います。

2. 今回の構成

SORACOMを使ったAWSへのデータの送信は、SORACOM Funnelというサービスで可能です。今回はGPSマルチユニットで取得した温湿度データをSORACOM Funnelで、AWSKinesis Data Firehoseへ送信、S3へ保存します。

f:id:KSMN:20200823155608p:plain
構成
soracom.jp

設定方法についてはSORACOMのドキュメントに手順が用意されているので簡単にできます。

dev.soracom.io

実はデータの保存・可視化はSORACOMの以下のサービスを利用することでも可能です。

soracom.jp soracom.jp

今回、AWSへ保存するのは、機械学習や異常検知など、より自由にデータを扱いたいためです。まあ、自分が仕事でAWSを触っているというのもあるのですが。。。

3. AWS側の設定

3-1.Kinesis Data Firehose作成

まずはKinesis Data Firehoseを作成します。

コンソールにログインし、Kinesisの画面からKinesis Data Firehoseの作成を開始します。

f:id:KSMN:20200823155626p:plain

特別な設定はいりません。デフォルトで大丈夫です。今回、保存先はS3なのでS3を選択します。保存先のS3は新規作成しまた。

f:id:KSMN:20200823155804p:plain

3-2. IAMユーザー作成

SORACOM側からKinesisにアクセスするためにIAMユーザーを作成します。個人的にはIAMユーザーの利用ではなく、IAMロールでアクセスしてくれるようにアップデートされないかなー、と思います。。。

IAMの画面でIAMユーザーを新規作成します。アクセスの種類は「プログラムによるアクセス」です。 f:id:KSMN:20200823160453p:plain ポリシーは「AmazonKinesisFirehoseFullAccess」をアタッチしました。 f:id:KSMN:20200823160516p:plain 作成を実行したらアクセスキーとシークレットキーの書かれたCSVをダウンロードします。アクセスキーとシークレットキーはなくさないようにしましょう!

4. SORACOM側の設定

4-1. IAMユーザーの認証情報の登録

手順3-2で作成したIAMユーザーのアクセスキーとシークレットキーをSORACOM側へ登録します。

SORACOMへログインし、ユーザー名 > セキュリティ をクリック。 f:id:KSMN:20200823160940p:plain 認証情報ストアで認証情報を登録します。 f:id:KSMN:20200823160952p:plain

4-2. SORACOM Funnelの設定

GPSマルチユニットで利用しているSIMが所属するSIMグループで、SORACOM Funnelの設定を実施します。SORACOM FunnelをONにして各項目を入力します。転送先サービスは Firehose を選択、転送先URL・認証情報は前の手順で作成したものを入力します。

f:id:KSMN:20200823161953p:plain

5. 確認

データが送信・保存できているか確認します。上記手順を実施してしばらくするとS3にファイルが保存されます。中身を確認すると取得された温湿度が確認できます。以下は例です。

{"operatorId": "OP0043263044", "timestamp": 1598167210733, "destination": {"resourceUrl": "https://firehose.ap-northeast-1.amazonaws.com/xxxxxxxx", "service": "firehose", "provider": "aws"}, "credentialsId": "xxxxxxxxxx", "payloads": {"bat": 3, "temp": 28.3, "rs": 4, "lon": null, "y": null, "humi": 46.6, "lat": null, "x": null, "z": null, "type": 0}, "sourceProtocol": "udp", "imsi": "xxxxxxxxxxxxxx"}

6. まとめ

今回はGPSマルチユニットからSORACOM Funnelを使ってS3へデータを保存する設定を実施してみました。これまで、SORACOMのコンソールでデータを確認してただけだったので、これで保存したデータを使って可視化や機械学習といった様々なチャレンジができそうです。

【アクアテラ】アカハライモリの餌やりについて

こんにちは!KSMNです。

今回はIoTとは関係のないイモリ飼育のお話です。

数か月前から私はアカハライモリを飼育しています。熱帯魚やメダカと違ってイモリの餌やりでは、餌を食べないなど困ったことが起きるので、他にお困りの方はぜひ参考にしてください。

今回の内容は少しYouTubeでもお話ししきれなかった内容を書いています。

youtu.be

1. アカハライモリとは?

アカハライモリとは日本固有のイモリで、本州から九州にかけて生息しています。体長は10cm程度で、自然界では水田や川に生息しています。お腹の模様が特徴的で個体によって模様が違います。

2. アカハライモリの飼育環境は?

基本的には水槽に水を張って水草など呼吸するときの足場になるようなものをいれてやるだけで十分飼育できます。私は↓の動画のような小さなアクアテラリウムで1匹飼育しています。アカハライモリは水を好むのでテラリウムで飼育する場合は必ず水を張ってください

youtu.be

3. アカハライモリの餌は?

アカハライモリの餌として、私は「レプトミンスーパー」と「カーニバル」を与えています。

ただし、これらをいっぺんに与えているわけではありません。3日~1週間おきにレプトミンとカーニバルを交互に1粒ずつ与えています。一度に与えすぎても、また毎日与えても消化不良で最悪死に至ることもあるそうです。餌を食べるイモリの姿はかわいいですが、我慢して3日~1週間おきに餌やりしましょう

4. アカハライモリが餌を食べないときの対処法

さて、アカハライモリが餌を食べてくれない時があります。そんなときはどうしたらいいでしょうか?

4-1. 無理して餌をあげない

餌を食べないときは無理して与えなくて大丈夫です。心配になりますが、導入直後で環境に慣れておらずストレスを感じている可能性もあるので、1週間くらい様子をみてみましょう。私のアカハライモリも2週間も餌を食べないこともありました。

4-2. 違う環境で餌を与える

個体によって餌を食べる環境が違うようです。陸地と水中両方で餌を食べる個体もいれば、水中のみで餌を食べる個体もいるようです。上述したようにアカハライモリは水を好むので、基本的には水中で与えるのがよいと思います。私の飼ってる個体も水中でしか餌を食べません。そのため餌やりのときは、半強制的に水につかってもらいます

4-3. 違う餌を与える

餌を食べないときは違う餌も試してみましょう。私が2種類の餌を使ってるのはどちらかを食べないときはもう一方を与えることができるからです。しかし、両方食べないときももちろんあります。そういったときはワラジムシやミナミヌマエビのような生餌や冷凍アカムシ・乾燥アカムシを与えてみるといいでしょう。鶏ハツを小さく切って与えてもいいそうですが、栄養は少ないのでやりすぎは注意しましょう。

まとめ

いかがでしたでしょうか。アカハライモリは手に入りやすく飼育もしやすいイモリですが、餌やりには気を付ける必要があります。餌やりはイモリの健康に直結するので、気をつけてあげましょう。

Raspberry Pi 4 × Ubuntu 20.04 LTS にAWS IoT Greengrassを導入

はじめに

こんにちは、KSMNです。前回ラズパイ無線ルータを作成しましたが、今回はいよいよこの無線ルータにAWS IoT Greengrassを導入します。

ksmn-aqua-it.hatenablog.com

f:id:KSMN:20200720214130p:plain

0. そもそもAWS IoT Greengrassとは?

docs.aws.amazon.com

ドキュメントでは以下のように説明されています。

AWS IoT Greengrass は、クラウドの機能をローカルデバイスに拡張するソフトウェアです。これにより、デバイスは情報源に近いデータを収集および分析して、ローカルイベントに自律的に反応し、ローカルネットワークで互いに安全に通信することができます。

ざっくりしすぎていてわかりずらいかもしれませんが、、、AWS IoTやその他のAWSの機能をエッジデバイスで利用できるというのがAWS IoT Greengrassです。AWS IoT Greengrassを導入したデバイスを用意することで、AWS IoTで利用するMQTTを使ってのデバイス間のメッセージのやり取りをインターネット経由ではなくローカルなネットワークで実行できます。AWS IoT Greengrass上ではAWS LambdaやSageMakerで作成した機械学習のモデルも利用できます。MQTTでメッセージを受け取りLambdaが発火、モデルを使って推論の実行、なんてこともできるわけです。

docs.aws.amazon.com

またAWS IoT Greengrassにはコネクタという機能が用意されています。このコネクタという機能は、Greengrassからインターネット経由でAWSの機能やサードパーティのサービスと通信ができる機能です。ローカルだけで完結することなくクラウドとの連携も可能というわけですね。

ユースケース

docs.aws.amazon.com

AWS IoT Greengrass コア は、エッジ環境でハブまたはゲートウェイとして機能する AWS IoT のモノ (デバイス) です。

ではAWS IoT Greengrassはいったいどんなときに使うべきなのでしょうか?ローカルでクラウドの機能を使えるということから、インターネットへ接続していない環境もしくは繋がりにくい環境が想定されます。たとえば固定回線の引かれていないビニールハウスとか、でしょうか?また、インターネットを介するレイテンシーが許容できない場合もそうでしょう。工場の製造ラインのデバイスとかでしょうか?また、AWS IoT Greengrassを導入するデバイスは、そのような環境からインターネットへのゲートウェイとなるデバイスもしくはデバイス同士の通信のハブとなるようなデバイスがよいでしょう。

今回は自宅で固定回線も引いてあるので、AWS IoT Greengrassを使う必要は正直言ってないです!しかし、この構成を応用してSIMで通信するようなデバイスをベランダの置いて、ビオトープの監視もうっすら計画しているので、キャッチアップのためにAWS IoT Greengrassを利用します。

1. インストール前の設定

docs.aws.amazon.com

今回、デバイスRaspberry Pi 4のため、だいたい上記ドキュメント手順でよいのですが、若干違う個所もあります。

Greengrass用ユーザーの作成。

$ sudo adduser --system ggc_user
$ sudo addgroup --system ggc_group

セキュリティ向上のため、ハードリンクとソフトリンクの保護を有効。

$ sudo vim  /etc/sysctl.d/99-sysctl.conf

#下記2行を末尾に追加
fs.protected_hardlinks = 1
fs.protected_symlinks = 1

再起動。

$ sudo reboot

確認。

$ sudo sysctl -a 2> /dev/null | grep fs.protected

#下記の2つが表示される
#fs.protected_hardlinks = 1
#fs.protected_symlinks = 1

cgroupsを有効。

$ sudo vim  /boot/firmware/cmdline.txt

#下記記述を既存の行に追加
cgroup_enable=memory cgroup_memory=1

再起動。

$ sudo reboot

2. AWS IoTで証明書発行

docs.aws.amazon.com

AWS IoT GreengrassデバイスAWSが通信するための証明書の発行を行います。ここはAWSマネージメントコンソールの作業なので、上記ドキュメント手順でOKなため割愛します。

3. AWS IoT Greemgrassのインストール

docs.aws.amazon.com

今回はUbuntuですのでaptでAWS IoT Greengrass Coreがインストール可能です。基本的にドキュメントの手順通りでokです




まずはSCPかなにかで手順2で発行した証明書のtar.gz今回はいったん作業するOSユーザのホームフォルダへ置きました。

解凍します。

#Greengrass用ディレクトリの作成
$ sudo mkdir -p /greengrass
#証明書の解凍、ファイル名はハッシュ値となってるのでそれぞれの環境のものに読み替えてください。
$ sudo tar -xzvf hash-setup.tar.gz -C /greengrass

ルートCAのダウンロード

$ cd /greengrass/certs/
$ sudo wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem

キーリングパッケージのインストール。

$ wget -O aws-iot-greengrass-keyring.deb https://d1onfpft10uf5o.cloudfront.net/greengrass-apt/downloads/aws-iot-greengrass-keyring.deb
$ sudo dpkg -i aws-iot-greengrass-keyring.deb
$ echo "deb https://dnw9lb6lzp2d8.cloudfront.net stable main" | sudo tee /etc/apt/sources.list.d/greengrass.list

AWS IoT Greengrassのインストール

$ sudo apt install aws-iot-greengrass-core

起動と確認。activeになってればokです。

$ sudo systemctl start greengrass.service
$ sudo systemctl status greengrass.service

自動起動設定。

$ sudo systemctl enable greengrass.service

まとめ

いかがでしたでしょうか。aptでインストールできるのは大変ありがたいです。前はドキュメントのリンクからダウンロードしてくるとかだったような。。。さて、これでようやくラズパイ無線ルータでAWS ioT Greengrassが利用できるようになったわけですが、次回からはラズパイ無線ルータ上でのLambda関数実行やデバイス間でのメッセージのやり取りをやってみたいと思います。

AWS Organizationsとは?アカウント追加&ログインする方法は?

はじめに

こんにちは!KSMNです。ラズパイ無線ルータの設定・各ラズパイからの接続設定も終わり、いよいよラズパイ無線ルータにAWS IoT Greengrass Coreを導入します。

f:id:KSMN:20200720214130p:plain

しかしその前に今回の検証?プロジェクト?用に、自分がいま持っているアカウントとは別にAWSアカウントがほしいなと思いました。そこでAWS Organizationsの出番です。AWS IoT Greengrass Coreの話は別の機会にするとして、、、今回はAWS Organizationsについて紹介したいと思います。

AWS Organizationsとは?

ドキュメントに書いてある通りですが、複数のAWSアカウントを管理する機能です。

docs.aws.amazon.com

組織単位 (OU)と呼ばれるグループでアカウントをツリー構造で管理します。例えば以下なイメージです。見てわかるように実際の企業や組織の部署のツリー構造のように表現できます。もちろん、こんな風にしなくてはならないというわけではないです!

f:id:KSMN:20200724224735p:plain

アカウントの追加と管理

アカウント追加

docs.aws.amazon.com

Organizationsでは2つの方法でAWSアカウントをOUに追加することができます。

f:id:KSMN:20200727221158p:plain
「アカウントを追加」をクリック

f:id:KSMN:20200727221228p:plain

「アカウントの招待」か「アカウントの作成」かを選択することができます。そう、既存のアカウントでもOrganizationsに追加することができます。組織内でいわゆるシャドーITのようにAWSアカウントの利用があっても、後からOrganizationに追加し請求を一元管理することができるわけですね。またこのOrganizationsの画面からアカウントの新規作成も可能なので、いちいちアカウント作成のためにクレジットカード情報などを入力しなくてもよいです。今回はAWS IoT用に新規作成することにします。

f:id:KSMN:20200727221846p:plain
必要事項を入力

アカウント名とメールアドレス、IAMロール名を入力します。ここで入力するIAMロールはOUに追加したAWSアカウントへのログインに使用します。Organizationsに追加したアカウントへはIAMロールでのログイン、いわゆるスイッチロールでログインします(デフォルトでは)。もちろん追加したアカウントへスイッチロールでログインした後はIAMユーザを作成することができるので、IAMユーザでのログインも可能です。しかし、基本的にはOrganization内に別にスイッチロール用アカウント(いわゆる踏み台アカウント)を用意して、そこにIAMユーザを追加して各AWSアカウントへはスイッチロールでログインするのがよいでしょうね。。。「作成」をクリックすると作成が実行されます。

f:id:KSMN:20200727224340p:plain
しばらくすると情報が表示される

そしてしばらくするとアカウント番号などの情報が表示され、正常に作成されたことがわかります。

OUの作成

さてIoT検証のアカウントを作成しましたが、IoT検証用OUも作成してみます。

f:id:KSMN:20200727224750p:plain
「アカウントの整理」からOUの管理ができる

「アカウントの整理」でOUの追加・管理が可能です。上記で作成したIoT-Aquariumアカウントが確認できます。「新規組織単位」をクリックします。

f:id:KSMN:20200727225040p:plain
名前を入力し作成

作成は名前を入力するだけです。

f:id:KSMN:20200727225315p:plain

作成すると一覧とツリービューに追加されます。IoT-AquariumアカウントをIoTのOUへ移動させます。下のようにチェックして移動をクリックするだけです。

f:id:KSMN:20200727225700p:plain

f:id:KSMN:20200727225709p:plain

f:id:KSMN:20200727225849p:plain
IoT配下に移動された!

スイッチロール設定

さて、Organizationsへ新規作成で追加したAWSアカウントへは、デフォルトではスイッチロールでログインすると前述しました。スイッチロールのためIAMポリシーを設定しましよう。以下のようなIAMポリシーを対象のIAMユーザもしくはIAMグループへアタッチします。アカウント番号とロール名はそれぞれの環境のものへ読み替えてください。あとは対象のIAMユーザでスイッチロールできればokです。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AssumeRole",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::アカウント番号:role/ロール名"
    }
  ]
}

ポリシーの管理

docs.aws.amazon.com

さて、Organizationsでは配下のAWSアカウントに対して、いくつかの種類のポリシーを適用することができます。以下の画像では4つですが設定画面ではもう少し多くの種類の設定が可能です。

f:id:KSMN:20200727231246p:plain
ポリシー

今回はIoTの検証でどれだけ請求されるか管理したいので、タグポリシーを有効にします。といいつつIoT Greengrassを利用するのでAWSリソースに課金が発生しないような。。。

f:id:KSMN:20200727231745p:plain
こんな感じ

作成したら先ほどのIoT用OUの画面でポリシーをアタッチします。

f:id:KSMN:20200727232031p:plain

これでIoT用OU内のアカウントは設定したポリシーでタグを付与しないといけません。

まとめ

いかがでしたでしょうか?Organizationsを使うと簡単にアカウントの追加・管理が可能です。またポリシーによりOU配下のアカウントへバックアップ・タグの管理まですることが可能です。請求の管理の面で、私はタグポリシーで付与しないといけないタグを指定できるのは非常に便利に感じました。皆さんも複数アカウントを利用する場合は、ぜひAWS Organizationsを利用してみてください。

Raspberry Pi 4 + Ubuntu 20.04 LTS でWiFi接続

はじめに

f:id:KSMN:20200724005243j:plain

こんにちは!クソミネです。前回の以下の記事ではRaspberry Pi 4 + Ubuntu 20.04 LTSで無線ルータを作成しました。しばらくたちましたが正常に動作しています。

ksmn-aqua-it.hatenablog.com

前回も紹介した構成図の通り、水槽に取り付けるラズパイからは上記の無線ルータへ接続します。今回は初期設定としてラズパイから無線ルータへ接続する設定を実施します。

f:id:KSMN:20200720214130p:plain

方法

無線ルータに接続する側のラズパイはRaspberry Pi 4 Model B 2GBを使用。OSはラズパイ無線ルータと同じくUbuntu 20.04 LTSをインストールしました。

amzn.to

ちなみにRaspberry Pi 4は結構発熱するので常時稼働させる場合は以下のようなヒートシンクやファンがあると安心です。

amzn.to

amzn.to

初期設定

OSへSSHログイン、もしくはHDMIでモニターへつないでログインして、パッケージのupdateをします。

$ sudo apt update -y
$ sudo apt upgrade -y

ネットワークインターフェースの確認

ネットワークインターフェースのデバイス名を確認します。以下は私の環境の例で記載します。後の手順もこちらのデバイス名で記載するので、同じことをする場合はご自身の環境のものによみかえてください。

$ ls /sys/class/net/
eth0  lo  wlan0

ここでは wlan0WiFIカードとなります。

接続設定

UbuntuIPアドレス周りの設定はnetplanで設定します。WiFiアクセスポイントへの接続もnetplanで可能です。

netplanのデフォルトの設定ファイルをコピー。

$ sudo cp /etc/netplan/50_config.yaml /etc/netplan/99_config.yaml

編集して以下のようにwlan0の設定を追加した。IPアドレスやアクセスポイント/パスワードは各自の環境のもので読み替えてください。

$ sudo vim /etc/netplan/99_config.yaml

network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    wifis:
        wlan0:
            dhcp4: true
            access-points:
                "アクセスポイント名": 
                    password: "パスワード" 

DHCPを無効にしてIPを固定する場合は以下のように記載します。

$ sudo vim /etc/netplan/99_config.yaml

network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    wifis:
        wlan0:
            dhcp4: false
            addresses: 192.168.20.110/24
            gateway4: 192.168.20.1 #ルータのIP
            nameservers: #DNSサーバを指定しないとなぜか名前解決できない
                addresses: [8.8.8.8, 8.8.4.4]
            access-points:
                "アクセスポイント名": 
                    password: "パスワード" 

設定の適用。

$ sudo netplan apply

再起動して確認

再起動してログインしなおして、接続できているか確認します。

$ sudo reboot

wlan0にIPが振られているか確認。

ip a

pingcurl`などでインターネットへ接続できればokです。

しかし。。。

なぜかシャットダウンし起動すると設定が適用されず無線ルータに接続できない。。。原因調査中ですが、シャットダウン・起動後は sudo netplan applysudo reboot で適用・再起動するとよさそうです。。。

参考

uepon.hatenadiary.com

2020年版 AWSを学ぶおススメ書籍・WEBサイトなど(随時更新予定)

はじめに

こんにちは!クソミネです。

私は都内の会社でAWSエンジニアとして働いています。いわゆるSIerで、日々お客さんにAWS構成の提案や構築作業・保守などをしています。今となっては多くの企業でAWSが導入されていますが、仕事をする中で感じるのはまだまだAWSのことがわからないというお客さん・エンジニアが多くいるということです。

そこで今回は、AWSを学ぶおススメ書籍・WEBサイトなどを、個人的なおススメ度(★5つで判定)と一緒に紹介します。

その1.書籍

たいていの場合、何か技術を習得しようとするときは書籍を買うかと思います。まずはおススメ書籍を紹介しましょう。

Amazon Web Services 基礎からのネットワーク&サーバー構築

amzn.to

項目 内容
種類 書籍(ハンズオン形式)
リンク Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
おススメ度 ★★★★★

紫本として有名なこちらの本。ハンズオン形式でWordPressの構築を実施します。AWSのネットワークサービスであるVPCや仮想サーバーであるEC2というAWSの基礎となるサービスの利用方法が学べます。今年に入って第3版が発売され内容が最新にアップデートされています。。今までインフラエンジニアでAWSが初めてという方だけでなく、アプリケーションエンジニアでインフラについても学びたいという方、IT未経験の初学者の方にもおススメで、AWSを初めて学ぶ上での定番の書籍ということで★5とします。

基礎から学ぶ サーバーレス開発

amzn.to

項目 内容
種類 書籍
リンク 基礎から学ぶ サーバーレス開発
おススメ度 ★★★★☆

AWSというかクラウド初心者の方にとって『サーバーレス』という言葉はなじみがないかもしれません。サーバーレス...サーバーが...ない?実際はないというか、サーバーやインフラのリソースをユーザー側で気にする必要がほとんどないというのが正しいかもしれません。こちらの書籍はこのブログを書いているまさに前日に発売されたものです。AWSプレミアコンサルティングパートナーであるアイレット株式会社の方が著者ということもあり、サーバーレスの基礎だけでなく、運用方法についても学べます。初心者にとってサーバレスはとっつきにくいかもしれませんので★4とします。

AWS認定ソリューションアーキテクト-プロフェッショナル

amzn.to

項目 内容
種類 書籍(資格試験対策)
リンク AWS認定ソリューションアーキテクト-プロフェッショナル ~試験特性から導き出した演習問題と詳細解説
おススメ度 ★★☆☆☆

AWSに認定資格があります。自分のスキルの証明としてこういった認定資格の取得を目指す方も多いのではないでしょうか。

aws.amazon.com

AWS認定ソリューションアーキテクト-プロフェッショナルはその資格の中でも上位にあたる資格の1つです。こちらの書籍はその資格試験の対策本です。ほとんどが模試というないようですが、界隈では「読めば合格」と評判の対策本です。試験対策本ではありますがサービス解説・シナリオも載ってます。個人的にすごくおススメなのですが、試験対策というふうに用途が限られているので★2とします。

その2. ブログ

AWSの利用方法やTipsをブログで公開している企業は多くあります。実際にAWSを使い始めるとこういったブログを参照することは多くあります。ということでおススメのブログを紹介します。

公式ブログ

aws.amazon.com

項目 内容
種類 ブログ
リンク Amazon Web Services ブログ
おススメ度 ★★★★☆

なんといっても公式ブログでしょう。こちらはAWS公式のブログになります。新サービス・機能のリリースのお知らせはもちろんですが、導入事例、イベントレポート、やってみた系の記事もあります。読み物としても面白いので、AWSのキャッチアップをするなら毎日確認してよいでしょう。

Developers.io

dev.classmethod.jp

項目 内容
種類 ブログ
リンク Developers.io
おススメ度 ★★★★☆

こちらはAWSプレミアコンサルティングパートナーである株式会社クラスメソッドさんのブログです。AWSを触っていて詰まったり、わからないことがあるとこのブログに行き着くと思います。様々なジャンルの記事があるのでAWSを始めるなら何かとお世話になるかと思います。

まとめ

いかがでしたでしょうか。あなたに合った書籍・サイトは見つかりましたか??こちらの記事は随時更新するつもりです。AWS初学者の方はたいてい紫本をやる → 実務でわからないことがあればググって公式ブログ・Developers.ioを参照という流れになると思います。AWSは日々、新サービス。機能が追加されるのでそのキャッチアップもお忘れなく。