するめごはんのIT日記

主にITネタを書いていくのさ

【登壇】AWS認定 デベロッパーアソシエイトの試験に出るかもなデモ見せあいっこ(ヤマムギvol.12)で登壇した話

f:id:surumegohan:20210408111133p:plain

ごきげんよう

掲題の通り、昨日は以下のイベントで登壇しました。
僕の登壇資料も公開しています。

yamamugi.connpass.com

オンライン登壇は相変わらず聴講者の様子がわからないのがネックでしたが、勉強会としては個人的には神回だったと感じています。

登壇理由

以下の本をお買い上げした時に、Twitterにお買い上げツイートをしたら筆者の山下さんからお誘いを受けて登壇に至りました。

どうやら他の方々も同じような声掛けからという、本を買って勉強できる上に登壇チャンスまでいただけるありたがいお話でした。
本の著者であり、今回の勉強会主催者もツイートしてしまうw

自分の登壇の際の流れ - S3にて静的ホスティングしているWebページにCognitoでログイン機能をつけてみた

さて、まずは自分が登壇した箇所について記載します

「静的ホスティングについて登壇する人が絶対いる!」と踏みながらconnpassをみたら木村さんが担当してくれるので、その続きにしようということで、僕はCognitoを使ったログインページのデモをやりました。

connpassに明示的にCognitoと記載している方もいなかったので隙間産業です。

実際のWebページをまずは操作してから、以下の構成図で動きを説明させていただきました。

f:id:surumegohan:20210408120050p:plain
デモで作成した構成図

ざっくり以下についてやらせていただきました。

  • 実際にHTMLとJavaScriptをS3に入れて動いているWebページを操作

  • Cognitoについてスライド說明

  • マネジメントコンソールに入ってCognitoのユーザープールとIDプールの說明をデモ

  • Cognitoのログイン画面に企業ロゴを簡単に追加できるデモ

ログイン画面をサクッと作れるのは大変便利ですね。

また、僕はアンチパターン社のHarborSのイベントパートナーをやらせていただいているので、それについてもお話させていただきました。

f:id:surumegohan:20210408120500p:plain
おしゃれ空間のコワーキングスペース

f:id:surumegohan:20210408120523p:plain
AWS認定保有者は是非ともengineedにご登録を

結構ご存知な方もいらっしゃったようです。

ありがたいコメントもたくさんいただきました

感謝しかない

ありがてぇ。。。ありがてぇ。。。

チャット欄のコメント

登壇中にチャット欄にも多くのコメントをいただけました。 ありがとうございます! 匿名にマスキングして載せておきます

XXXXXXXXX から全員に: 07:46 PM おー

XXXXXXXXX から全員に: 07:46 PM おめでとうございます!

XXXXXXXXX から全員に: 07:54 PM 15分って聞くと長そうだけどデモ入れるとあっという間ですね

XXXXXXXXX から全員に: 07:54 PM おおーー!!

XXXXXXXXX から全員に: 07:54 PM すごい

XXXXXXXXX から全員に: 07:54 PM 888888

XXXXXXXXX から全員に: 07:56 PM 素晴らしい! あれ、見切れてる?

XXXXXXXXX から全員に: 08:01 PM CognitoってAWSの中でも難しいイメージ

XXXXXXXXX から全員に: 08:01 PM わかりみ

XXXXXXXXX から全員に: 08:02 PM 超わかりやすかったヽ(*´∇`)ノ

XXXXXXXXX から全員に: 08:02 PM 888888

XXXXXXXXX から全員に: 08:02 PM 8888888888888888

XXXXXXXXX から全員に: 08:02 PM 888888888

XXXXXXXXX から全員に: 08:02 PM 888888888

XXXXXXXXX から全員に: 08:02 PM 888888888

XXXXXXXXX から全員に: 08:02 PM 8888

XXXXXXXXX から全員に: 08:02 PM 888888

XXXXXXXXX から全員に: 08:02 PM 8888 88888 88888

XXXXXXXXX から全員に: 08:02 PM 888888888

XXXXXXXXX から全員に: 08:02 PM 8888888

XXXXXXXXX から全員に: 08:02 PM ためになりました!

XXXXXXXXX から全員に: 08:03 PM ためになります

XXXXXXXXX から全員に: 08:05 PM 昔からのWindowsUserなら Winでも大丈夫だと思います。PowerShellでこねくり回せます。ただ、先ほどあったように情報は少ないです。

XXXXXXXXX から全員に: 08:05 PM Linuxだいすきさんはmac、そうでなければwindowsでよいのでは

XXXXXXXXX から全員に: 08:06 PM アドバンスドセキュリティ機能でIP RANGE指定できるっぽいですね。利用したことないですが https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html


ここから他の方々の登壇

1人1人の登壇内容を書いていきたいのですが、全員がライブデモをするという神回だったので文字ではうまく書けません。。。

■ヤマムギ 山下 光洋さん - ヤマムギについて

主催者のご挨拶です。 Zoomの100人枠を超える応募があったので急遽105名にconnpassを拡大。 ここまで人が集まったのは今までで初だったようです。

実際に参加者としてアクティブだったのは僕が気づいた範囲だと65人は超えていました。

とにかくやってみようがコンセプト
ハンズオンやデモの共有で学びを得るための勉強会です。
(・∀・)イイネ!!

■杉山 美鈴さん - AWS Secrets Managerをチュートリアル中心に触ってみた

まさかのいきなり本のページ数を掲載
DVA試験のサンプル問題の解説からはじまりました。
な、なんだってー!

その後、ゼロベースAWS Secrets Managerを公式チュートリアルに沿ってライブデモを行っていただきました。
つ、つよい。。。。

■木村 亮さん - S3を使ったWebサイトホスティング (S3 + CloudFront)

AWSあるあるのS3を用いたWebサイトのホスティングのデモでした。
CloudFrontも被せてWebページができています

S3のバケットポリシーの構築からのデモで、初体験の人も勉強になったと思います。

ちなみに、バケットポリシーを「バケポリ」と呼ぶ人に初めて出会ったのですが、今後流行らせていくスタイルです。

■僕 - S3にて静的ホスティングしているWebページにCognitoでログイン機能をつけてみた

上記に書きました。

■小木 悠斗さん - API Gatewayの基本、認証付きREST APIを作る

AWSサムライの登場!

API Gatewayをゴリゴリ操作しています。
っというか流れがはやい!流石すぎる。

Amplifyも活用なさってました。

サクサク操作なさっているので、見入ってしまう・・・w

途中、デモに不具合が発生しましたが、ライブデモなのでその場で原因をあれこれ伝える方々も現れる

語彙力がないので伝えようがないのですが、ともあれサクサクと構築して、躓いたところは勉強会中に原因共有&解明という素晴らしい流れでした。

■伊藤 秀樹さん - API GatewayとStepFunctionsで非同期のオンラインバッチを作ってみた

強い人が続きますね・・・

StepFunctionのJSONでの記載や、実際に動いていてエラーになったらどうなっているかなどの解説をたっぷりと。

Step Functionは現在どのステートが動いているかが可視化されるのでデモとしても映えますね

■川路 義隆さん - Amazon AppSyncでリアルタイムチャットシステム作ってみた

AmplifyやAppSyncが登場

そしてライブ中にチャットシステムを構築して、勉強会参加者が続々とログイン&発言というデモを意識なされたプレゼンでした。
場馴れ感すごい。

■ハンズラボ/中川 皓紘さん - AWS Beanstalkでお手軽Webサイト構築

人生初登壇!!

AWS Beanstalkのデモです。

こういう罠(ハマりどころ)の共有はありがたいですね

デモでお手すき時間ができたときの小話もおもしろいw

■山崎 遼平さん - S3でセキュアにファイル交換してみる

勉強会のデモってレベルじゃない構成図キターーーー!!

まさかのWinSCPの有能っぷりっから・・w

ここでもCognitoのデモを行っていらっしゃいました。
タイトルにCognitoを入れたのは僕だけですが、デモで活用なさった方が多かったですね。

終わってみて

残念ながら各自のアクセスキーとかも表示されているので勉強会の動画は公開されませんが、全員がライブデモを行い、しかも濃密という非常に良かった勉強会でした。
ここで登壇させてもらえたのは本当にありがたかったです。

次回が告知されたら視聴者としてでも参加してみよう。

そして。。。

最後にこれ大事

以上!

AWS認定デベロッパーアソシエイトに一発合格した話

f:id:surumegohan:20210406191404p:plain

ごきげんよう

昨日、AWS認定デベロッパーアソシエイトの試験を受けて無事に合格いたしました。

スコアレポートがこれを書いている時にまだ来てないので、送られてきたら追記します。


2021年4月7日
スコアレポートがやってきましたので追記しました

f:id:surumegohan:20210407102936p:plain

f:id:surumegohan:20210407103001p:plain

まとめ

受 験 日 : 2021/04/05
合  否 : 合格
受験科目 : AWS 認定 デベロッパー – アソシエイト
受験言語 : 日本語
取 得 点 : 840
合 格 点 : 720点
問 題 数 : 65
出題形式 : 単一選択,複数選択
試験時間 : 140分(同意書・アンケート含む)
勉強期間 : 30-40時間程度
受験目的 : 自分のスキルアップ
勉強形態 : 独学
実務経験 : チョットダケ
勉強前のレベル : SAAもってる
本試験のレベル : 難しくはない

何度目の挑戦か : 1回目

【 セクション毎の正解率 】

分野1 展開 : 十分な知識を有する
分野2 セキュリティ: 十分な知識を有する
分野3 AWSサービスを使用した開発 : 十分な知識を有する
分野4 リファクタリング : 十分な知識を有する
分野5 モニタリングとトラブルシューティング : 十分な知識を有する

どんだけなんだよ・・・・

【 使用教材 】

一押し >>> ポケットスタディを読んでからのWeb問題集

僕のスペック

試験に挑む前の僕のスペック

とはいっても、AWSを使わない期間もあったので○ヶ月とは言えないですが・・

  • 情報系工学部卒および修士卒、専門は今で言うIoT

  • IT系社会人経験10年超

  • AWSで自作したサービス、アプリが5つ以上

  • AWSに関して設計、コンサルを含めると2年前後(途中に空きはある)

  • AWS 認定 クラウドラクティショナーを2018年末に取得済み

  • AWS認定ソリューションアーキテクト - アソシエイトを2019年になってすぐに取得済み

過去のAWS認定の受験記・合格体験記は以下です。ご参考までに。

surumegohan.hatenablog.com

surumegohan.hatenablog.com

何の試験?

AWSの認定プログラムのうちの1つの試験です。

aws.amazon.com

今回合格したのはそのうちの1つである

AWS 認定 デベロッパー – アソシエイト

です。

aws.amazon.com

受験理由

以下の本が世の中にでてきて、SAA(他の試験)は合格してるし、いけるんじゃないかなーと。

勉強法

勉強法も記載していきます。
ただ、僕は独り身一人暮らしという圧倒的アドバンテージをフル活用して短期決戦してます。

なので参考にならないかもしれないです。

AWS認定アソシエイト3資格対策~ソリューションアーキテクト、デベロッパー、SysOpsアドミニストレーター

まずは
AWS認定アソシエイト3資格対策~ソリューションアーキテクト、デベロッパー、SysOpsアドミニストレーター
という本を1週読む。

この本は「ゆるふわ」です。
広く浅くAWSの3つのアソシエイト試験範囲のサービスを説明しています。

この本だけで合格できる人は実務経験があるのでしょう

ひとまず試験範囲の技術はなんなのかなと確認に使えます。

僕はSAA試験に合格しているのもありますが、本としては「ゆるふわ」で決して難解ではないので半日で読み切れます。

■ポケットスタディ AWS認定 デベロッパーアソシエイト (アソシエイト試験ポケットスタディ)

400ページを超えるポケットスタディ本。良書。めっちゃ良書
情報処理技術者試験でポケットスタディ本にお世話になった方もいらっしゃるのではないでしょうか。
まぁ今どきは電子書籍で勉強できるのですが。

この本にはかなりお世話になりました。
一見分厚いですが、AWSマネージドコンソールのスクショも多く読みやすいです。文章にムダもない。

この本を読みながら、実際に手を動かして各サービスを会得していけば合格にかなり近づくと思います。
試験対策本としても問題が330題あって、各章の終わりに章末問題として散りばめられており、かつ、最後に本番試験想定問題集もついてます。

丸1日で読み切れます
僕の場合は4月5日(月)受験だったので4月3日(土)に12時間くらいで読み切りました。
もちろん、すべての問題は正答するまでリピート。

紙の本ですが、次に紹介するWeb問題集よりも現時点で最新です。
特にLambda Layersに対して言及しているのはこの本だけかもしれません。

■AWSWeb問題集で学習しよう

以下のWeb問題集に迷わず課金して試験範囲をひたすらこなしました。

AWS WEB問題集で学習しよう

今回の対象試験は「DVA試験」と略されてます。

7問×37セットが実施できました。

1セット目から満点だとしても、解説はしっかり読んでいき、1問でも落としたら1セットやり直し&解説読み直しを繰り返していきました。

これも丸1日あればコンプリートできます
僕の場合は4月4日(日)に12時間くらいで終わりました。

試験当日朝にWeb問題集を再週しました。

Black bullet

本やWeb問題集で不明点や苦手と感じた部分はBlack Beltの動画を2倍速で。

特におすすめなサービスは

  • AWS Elastic Beanstalk

  • AWS Step Functions

  • AWS Key Management Service (KMS)

■Udemyは使ってない

Udemyはセールを逃したので使いませんでした。
けど受験日の4月5日から8日までセールとかいうね。。。

■模擬試験

試験前日に受験した模擬試験が正答率50%でした。
けれども、模擬試験のほうが難しいとの声を多く聞いていたのでキニシナーイ。

試験当日朝にWeb問題集を再週しました。

■しっかり寝る

試験日前日はもちろん、しっかり寝ることが大事です。
個人的には朝から学習が良いですね。

今後はどうするの

Web問題集、それなりよかったのですが課金有効期限が90日間固定なんですよね。
なので、90日間のうちに何かしら挑戦します。

AWS WEB問題集で学習しよう

ひとまずは新試験になるとアナウンスされているSysOps試験を新しくならないうちに受験してしまうつもりです。

aws.amazon.com

その次は、SAA試験の認定更新をやらないといけないので、もうSAP試験に挑んでしまいましょうかと考えてます。
けど3時間でギリギリとかないわー。

aws.amazon.com

とはいえ、スペシャリティ試験もやってみたい・・・

ということで
SysOps→SAP→得意領域のデータアナリティクスorデータベースですかね。
もしくは試験対策しやすいという噂のセキュリティというところでしょうか。

時間の確保は・・・
仕事しないで仮想通貨で90日分くらいは稼げるんじゃない?4月だし(舐めプ

以上

Pineスクリプトで自作インジケーターを作った

ごきげんよう

とは言っても、今回は以下のみです。

surumegohan-crypto-coin.hatenablog.com

詳しいコーディング方法とかは別途書きますかね。
需要があるかはわからないですけど。

技術書典とかに出すのはありかもしれない。

ブルーライトカット眼鏡を新調した話

f:id:surumegohan:20210218232213j:plain

ごきげんよう

ITなのかどうかわからないけれど、ともあれPCやスマホなどの画面に長時間向き合う人は多いでしょう。

僕は在宅だとモニターが4つの環境にいるわけですが、最近は仮想通貨に手をだしてしまったので、チャートを見つめる時間が増えて目に負担が。。。

それと、先日健康診断を受けたら視力が少し落ちていたこともあり、ブルーライトカットに対応した眼鏡を新調しました。
数日経ったので使ってみている感想をば。

ブルーライトカットとは

要するにモニターからのブルーライトという光で目が疲れるので、その光から目の負担を軽減しましょうよ。
そのためのレンズということです。
度なしレンズももちろん存在しているので裸眼やコンタクトの人でも使えるでしょう。

どこで、どんなお値段で買ったのさ

結論から記載するとZoffさんで5500円です。

個人的にはブルーライトカットというとJINSさんのイメージがあったわけです。
発端はネットの広告だったか覚えてないですが。

ブルーライトカット」でググってみるとZoffさんとJINSさんが僕の検索結果だとでてきました。

www.zoff.co.jp

www.jins.com

ネットで購入できるとはいえ、眼鏡に関しては現地で物理的に装備しないと、視力はもちろんフレームの幅フレームの好みブルーライトカットのカット率による影響などなど確認できません。

物理店舗にいってきた

物理的に行かざるを得ないので、行ってきた。

実はそもそもJINSさんのブルーライト25%カット眼鏡をそもそも日頃から装備している。
なのでまずはJINSさん。

JINSさん

やたら花粉対策眼鏡を推しているが、僕は正直いらない。

25%カット、40%カット、そしてもう1段階上のカットが実は存在します

が。

フレームを探して、選んで、度付きレンズで
「おいくらですか?どれくらい時間かかりますか?」
と聞いてみたところ

店員さん
「度付きレンズとなりますと、店頭にあるすべてのフレームから選ぶことができますが11000~12000円で約1週間です。」

僕「(゚Д゚)ハァ?

Webページのお値段とかなーり異なるし時間もかかる。
メリット is 何?

一旦、店舗から抜け出してZoffさんに向かう

Zoffさん

Zoffさんの公式サイトのスクショ。かなり強気。

f:id:surumegohan:20210219001001p:plain
zoffさんのサイト画像から引用

ふむ。
ということは、もともとからお高い&時間がかかるんだな。
そうに違いない。
俺は詳しいんだ

店内ウロウロ。
なんかドラクエとコラボしているスライム眼鏡があったが、、スルー。

5000円フレームでいい感じのを発見。


「こいつでおねげぇしますだ。ブルーライトカットのカット率高い方でおいくら万円?」

店員さん
「こちらですねー。度付きでブルーライドカットですね。5000円に消費税で5500円になります」


「ふぁっ!?・・・いつごろ手元に届きます?」

店員さん
「今ですと、度数を測ってみてからブルーライトカットを試していただいて・・・30分くらいです」

僕「(゚Д゚)ハァ?

というわけで、「あの気球」の画像を観て、視力検査して、50%カットを試しに装着してみると・・・

店員さん
「50%カットですと、視野が黄色になってしまうんですよ。なので透明度を重視して33%カットの方が多いのですが」


「ん?たしかにカット率が低いほうがクリアには見えますが、、50%でもそんな支障ないですわ。こっちで。」

店員さん
「色を使うお仕事とかなさってませんか?影響がでるかもしれません」


「そしたら今持ってきたメガネに切り替えますので問題ないです」

となって、JINSさんに戻ることなくあっさりお買い上げ。

待ち時間に外食してたら準備できたという通知がスマホに。
え?20分くらいしか経ってないけど?

できてました。

■おまけをもらえた

何やらキャンペーンをやっていて抽選券をもらえた。
あとメガネケース。
ケースの種類ありまくりだったけれど、こういう袋タイプ?は初めて観たのでチョイス。

f:id:surumegohan:20210219000116p:plain

抽選で500円のお食事券をもらえたので、そのまま外食しました。

なので実質5000円

数日経過した感触

たしかに若干の黄色っぽい視野になったけれど、そもそも自宅の作業場の電気がクリアではなくややクリーム色にしてある。
なので特に見えにくくなったとかもなく、外出して不便なこともなく。
作業して目が痛くもならない。

というわけで、いいお買い物だったようです。

まとめ

メガネ買うならZoffは良いぞ。

AWSのアップデートの確認

f:id:surumegohan:20210208173337j:plain

ごきげんよう

今回は軽めな話

日々アップデートされるAWSの様々なサービス。
新機能の話題がでたりするけどそれってどこで確認するの

というお話

英語

aws.amazon.com

はい。
これでおしまい。
お疲れさまでした撤収ぅ~

言うまでもなくAmazon社は外資系でありガッツリ米国である。
そして言うまでもなく世界中で利用されている。

なので日本語の記事で最新のアップデートを探すのはかなり厳しい。

ITエンジニアなら普段から英語記事に触れていることも多いだろうが念の為。

Webサイトを英語にする

いちお、補足として以下を書いておく。

AWSのサイトを英語にすることで中の人達の記事を確認することができる。
AWS 最新情報」とでもググれば以下のページはでてくる

aws.amazon.com

ちなみにこの記事を書いているは2021年2月8日で、以下のような画面になる。

f:id:surumegohan:20210208174602p:plain

けれどもそこでスクロールしてでてくる情報は日本語が大半なので、今この記事を書いている2021年2月8日(月)だが2月6日が最終更新の記事となる。土日も挟んでいるが。

f:id:surumegohan:20210208174700p:plain

なので右上から言語をEnglishにする。

f:id:surumegohan:20210208174858p:plain

そうすると英語のページが表示されるのでそこからスクロールすると2月6日の記事が公開されている。

f:id:surumegohan:20210208174958p:plain

f:id:surumegohan:20210208175022p:plain

日米のブログ

上記のアップデート情報はあるが他にも日本と米国でブログが公開されている

aws.amazon.com

aws.amazon.com

まとめ

こういう情報が公開されてない気がしたのでメモ代わりに書いておいた。
新人エンジニアさんの参考にでもなれば幸い。

RSS feedなのでSlackなりリーダーなり対応しても良い

ちなみに
クラブな家の規約上、完全な説明ができないが、おはようなAWSも参考になる。

AWS Startup Tech Meetup Online#1 と聴講した話

f:id:surumegohan:20210202120752j:plain

ごきげんよう

少し時間が経ってしまいましたが

aws-startup-community.connpass.com

上記に参加しました。

togetter.com

申し込みをし忘れていていて、
あー間に合わなかったー orz
と思ったら空席が多いとのことで入れました。

ありがとうございます
中の人。

オンライン用として1回から再開?

今までもスタートアップイベントは行われていた認識ですが
オンライン用として1回目ということで仕切り直した模様です。

資料が公開

このイベント時の登壇資料が公開されていることに気づいたので改めてブログにしてみた次第です。

aws-startup-community.connpass.com

スタートアップのイベント

これは僕の完全な主観と偏見なんでまったく根拠はないのですが
主催者のmats(kazuki-matsuda)さんはAWSスタートアップSAのため
このようなスタートアップを焦点としたイベントをなさっているのかと考えています。

僕自身、非常に短い期間ではありましたがスタートアップ企業のCTOをしているときには
matsさんには大変お世話になりました。
今もなってますが・・

参加していた感じたこと

資料が公開されているので、深くは語らないですが、スタートアップの企業はある程度同じ課題に当たる場面があって
資金繰りとかは別として技術的に

  • 技術選定

  • ログの管理

  • 最小単位でスモールに構築してリリースをいかに早くするか

などが挙げられると思っています。

■技術選定

AWSを利用して、新規サービスを作成すると決まったとして技術選定をどうするかはエンジニアの腕の見せどころの1つかと思っています。

また、1つの技術やサービスだけではなく、それらを以下に組み合わせ、セキュリティを意識し、将来的にスケール可能とかまで考えることが理想的です。

AWSも、AWS Well-Architected という考え方を公表しています。

aws.amazon.com

ただ、上記まであげた技術選定はあくまで理想論で、できたらいいくらいだと僕は考えていて
0→1を実施しなければならないスタートアップなら極論

ぶっちゃけ動けばいい

と思ってます。
セキュリティ面や動作不良がないかのテストはしっかりすることが前提ですが。

そもそもオンプレミスのシステムと違って、ハードウェアを計算し尽くしたスペックで物理的に購入・配置する必要がないため
失敗したり、後から別のAWSのサービスを利用したり、機能追加でロジックが変わったりしてもいいと思ってるからです。
新サービスもポンポン出てくる世界ですし

失敗を恐れて実装・リリースが遅れるのはコストでしかない

と思ってます。
やり直しが認めらているということは心理的安全性にかなり繋がります

もちろん無策で実装は考えものですが、ある程度の事前調査とPoCの作成を行い、不明点はオンラインのAsk an ExpertでAWSのSAの方とお話すればいいのです。

■ログの収集

あふれでるログの収集と管理、エラー時の原因探しにログの解析はやらざるを得ない必須行為です。
この点について壁にあたっている企業が登壇なさっていて

僕は以下の知見を共有させて頂きました。

surumegohan.hatenablog.com

Ask an Expertはオンライン対応をしている

2018年-2019年のコロナ以前の時期、僕はAWS Loft Tokyoにかなり入り浸っていました。

コワーキングスペースとして大変環境が良いことももちろんありましたが
Ask an ExpertコーナーでSAの方々と技術的な話が無料でできる環境が大変ありがったです。

そして現時点では緊急事態宣言は東京都で再発令していることもあり、AWS Loft Tokyoは残念ながら閉鎖状態です。
けれどもAWSのSAの人たちに技術的な相談ができるAsk an Expertは現在オンラインで時間帯を事前予約すれば実施することができるようになっています。

aws.amazon.com

なので、スタートアップあるあるのエンジニアいなさすぎて質問できない問題はここでかなり解決します。
無料ですし。

とか言ってるから
ステマをしている人とか言われるんですけども。
ステマではないです
良いものは良いと話しているだけですよ。
やだなーもー

まとめ

オンラインのコミュニティであるし、聴いているだけでも勉強になるのでタイミングが合う人は覗いてみてもいいと思います。

それと、オンラインになったAsk an Expertもご利用なさっても良いかもしれません。

「AWSではじめるデータレイク」をre:inventも終わった2021年1月に改めて読んだ話(備忘録

f:id:surumegohan:20210124224317j:plain

ごきげんよう

好きなAWSサービスはなんですか?
この「キレイなお姉さんは好きですか?」みたいなやつ
特にAWS関連のイベント類だとなぜか自己紹介スライドに記載することが慣習である。

好きなガンダムシリーズはなんですか?
と聞くと性格がわかるとか言われていた10年くらい前の話に近いような気がする。

ちなみに僕は原点にして頂点であるS3とLambdaである。
そしてQuickSight。
ガンダムはW派。

理由はBIツール地獄に陥ったトラウマから開放されたからだ。
Kibana、Pentaho、、、うっ、、頭が・・・

目次

AWSではじめるデータレイク

はい。
そして今回のお話はタイトルにあるように
AWSではじめるデータレイク
という2020年夏に発刊された本を当時は目を通したくらいだったが
AWSのマネジメントコンソールの画面はころころ変わるし、re:inventが終わった年明けの状況で本書を読むと改めて躓いた箇所などを書いておく。

著者はAWSのソリューションアーキテクトの方々
途中で詰まったので備忘録扱いの記事。

僕のスペック

読者としての僕のエンジニアスペック

  • AWS歴:2年くらい

  • AWS認定:ソリューションアーキテクト – アソシエイト、クラウドラクティショナー

  • 公の登壇経歴:AWS Summit Tokyo 2019、AWS Startup Day Tokyo

まず正誤表に目を通すこと

実際の正誤表は以下にあるのだが、そのページからして誤字っている。

メニューバーのデータレイ「ク」がない。
https://techiemedia.co.jp/books/

また、ポップアップ環境によるかもしれないが

Google Chromeをブラウザにしていると第2部、第3部のハンズオン実行コマンドがダウンロードできない
pdfは問題なし。
ZIPファイルのダウンロードができないが、F12にてソースコードをみてみたらリンクがhttpで対象がzipファイルのためブラウザのセキュリティではじかれている可能性がある。

ひとまずWindowsユーザーなのでEdgeにてダウンロードした。

結論

途中で詰んだ
原因探したいが一旦現時点でブログに記録しておく。

全体を通して良本
AWS学び始めの方から中級者までカバーできる。
しかしながら、もったいないところで★5とは決していえない。

AWS環境におけるデータレイクに対する考え方や実装方法まで丁寧に記載されている。
AWSに直接絡んでいない技術用語にも触れており、より詳しく知りたい人のために巻末に詳細が記載してある。

ただし、手を動かさない人、自分で今行っている作業が何をしているかを考えられない人には不向きである。

目を通しただけでわかった気になると痛い目にあうパターンだが、逆にいえば真面目にしっかりハンズオンも行うことで各種詳細に書かれているので得られるものは大きい。

結論に至った理由

タイトルの通りAWSを用いたデータレイクの考え方とその実施方法を会得することができる

また、データレイクだけではなくデータウェアハウスについても扱っており
例としてAmazon RedShift Spectrumを用いたハイブリッドな構成の記載とハンズオンが描かれいる。

特に

というデータを扱う各種サービスの概要、ハンズオンが一通りまとまっているのはかなり助かる。
ファイルの圧縮による効率化やAmazon RedShiftのチューニングにまで日本語で触れているのはこの本だけではないだろうか。

また、ハンズオンではログデータの分析としてEC2上にWordpressを展開するAWS CloudFormationが提供されている。

ログデータの扱い方は以下のイベントでも議題にあげられており、たまたま僕はこの本を読み終わっていたのと実践済みなのでその点を話すことができた。
※割り込んだ感もあるが。。そしてステマではない。

aws-startup-community.connpass.com

しかしながら、本当にもったいないことに明らかに検証不足や誤植が目立つ
特に詳細フェーズでは著者がMac環境なのだろう。
一部コマンドがWindows環境だと動作しない

AWSマネジメントコンソールの画面は水物であり、仕方がないが現在のマネジメントコンソールの画面と大きくことなるところもある。

なので、この記事を書いている時にハマったところを書いていく。
大きく変わっている画面はスクリーンショットまでとったぞ。

データレイクって何さ

ざっくり言うと
「S3にデータをぶっこんでGlueでととのいてあげてAthenaとかで検索して分析しましょう」

大量データ(S3)を対象に必要な時に必要な形式にデータを生成(Glue)しよう。
Glueでデータをテーブル状にできるので、そこを分析しよう。
データ量がものすごく多いから統計分析や機械学習にも役立つよ。

という考え方です。

■データウェアハウス

データウェアハウスに求められるモノは、毎週きまったSQLを投げるというような定常的にデータを分析する場合や、 複数のクエリを同時並行で実行することなど決まったパターンをパフォーマンスよく扱うことである。

RDBMSとしてPostgreSQLMySQLOracle DBなどは馴染みがる人が多いだろう。

「あー、要するに大規模で分析とかするためのでかいデータベースでしょ」
となる場合もあって、僕も以前はその口であり、PostgreSQLから派生して作られたAmazon RedShiftを使うことが多い。
おそらく大抵の人はそれをデータウェアハウスと呼ぶものです。

けどねぇ。
お高いんですよAmazon RedShiftさん
そりゃあ常時動いてるでかいデータベースなシステムが複数台に渡ってるんだから。
もちろん必要な時は必要だけどさ。

んでもって
少なくとも第一正規形でキッチリと列を定義したデータを扱うのが前提なわけです。

ログデータというものはWebなのかサーバー本体からなのかネットワークなのか・・・種類がたくさんあるわけですよ。
そして必要に応じてデータ形式や分析対象を変えたりすることが必要になる。
それに何かあった時にログを掘る未来からは基本的に逃げられない。
平常運転でも無事に動いているかどうかの確認はするだろう。

だったら、「ログデータはS3に蓄積しておいて、必要な時に必要な形式に変更して(アドホックに)分析しましょうよ」というお話。
言うまでもなくS3はお安いです。

■データウェアハウスと敵対しているわけではない

データレイクがS3、データウェアハウスがRedShiftというわけではなく、どちらも扱い方が異なるという話。

また、データレイクの考え方ではRedShiftのRedShift Spectrum でS3のデータ参照もできる。
RedShiftにデータを蓄積しておいて、データレイクをいう大きな枠組みのなかにデータウェアハウスを含めることもできる。

第1部データレイクの概念と知識

まずは序章~第4章まで

概念の話だが、これだけでもAWSが提供しているサービスや、データウェアハウス、データレイクの考え方が理解できる。

■良かった点

概ね第1章でAWS環境におけるデータレイクを構築時に必要な知識、考え方がまとまっている
初学者にはVPCの考え方などを復習できる良い機会になるだろう。

  • データ分析に必要なAWSの各種サービスの役割がわかる

  • データレイク、データウェアハウスなどの説明の絵や図がわかりやすい

  • データレイクもサービスの一つであり、SLAとして考える大切さ

  • 暗号化やアクセス権限などのセキュリティ面への言及

■イマイチな点

ほとんどない印象。
強いて言うなら、キレイにまとまりすぎていて手を動かさなくてもわかった感に満たされる。

第2部データレイクの実践(基礎編)

基礎とは・・(哲学
この章からハンズオンであるが、基礎といいつつも手順よく行っていくとかなりの知見が得られる

この第2部の画面が大きくかわっている箇所も多く、わかりにくくなっている面がある。
特にBIツールであるQuickSightはAWS CLIで対応というわけにもいかないので、読んでいて現状を記載したほうがいいと思った点を記載していく。

QuickSight

GUI・・というかQuickSightに関してはかなり画面が変わっている。

■ようこそ画面

ようこそ画面から書籍と異なる
誰に歓迎されているか戸惑うかもしれないが間違っていないので安心して欲しい。

f:id:surumegohan:20210124144047p:plain
ようこそ画面から別物

f:id:surumegohan:20210124152937p:plain
最初の画面からしてまったく別物

リージョンについては以下に箇所に隠れている。

f:id:surumegohan:20210124154358p:plain
リージョン選択箇所のありか

「新しい分析」は本書と左右逆の位置に移動している。
よく見ればわかることではあるが。

f:id:surumegohan:20210124154542p:plain
新しい分析

■QuickSightの分析画面内での変化

SageMakerと統合

2020年6月1日にQuickSightとSageMakerの統合が発表されている。

aws.amazon.com

この本は同年7月が発行なので致し方ないが、SageMakerとの連携によって予測分析ができるようになったのは嬉しい。
以前から使うには使えたがβ版当時の僕は不具合を引いてしまった。

f:id:surumegohan:20210124155317p:plain
SageMakerとの統合

■項目名の変更

項目名の変更操作も変更がなされている。
右クリックの必要がある。地味に気づきにくい。

項目名の変更については以下の流れになる。

f:id:surumegohan:20210124155619p:plain
項目名の変更は右クリック

f:id:surumegohan:20210124155726p:plain
フィールドを編集

f:id:surumegohan:20210124155820p:plain
項目名の変更後

■終了日のコントロールを追加

enddateの▼からコントロールの追加を押す必要がある。
ここも隠れているので注意。

f:id:surumegohan:20210124160216p:plain
コントロールの追加

f:id:surumegohan:20210124160306p:plain
終了日の入力

ところが、終了日を2015年にしてみたら反映されなかった。謎い解決しなかった。。。。。

f:id:surumegohan:20210124160420p:plain
反映されない?

■output用のバケットが必要

7章のAthenaの章でつまづく。
inputのバケットを作成している手順だが、Athenaの実行後出力先としてoutputのバケットも作成しておく必要がある

f:id:surumegohan:20210124161028p:plain
出力先のバケットの作成

■スキャン対象のデータ量が減った?

Athenaエンジンが2になった影響からだろうか。
それともS3側も結構変わったからだろうか。

SELECT文の結果、スキャンして得たデータの件数は書籍と一致するがスキャン対象が削減され、スキャン速度が早くなっている

f:id:surumegohan:20210124161241p:plain
スキャン対象の容量が減少している

■8章のスキャン結果に差異

S3が暗号化をしやすい画面に変わっていることと、S3そのものが改良されたからか書籍とAthenaの実行結果が異なる。

書籍のデータ クエリ実行時間 スキャン容量
chap8_input 5.45s 1.1GB
chap8_output 4.57s 50.07MB
chap8_output_with_pertition 2.28s 18.72KB

※P228 表8.2から引用

今回試した結果

試した結果 クエリ実行時間 スキャン容量
chap8_input 4.83s 1.02GB
chap8_output 2.11s 48.35MB
chap8_output_with_pertition 2.7s 36.57KB

多少のずれは致し方ないが、データ変換を行ってからのクエリ実行時間が4.57秒から2.11秒まで減っていて、かつ、その後に実施するパーティション分割を行った値とほぼ同じになった。
そして、逆にパーティション分割を行うとスキャン容量がほぼ2倍に増えている。

やはりAthenaかS3に改編があったのだろうか。
それともGlueが生成するデータに変化が?

もちろん、スキャン容量と実行時間を減らしていく検証の章なので、ギガ→メガ→キロに減っていっていることに変わりはないが。。。

■S3 SELECTが隠れた

9章でRedShiftとS3を連携する際に、S3 SELECTを行う必要があるが、S3の画面は大きく変わったため隠れている

f:id:surumegohan:20210124163640p:plain
S3 SELECTのありか

第3部データレイクの実践(応用編)

第3部はAWS CLIを用いていく。
書籍はVersion1、最新版はVersion2となっている。

どちらか悩んだが、現場のエンジニアの方々がVersion1を使い続けているとのことで1で実施した。

■コマンド入力にて引っかかるところ

以下のしょっぱなから引っかかるので注意。

$ mkdir -p datalake-book-workdir/chapter10/

単純に -p が不要である。
Macだと必要になるオプションだが、Windowsだとこのオプションは強制実行されるのでむしろ書いてはいけない。

C:\Users\hoge\fuga\AWS\command>mkdir -p datalake-book-workdir/chapter10/
コマンドの構文が誤っています。

と怒られるので

C:\Users\hoge\fuga\AWS\command>mkdir "datalake-book-workdir/chapter10/"   

とすること。

愚痴。
こういうのがあるから検証をしろとイベント類のハンズオン資料でもあれほど・・・
徹夜する羽目に・・・
初心者歓迎というイベントを開いてハンズオンをするのに、なんでWindowsユーザーを考えないんだ。
仕事用PC もしくは普段からWindowsユーザーが集まることは想定できるでしょうが。

次に

$ aws glue create-crawler --name webserver_apache_access --database lake-fishing --role GlueServiceRole --targets '{"S3Targets":[{"Path":"s3://[bucket_name]/apache_access"}]}' 

これもがっつり引っかかる。 Glueのドキュメントとか読んだり、JSON構造を引数にしているか何度も確認したが、エスケープシーケンスが必要だったというオチ

$ aws glue create-crawler --name webserver_apache_access --database lake-fishing --role GlueServiceRole --targets {\"S3Targets\":[{\"Path\":\"s3://[bucket_name]/apache_access"}]}'

となる。

■ライフサイクルルールを作成する

S3バケットのライフルールを作成する画面が大きく変更されている
S3に移行する際に気をつける。

f:id:surumegohan:20210124170605p:plain
S3のライフサイクルルールの設定画面1

f:id:surumegohan:20210124170638p:plain
S3のライフサイクルルールの設定画面2

P309にてライフサイクルルールを作成刷る際にジョブの編集の方法が大きく変わっている。 ただ、書籍のバージョンはもっとも古いバージョンを選択することになる。

f:id:surumegohan:20210124170941p:plain
ジョブの編集

■Lake formation Blueprintsのカタログ

軽微な誤字がある。

[lake-fishing【を】]

と、閉じカッコの位置がずれている。

そして・・・8つのカタログが・・・でき・・ない!!?

12.2章で行き詰まった・・・・

まとめ

行き詰まったところは、後日対応します。。
というか行き詰まっていいのか・・?

ただまぁ、誤字や誤植が散見されるけれどもデータレイクの考え方とAWSの各種サービスの使い方をハンズオン形式で学べるのは良い。