プログラマでありたい

おっさんになっても、プログラマでありつづけたい

『AWSコンテナ設計・構築[本格]入門』の監修しました

 あまり宣伝できていなかったのですが、監修していた『AWSコンテナ設計・構築[本格]入門』が2021年10月21日に発売されることになりました。AWSのJapan APN Ambassadorsである新井雅也さん(@msy78)と、同じくAPN AWS Top Engineersである馬勝淳史さん(@HorseVictory)の力作です。

※ただし、ちゃんとした書影はまだない。 2021/10/04現在

AWSコンテナ設計・構築[本格]入門は、どんな本?

 まず『AWSコンテナ設計・構築[本格]入門』とは、どんな本なのでしょうか?入門と言いつつ本格とも入っています。このあたり、出版社の悩みと意気込みが込められていると思います。通常、初心者向けの本だと入門となります。そして、中級者向けだと実践などになります。本書は中級・上級レベルの方にも充分新たな学びを得られる内容が込められているのですが、一方でこれからコンテナを始める人に対しての取っ掛かりとなるような本です。ということで、[本格]入門となります。ちなみに書籍のタイトルについては、出版社の専決事項となるので、具体的にどういう経緯だったのかは私も知りません。

AWSコンテナ設計・構築[本格]入門の章立て

 さて、『AWSコンテナ設計・構築[本格]入門]』の章立てです。本書は5章+付録の構成となっています。

  • 第1章:コンテナの概要
  • 第2章:コンテナ運用に必要な AWSの基礎知識
  • 第3章:コンテナを利用したAWSアーキテクチャ
  • 第4章:コンテナを構築する(基礎編)
  • 第5章:コンテナを構築する (応用編)
  • 付録1 AWSサービスの説明
  • 付録2 AWSアカウントの作成と設定
  • 付録3 ECSへアプリケーションをデプロイする多様なツール
  • 付録4 作成したリソースの削除

 まず1章・2章で、コンテナとAWSの基礎知識を要点を絞って解説しています。合せて40ページ弱くらいですが、コンテナの概要から構築・運用上重要なポイント、さらにコンテナ構築・運用に関わるAWSサービスの解説がなされています。上手く解説されているのでコンテナとAWSを知らない人にはもちろん有益ですし、ある程度知っている人にとってもこのように説明するのかと新たな気付きがあるでしょう。
 次の3章ですが、これが圧巻です。AWS上でコンテナを作る場合のアーキテクチャを、運用・セキュリティ・信頼性・パフォーマンス・コストの5つの観点で、どうあるべきかを設計&解説しています。5つの観点という時点でAWSに慣れている人は、Well-Architectedフレームワークに沿っていると気がつくのではないでしょうか。Well-Architectedフレームワークとは、AWSが長年培ってきたクラウド上でシステムを構築・運用する上でのベストプラクティスです。その考え方に基づいて、AWS上でのコンテナ構築・運用のベストプラクティスに昇華させたのが本書になります。ほんの一例ですが、例えばログの取得について。AWSの場合だと、CloudWatch Logsがデフォルトで提供されている機能になります。ただCloudWatch Logsは毎月200GBコストのログで月あたり約150ドルくらい掛かり、コストが課題になることが多いです。代替の構成として、Firelensで提供されているFluent Bitをサイドカー構成で利用することが提案されています。この構成を取ることで、コストを抑えることが可能になります。このいった感じでどういった構成を取るのか、またその構成のメリット・デメリットは何かと一つ一つ丁寧に解説されています。アーキテクチャ設計をする上では、何故その構成なのかを説明できることが大事です。3章を読むことにより、コンテナ設計の考え方が身につくでしょう。
 4章・5章がハンズオンになります。3章のアーキテクチャを元に基礎編と応用編にわかれて手を動かすことで、段階的にレベルアップすることが可能となっています。よくあるハンズオンとしては、対象のサービスが動くところまでを目的とすることが多いです。それに対して本書のハンズオンは、コンテナが動く環境を作ることはもとより、実践的に使えるようにセキュリティ上の対策や運用監視設計の仕方まで解説しています。ここ読めば、本当に実践的な環境を構築できるようになっています。そして、コンテナの実運用にはCI/CDが欠かせません。応用編としてCodeシリーズを活用したCI/CDのパイプラインの構築まで解説されています。ちなみに新井さん&馬勝さんのお二方は、『比べてわかる!IaCの選びかた 〜クラウドネイティブIaCストーリー〜』というCI/CD本も出されています。めっちゃ納得感あるでしょう。
 あとは付録として、本編で紹介しきれない様々な情報も補足して解説しています。AWSアカウントの開設から、ハンズオンで利用したリソースの削除方法まで網羅している親切設計です。
※2021/10/19追記 付録についてはページ数の都合上、なくなく削除しました

著者である新井さん&馬勝さんについて

 著者の新井さんと馬勝さんは、野村総合研究所に所属するエンジニアです。冒頭に紹介したとおり、AWSのアンバサダーであったりTop Engineerでもあります。更に新井さんは、JAWSUGコンテナ支部のコアメンバーでもあります。業務システムにも精通し、AWSとコンテナにも詳しいスーパーマンのような人たちです。私も同じグループのご縁で、イベントや飲み会に何度も同席させて貰っています
 業務やコミュニティでの活動以外に、技術同人誌の執筆にも取り組んでいます。同じブースや近くのブースで出展していた事があるのですが、特にクラウドネイティブファーストストーリーの人気は高く、電子書籍はすでに買ったけど物理本が欲しいと買い求められる光景をよく目にしました。

booth.pm

booth.pm

AWSコンテナ設計・構築[本格]入門の誕生の経緯

 折角の機会なので、『AWSコンテナ設計・構築[本格]入門』の誕生の経緯も紹介しておきます。この本は、2020年2月29日に開催予定だった技術書典8に発表された『クラウドネイティブファーストストーリー』が下敷きとなっています。技術書典8は当初物理開催を予定されていましたが、新型コロナの影響で急遽オンライン開催のみとなっていました。それにも関わらず、『クラウドネイティブファーストストーリー』は大人気を博し、インプレスR&Dの技術の泉シリーズから、『AWSで学ぶクラウドネイティブ実践入門』としてKindleならびにオンデマンドペーパーブックとして発売されています。その後、SBクリエイティブさんの馴染みの編集者さんに佐々木を介して書籍化の相談をしておりました。企画の方はトントン拍子で進み、執筆スタートと相成りました。
 実は佐々木の方も筆者で参加するかという話もあったのですが、ことコンテナに関して言うと二人の方が圧倒的に知識も経験もあるので、遠慮させていただきました。ただご厚意で監修として名前を連ねさせて頂いています。原稿を格納しているGitHubでの活動履歴や、たまに物理的に会った時に状況を聞いておりましたが、恐ろしいほど推敲された原稿となっています。その上で、コミュニティ界隈のコンテナやCI/CD周りの有識者に原稿のレビューも重ねていたようです。ぜひ本書を手にとって、そのクオリティを確認してみてください。
 ちなみに、技術書典8は『チームになったササキです』というサークルとして出展し、新井さん&馬勝さんの『クラウドネイティブファーストストーリー』と@tenbo07さんの『AWSを使って学ぶ 監視設計』、高柳さんの『認証サービスCognito・Auth0・Firebaseを比べる』と私の『AWSの薄い本Ⅱ アカウントセキュリティのベーシックセオリー』が発表されていました。どの本もBoothの技術書典8で上位にランクインしており、もし物理開催していたらパンクしていたんじゃないかという気がします。

まとめというか感想

 最近、本書のように自身で執筆するより、オーガナイザーとして執筆をサポートする事の方が多くなっています。というのは、執筆の時間を確保するのが難しくなっている点と、周りの若者にどんどん優秀な人間が出てきていて、自分で執筆するより良いものができるようになっているからです。もし私が新井さん&馬勝さんと同じ時間を掛けても、二人が書いたコンテナ本よりクオリティの高いものは書けません。同様にAWS認定試験対策本や、他の本でも同じような状況になりつつあります。
 若者が台頭していた今、じゃぁ自分はどんな付加価値を出せるのかと、改めて考え直さないとと自問自答するようになっています。自分の生存戦略が心配になるほど出来の良い一冊なので、是非読んでみてください

もう知らないでは済まされない。デジタルアイデンティティを読んだ感想

発売日に買ったものの、積ん読にしてしまっていたデジタルアイデンティティを読みました。いや、これ本当に良いので、ITに携わる人も、ビジネスをしている人も、まず読んでみましょう。

f:id:dkfj:20210913091702j:plain

著者の崎村さんについて

 まず最初に書籍レビューの公平性の観点から、著者の崎村さんと私の関係について説明しておきます。崎村さんは、元野村総合研究所上席研究員で、私が小僧の時に少しだけ同じプロジェクトに参画していたことがあります。当時からとてつもない天才で、何気なく呟いている問題意識や関心事項の殆どが理解できませんでした。自分もある程度経験を積んで、10年ほどして当時この事を言っていたのかとようやく理解できたと言う事が度々あったという次第です。そんな事もあって、ブログTwitterをずっとフォローして、今の関心領域は何なのか参考にさせて頂いています。ということで、公平性の観点ではかなりバイアス掛かっていますので、それを前提としてお読みください。
 崎村さん自体の経歴としては、Wikipediaにまとめられているとおり世界で活躍しています。特にOpenID Foundationの理事長でもあり、OpenID ConnectやJWT、JWS、OAuth PKCEなど認証に関わる様々な規格の策定者でもあります。あと国内の政府関連検討会にも、随分参加されているようです。

本書について

 本書は、9章構成です。前半のアイデンティティとは何かから始まり、それをデジタル上で扱うための規格の一つである「OpenID Connect」と「アクセス制御」の実際的な概念と紹介と続いていきます。アイデンティティの基本的な概念の解説が終わった後の5章以降で、具体的な課題と解決策についての解説と続いています。

第1章 GAFAの中心戦略「デジタルアイデンティティー」
第2章 アイデンティティー管理
第3章 アイデンティティー連携フレームワーク「OpenID Connect」
第4章 アイデンティティー管理によって可能になる「アクセス制御」
第5章 企業にとってのアイデンティティー管理
第6章 高度化するアイデンティティー管理
第7章 プライバシー保護とアイデンティティー管理
第8章 個人情報の取り扱いにおける「告知」と「同意」
第9章 信頼、ブランド、そしてトラストフレームワーク

 内容については、私が誤って伝えると困るので、本書を読んでくださいで済ませておきます。

気になったところを、ピックアップして紹介

 本書を読んでいて幾つか心に響いたところがあります。読んでいるうちに、付箋だらけになりました。その中の幾つかピックアップして紹介しておきます

アイデンティティー管理をする理由3 生産性の向上

 AmazonもGoogleも、最初はそれぞれのサービスごとに認証のシステムを作って密結合の一枚岩だった。ビジネスの急成長に追いつかなくなって、疎結合のマイクロサービス化していったそうです。その際にアイデンティティー管理の仕組みも独立させていったとのこと。個々のシステムでアイデンティティー管理を実装するのは非効率なのは間違いないですが、生産性向上に寄与する説明として、この説明の仕方は簡潔かつ解りやすくて良いですね。

ユーザー認証の種類と対策の変遷

 ユーザー認証の種類の整理とその変遷が上手くまとまっています。メールアドレスとパスワードによるログインから、リスト型攻撃やパスワードスプレー攻撃の出現。それに対応するための最近の認証方法のトレンド。実際にWebシステムを運用している人は実感できると思いますが、ちょっと大きなサイトになるとリスト型攻撃といのは頻繁に受けるのが今の世の中なんですね。自分のところを幾ら堅牢にしていても、全く別の人が作っているシステムでIDとパスワードが漏れてしまったら影響を受ける恐れがあります。世の中、同じIDとパスワードを使いまわす人が、思った以上に多いのです。なので、それ以外の対策が必要ですよね。

収穫逓増と収穫逓減からみる産業革命

 第1次産業革命から今の第4次産業革命まで。収穫逓増と収穫逓減や銀行の制度と投資資金の観点からの解説。成功したところには、仕組み的な優位性があったのだよなぁと納得ができます。

トークン≒乗車券(コイン・切符)

 OpenID Connectなどの認証の流れを解説する際に、必ずトークンが出てきます。ただ、これを説明していても腹落ち感が無いよなぁと思っていました。本書でトークンとは(海外で)電車に乗る際に使うコインだという説明がありました。日本だと切符ですね。この説明でトークンについて、まとめて説明できることが解りました。トークンは認証ではなく、認可を受けていることを表すこと。そのトークンが他人に奪われることの危険性とか。

契約の同意の課題について

 サービスの利用規約や個人情報の提供の同意についての課題感。その前提としては自由意志が必須なので、ゴッドファーザーのドン・コルレオーネのように銃を突き付けて断れない状況の同意は、本来有効ではないと。これに関していろいろな事例やどうあるべきか。ここは是非読んでみてください。

ブランドとトラストフレームワークについて

 なぜブランドに意味があるのか。ブランドの効力を分解して、仕組み的に再構築したトラストフレームワークについて。ここの理解はビジネスを考える上で必須です。

感想

 デジタルアイデンティティを一通り読みましたが、おそらく理解度としては40%くらいです。この後も何度か読み返そうと思います。情報は一次情報にあたれと言われますが、実際には一次情報を読み解くのはなかなか困難です。OpenID Connectの規格など一次情報を作り出している本人の解説なので、1次情報の解りにくさを回避した上で正確な情報を知ることができます。いつかハウツー本じゃなくて、こんな本を書けるようになりたいなと絶望しながら終わりとします。

光回線難民のまま、オンライン授業を迎えることになったので、携帯回線で迎え撃つ準備をした

 最近、引っ越しをしました。(3年ぶり10回目)
半年以上も前から予定していたので、引越し前の光回線の準備もバッチリですというはずが、まったく間に合いませんでした。3ヶ月前に申し込んだのに、開通まであと3ヶ月かかりそうな気配です。引っ越し決めた瞬間に申し込んでおくべきと後悔しています。ということで、現在光回線難民です。かつ、ほぼ在宅ワークです。更に、子供二人のオンライン授業が始まりました。結果、絶賛ギガ不足で新生活が始まることになりました。とうことで、携帯回線での通信環境の整備について、ブログでまとめてみます。
 まずは、在宅ワーク&オンライン授業での通信量の目安について検討した上で、我が家のネットワーク構成、次に緊急避難的に対応したプランA、ダメそうなので次にとったプランB、幻のプランCを説明していきます。

在宅ワーク&オンライン授業の通信量の目安

 まず在宅ワークやオンライン授業をしていると、どれくらいの通信量になるのでしょうか?ここでの一番のポイントは、ZoomやTeamsなどでのWeb会議を使っているかどうかです。家の子の小学校では、オンライン授業でZoomを使います。で、このWeb会議が曲者です。めっちゃ通信量が増えるのです。ツールや顔出しのありなしによって前後しますが、だいたい1時間あたり700MBから1GBが目安です。一日何本もWeb会議をしていると、あっという間に通信量が増えますね。あと在宅ワーク&オンライン授業以外にも、通信量が跳ね上がる要因があります。そうです。NetflixやAmazonプライムによる動画配信サービスです。これも、だいたい1時間に700MBくらいが目安です。
 私一人が在宅ワークしていた時の一日あたりの通信量は、だいたい1日5〜6GBだったようです。ここに子供2人の通信量が加わることにより、+4GBくらいの余力が必要になってきます。

佐々木家のネットワーク構成

 携帯回線の試行錯誤を説明する前に、我が家のネットワーク構成を説明しておきます。そんな御大層なものではないですが、Nuro光が提供するルーターの機能は一切使わずに、その直下にGoogleのNest Wifiでメッシュネットワークを作っています。すべての機器は、Nest Wifiに接続しています。画面でみると、こんな感じです。

f:id:dkfj:20210905142852p:plain

 つまり上位のインターネット接続がNuro光だろうがWiMAXやその他の携帯回線だろうが、家の中の機器は一切影響されないようになっています。Google Nest WifiにLANケーブルで接続できれば大丈夫です。逆にいえば、SIMを入れる端末は、ホームルーターと呼ばれるLANの口が必要になります。後述しますが、WiMAXのホームルーターもしくは楽天モバイルのRakuten UN-LIMIT VIプラン用のルーターを設置し、そのどちらかとGoogleのWi-Fiをつないで運用しています。
※もっとちゃんとしたところに設置したいのですが、WiMAXの電波の関係で窓際においています

f:id:dkfj:20210905180140j:plain

プランA UQ WiMAX

 最初に選んだのがUQ WiMAXです。使いたい放題の携帯回線系のサービスというえば、WiMAXという印象でした。一口にWiMAXといっても複数の会社がサービスをだしています。日本の場合は、UQ WiMAXがオリジナルで後のはOEMとしてUQ WiMAXの施設を借りて運営しているようです。容量無制限とうたっていますが、3日間で15GBの制限があります。また選択可能な端末として、ホームルータータイプの端末が多数用意されています。私は最新のSpeed Wi-Fi HOME 5G L11を選びました。家の近所に店舗があるので、即日利用できるのもポイントでした。

www.uqwimax.jp

 1日5GB利用できるのであれば何とかなると考えていたのですが、子供のオンライン授業開始で敢え無くプランは崩壊しました。窓際で利用すると平均50Mbps程度でるのですが、部屋の中の方で利用すると10Mbps以下に落ち込みます。通常の携帯の電波より遮蔽物に弱いので注意が必要です。それ以外は特に不具合はなかったので、制限超えたら課金で回避みたいなオプションがあれば良かったのですが、無いのが残念です。また解約料が1,000円というのもポイント高いです。

プランB 楽天モバイル Rakuten UN-LIMIT VI

 UQ WiMAXと同時に検討していたのが、楽天モバイルのRakuten UN-LIMIT VIです。これは主に携帯電話向けの回線ですが、料金プランに特徴があります。料金テーブルが段階制で、利用容量に応じて料金が決まります。また、1回線目のみ1GB未満は無料という特徴もあります。

通信量 料金
1GBまで 0円/月
3GBまで 980円/月
20GBまで 1,980円/月
20GB以上 2,980円/月

 また楽天回線エリアの場合だと、1日の利用上限は10GBとなっています。10GBあれば、たぶん勝てます。また使わなければ、1回線目無料という特性を考えれば、デフォルトで2回線を申し込んでおいて、普段は2回線目を利用しておき、いざという時に1回線目を使うことにより10GBの壁を20GBの壁に変えることができます。精神的安定に寄与しますね。

network.mobile.rakuten.co.jp


 ただ楽天モバイルの問題は、申し込める端末がスマホもしくはモバイルWi-Fiのみということです。楽天ではSIMだけ申し込んで、別途SIMを挿し込めるホームルーターを購入する必要があります。現時点では、I/OデータのWN-CS300FRが定番となっているようです。私も購入しましたが、作りが少し粗いです。


 気になる楽天モバイルの通信速度ですが、10〜20Mbpsというところです。特段速くないけど、不満を抱くほどでもないといったところです。ただし、繋がり始めが遅いような気がするのですが、このあたり詳しい人がいたら、教えていただきたいです。

プランC

 最後に、今の所発動していないプランCとして、2021年8月27日にサービス開始となったドコモ5G Homeがあります。実はこれが本命なんじゃないかと思いつつ、一点気になる部分があったので保留にしました。

www.nttdocomo.co.jp

 気になる部分としては、通信量に関する注意書きです。

ネットワークの混雑状況により、通信が遅くなる、または接続しづらくなることがあります。また、当日を含む直近3日間のデータ利用量が特に多いお客さまは、それ以外のお客さまと比べて通信が遅くなることがあります。なお、一定時間内または1接続で大量のデータ通信があった場合、長時間接続した場合、一定時間内に連続で接続した場合は、その通信が中断されることがあります。

 おそらく原則的には利用量制限はないのだと思います。そのうえで、よっぽど利用量が多い場合に制限するためのエクスキューズだと思います。ただ、この閾値がわからないのは、利用者側としては怖いです。楽天モバイルが使い物にならなかったら検討しようと思ったのですが、今の所は大丈夫です。サービス開始直後で情報がないので、見合わせました。あと、ホームルーターが実質4万円と結構お高いです。

まとめ

 いろいろ試行錯誤してお金も使いましたが、今の所は何とかなっています。ただ、楽天モバイルの回線品質については、もうちょっと使い込んで見極めたいので、WiMAXの回線ももう少し残しておく予定です。そして光回線がきて不要になったら、ホームルーターは売り払う予定なので、箱は大切に保存しています。
 しかしまぁ、世の中には自前の光回線を導入できない家も多数あると思います。その家庭がそれぞれ、今回のような試行錯誤ができるとは思えません。また、我が家は楽天回線エリアでもあるし、WiMAXも入ると、条件面の良さもあったので助かっています。それを考えると、オンライン授業の課題は、今後もっと表面化してくるんじゃないかなと思います。少しづつ解決していくしかないのでしょうが。。。

データ分析基盤の薄い本を書きました

 AWSの薄い本のシリーズとして、データ分析基盤の薄い本を書きました。2021年6月19日に開催された第5回技術書同人誌博覧会で頒布も行っており、Boothでの販売もはじまっております。

f:id:dkfj:20210624002918p:plain

内容

 前2作は、IAMとアカウントセキュリティという同一テーマを題材としておりました。今回は、少し趣向を変えてデータ分析基盤の設計の考え方をテーマとしております。また前2作は、ともに100ページ超えと技術同人誌としては少し分量が多かったのですが、今回は50ページくらいに抑えております。そのページ数なので網羅的には書けないので、設計の考え方に絞っています。また、設計のすべての要素を挙げるというより、自分がデータ分析基盤を作る上で何を考えているのか、ポイントを絞って書いています。今まで少し気負って書いていたのですが、今回は好きなように書かせて頂きました。お陰で執筆時間は、おそらく過去最小です。

構成

 構成としては7章構成ですが、最後の7章はとってつけたまとめなので実質的には6章構成です。1章のデータ分析の隆盛という能書きから始まって、2章のデータ分析基盤の全体像と構成要素と入っていきます。そして3章で、一番伝えたかったデータレイクとDWHの分離、データレイクの階層構造について解説しています。後は、データ分析基盤を設計する上で避けては通れない個人情報の扱いと、ETL処理、そしてアクセス制御について、それぞれ4〜6章で書いています。

 設計編ということで、具体的なサービスの設定方法については一切書いていません。またAWSのサービスとマッピングしているものの、それぞれのサービスの記述も最小限なので、Google CloudやAzureを使う人たちにも参考になるのではと思います。AWSの薄い本ではなく、単なるデータ分析基盤の設計本として出そうかと思っていたくらいです。しかし、勝手知ったるAWSとマッピングさせながら書いた方が書きやすいので、AWSの薄い本としました。

次回作

 もともと3作目は、AWS Organizationsまわりを書くと宣言していたものの、ちょっと寄り道してデータ分析本を書くことになりました。Organizationsは必ず片付けたいテーマなので、機会をみて完成させます。また自分の中でETLの実装部分について深堀りしたいというのがあるので、そちらも手を付ける予定です。データ分析基盤の実装編とすると色々書かないといけないので、ETL編くらいとして書こうかなという算段です。一方で、それでもGlueについて書くと、なかなか大作にならざるを得ないと戦々恐々としています。
 今回、50ページくらいに抑えたことで、良いペースで書けました。気分的にも楽だったので、100ページ以下のもちょくちょく書いていこうかなと思います。昔話とかうんちく話も書いてみるのも面白そうですね。

技書博について

 最初の頒布を行った技書博については、参加者としても出展者としても初参加でした。緊急事態宣言下ということもあり、参加者を大幅に絞られた中での開催でした。会場は参加者より出展者とスタッフの方が多いんじゃないかというくらいだったのですが、それはそれで良かったです。ブースに来ていただいた方々とゆっくり話せましたし、他のブースを巡って少し挨拶をすることができました。これくらいの密度のイベントもいいなぁという感想です。主催者やスタッフの方々、ありがとうございました。

まとめというか感想

 最近、忙しくて何をやっているか解らない状態でした。仕事とプライベートとも忙しく、かつ複数の本の企画が進んでいて、一つ一つが何も進んでいないというオーバーコミット状態です。そんな中で、一つの成果として薄い本を出せたのは、自分の中でも達成感がありました。いろいろ残っているものも、まとめて進めていくぞというやる気が出てきたので頑張ってみます。

booth.pm

目次

はじめに
 本書の目的
 対象読者
 本書で得られること
 本書で得られないこと
 お問い合わせ先
 免責事項

第1章 データ分析基盤が必要とされる理由
 1.1 加速するデータ活用
 1.2 ビッグデータとデータ活用
 1.3 データ分析とクラウド
 1.4 データ分析の⺠主化

第2章 データ分析基盤の全体像と構成要素
 2.1 データ分析基盤の定義と全体像
  2.1.1 データレイク
  2.1.2 ETL
  2.1.3 DWH
 2.2 データの内部構造による分類
  2.2.1 構造化データ/半構造化データ/非構造化データ
  2.2.2 構造化に伴う情報の切り捨て
 2.3 データレイク
  2.3.1 データレイクとは?
  2.3.2 AWSにおけるデータレイクサービス
 2.4 DWH
  2.4.1 DWH とは?
  2.4.2 AWSにおけるDWHサービス
 2.5 ETL(Extract/Transform/Load)
  2.5.1 ETLとは?
  2.5.2 AWSにおけるETL

第3章 データレイクと DWH のアーキテクチャ
 3.1 よくあるデータ分析基盤の課題
  3.1.1 DWHだけで運用していて自由度が低い
  3.1.2 必要最低限のデータのみ蓄積され、他の分析ができない
  3.1.3 個人情報の取り扱い方針の問題で使いにくい
  3.1.4 分析を変更するたびに、外部ベンダーに依頼する必要がある
 3.2 データレイクとDWHを分離する
 3.3 データレイクの3層構造
  3.3.1 RAWデータレイク
  3.3.2 中間データレイク
  3.3.3 構造化データレイク
 3.4 データレイクを3層構造にすることのメリット
  3.4.1 RAW データが残っているので、観点が変わっても分析し直せる
  3.4.2 中間データレイクがあると、様々な結合が容易にできる
  3.4.3 構造化データレイクに対して、直接クエリーで検索できる

第4章 個人情報と加工方法と保持戦略について
 4.1 個人情報とパーソナルデータの定義について
  4.1.1 個人情報
  4.1.2 パーソナルデータ
 4.2 個人情報の加工について
  4.2.1 匿名加工情報
  4.2.2 匿名加工の方法
  4.2.3 仮名加工情報
 4.3 データ分析基盤における個人情報の扱い
  4.3.1 個人情報の取り扱い戦略
  4.3.2 ノーガード戦略
  4.3.3 全部入り戦略
  4.3.4 全部なし戦略
  4.3.5 分離パターン戦略
 4.4 項目加工のパターンについて
 4.5 まとめ

第5章 データ加工について
 5.1 ETL処理のパターン
  5.1.1 ETL
  5.1.2 ELT
  5.1.3 データプレパレーションツール
 5.2 ELTの実装
  5.2.1 UPSERTとは?
  5.2.2 Athena における Upsert 的な機能の実装方法
 5.3 GUIによるデータ加工について
  5.3.1 データプレパレーションツール
  5.3.2 加工とデータの所在について
  5.3.3 データ加工の場所
  5.3.4 データの連携方法
  5.3.5 どのパターンが良いか?
  5.3.6 クラウド事業者が提供するデータプレパレーションツール
 5.4 データ加工のまとめ

第6章 アクセス制御
 6.1 アクセス制御の種類
 6.2 権限ベースのアクセス制御
  6.2.1 原則的に人に対して S3 へのアクセス権限を与えない
  6.2.2 バケットレベルのアクセス制限を IAM で制御すべきか?
  6.2.3 サービスやプログラムへの権限付与
 6.3 リソースベースのアクセス制御
  6.3.1 経路の限定
  6.3.2 サービスの限定
  6.3.3 SSEKMSによる暗号化を検討する
 6.4 テーブルで分離or列レベル

第7章 まとめ

あとがき
 著者紹介
 既刊一覧

AWS認定データベース – 専門知識の試験対策本を書きました&販売開始です

 Twitter等で告知していたものの、ブログで告知できておりませんでした。AWS認定データベース 専門知識の試験対策本を書き、2021年6月17日発売開始しています!!

試験対策本の内容

 本書は、サービスカットとソリューションカットの両建てで、試験範囲の解説をしています。最初の1章で、AWS認定試験の概要と試験勉強の仕方、教材についての説明をしています。2〜6章がメインで、2〜4章はサービスカットでそれぞれのデータベースサービスの解説をしています。5・6章はソリューションカットで移行や監視、セキュリティなどについて、どのように対応するのか考え方をまとめています。そして7章でWell-Architectedについては、AWSの設計の基本的な考え方を紹介しています。データベースの観点から、W-Aのそれぞれの柱がどのように関係するのか解説しています。最後はお約束の問題の解き方と、練習問題です。前回のセキュリティ対策本も練習問題と解説の評判は高かったのですが、今回はそれ以上のクオリティと自負しています。練習問題は、小西さんが担当です。もうプロの域ですね。(何の?)

■目次
第1章AWS試験概要と学習方法
第2章RDBデータベースサービス
第3章NoSQLデータベースサービス
第4章その他のデータベースサービス
第5章展開および移行
第6章監視、トラブルシューティング、セキュリティ
第7章AWS Well-Architected
第8章練習問題

 ちなみに、お勧めの勉強方法のところに、JAWS-UGも挙げています。一人で試験勉強しても、なかなかモチベーションを維持するのは難しいです。そんな時は勉強会に参加して、凄い人を見つけたり自分と同じように学び始めた人と出会うことでモチベーションが湧いてくると思います。お勧めです。

f:id:dkfj:20210618003258j:plain

著者について

著者については、前回のセキュリティ対策本に引き続き上野さんと小林さん、そして今回新たに小西さんが参画しています。みんな会社の同僚です。上野さんは、2020年のAWSのAPN AmbassadorおよびTop EngineersかつALL AWS Certifications Engineerという長い肩書を持ってます。要は、AWSの認定試験12種全部持ってアンバサダーにも選ばれているという実力者です。AWSの認定試験を受けだして、2年かそこらくらいで全部取ってしまっているのが脱帽です。あと、情報処理試験の高度も、ほとんど持っています。
 小林さんは、情報処理試験の高度をコンプリートしているという世にも珍しい人です。なんだか知らないけど、半年ごとに資格を取っていってあっという間にコンプリートしていました。そして2020年度にAWS認定試験の取得を再開し、あっという間に全部とってしまいました。私より早く全冠達成したらマグロの解体ショーを奢ると約束したのですが、あっさりと追い抜かれて達成していました。私はあと残り1つで、小林さんは残り3つ。大丈夫かなと思っていたら、1日に3つとって、あっさりと追い抜かれてしまいました。どこかで約束果たさないと。。。ちなみに小林さんは、イラスト図解式 この一冊で全部わかるWeb技術の基本のメインの著者です。販売開始してもう4年ですが、未だに凄い勢いで売れ続けています。小林さんも、Top EngineersかつALL AWS Certifications Engineerです。

f:id:dkfj:20210618002959p:plain

 そして小西さん。小西さんも、Top EngineersかつALL AWS Certifications Engineerです。そして、Amazon Web Services パターン別構築・運用ガイドの共著者でもあります。最近、執筆活動を再開して、この本以外にもいろいろ一緒に動いています。小西さんは、おそらく筆者4人の中で一番網羅的に仕様を把握しています。練習問題を中心の執筆ですが、そこから各章に記載内容の整合性を取るといった形で司令塔のような働きをしてくれました。ありがたい。

 最後に私ですが、最初の1章を担当しました。他のメンバーの執筆のやりとりみながら、みんな詳しいよなぁと感心することしきりという状況でした。ただ、最後は意地で12冠を達成しました。その結果、この本の著者全員が、ALL AWS Certifications Engineerということになりました。Alexaの試験廃止ギリギリで受けたので、落ちなくて良かったなぁと、しみじみと思います。

本書のお勧めポイント

 本書のお勧めは、3つあります。

  • 2〜4章のデータベースサービスの解説の詳しさ
  • 5・6章の観点カットの考え方
  • 練習問題が神

 データベースサービスの解説については、機能からサービス制限までかなり網羅的に解説されています。試験対策から離れても、アーキテクチャ設計時にサービスの制約とかどうだったかなとリファレンスとして確認できます。たぶんググるより目的のものに早くたどり着けます。敵はAWSのサービスアップデートだけです。
 5・6章については、移行であったりセキュリティであったりと、それぞれのソリューションカットで紹介しています。例えば移行の場合、まず一括・差分・リアルタイム同期などの移行のパターンを紹介して、Auroraだったらそれぞれどうやって実現するかといった具体的な方法論を解説しています。これも実用性あります。セキュリティや監視も同様ですね。
 最後に練習問題です。これは、是非本屋で見てみてください。解説含め非常にクオリティ高いです。おそらく小西さんは、この本を執筆するよりUdemyで練習問題の解答・解説動画を作った方が何十倍も儲かると思います。それでも書いてくれる小西さんは、良い奴です。

感想

 今回が2冊目のAWS認定 専門知識の対策本でした。前回、第1刷に非常に誤植が多く、著者としても申し訳なかったです。今回は、その反省を活かし、十全の確認をしました。渾身の1冊なので、ぜひ手にとってみてください。共著者の執筆スキルもどんどん上がってきて、そろそろ私は執筆稼業から引退できるのではという気もしてきました。AWS認定の専門知識はあと3つあるので、いつかシリーズとしてコンプリートするといいですね。

Web制作に関する体系的な知識が得られる『イラスト図解式 この一冊で全部わかるWeb制作と運用の基本』

 会社の同僚たちが、Web制作に関する本を執筆したので紹介します。
Web制作の過程で、複数のデザイン案を作った上で決めたのに、関係部署や上司に持っていくと何かイメージと違うと否定される。そういう経験ありませんか?Web制作の中心はデザインで、デザインは感覚の産物と諦めている人が多いですが、それは違います。デザインは日本語にすると設計で、論理的な検討の結晶です。本書はWeb制作の過程がどのように進められるのか、そのプロセスの一つ一つを解りやすく解説した入門書です。


 『イラスト図解式 この一冊で全部わかるWeb制作と運用の基本』という本で、私も企画の初期段階に、ほんの少しだけ噛ませて頂きました。そんな訳で少しバイアスがかかっているものの、とても良い本に仕上がっていると思います。企業内でWeb担当になってWeb制作を依頼する人や、Web制作会社の人には是非読んで欲しい一冊です。

Web制作に関わる登場人物と制作プロセス

 本書の対象読者は、冒頭に書いている通りWeb制作を依頼する方と、Web制作をする方の両方です。私もWeb系のシステムを作る事が多く、WebディレクターやWebデザイナーと呼ばれる人と一緒にプロジェクトに参画することが多いです。最初の方は、どのロールの人が何の役割をするのかよく解っておらず、適切なコミュニケーションを取ることが出来ないこともありました。
 また、最近では、フロントエンジニア/マークアップエンジニアや、Webマーケター、Webアナリストと役割の細分化や新たな役割も出来ています。また、動的なWebサイトを作る場合はシステムエンジニアというような職種の人も出てきます。初めて依頼者側のWeb担当者になった人や、WebデザイナーとしてWeb制作会社に入社してきた新人は、どういう役割で何をすればよいのかさっぱり解らんという状態になると思います。そんな時に、この本を読んでおくと頭の中がすっと整理されます。

 また、Web制作におけるプロセスも細分化しています。横から見ていると、デザインを決めてHTMLのコーディングをしてと見えるかもしれないのですが、実際はそんな単純なものではありません。もっと細かい工程に分かれていて、それぞれに検討する事項・意思決定が必要な場があります。本書では、そういったプロセスも整理されています。

Web制作における設計(デザイン)とは?

 そもそもWeb制作において重要な位置を占めるWebデザインとは何でしょうか?私も、昔はデザイナーと言われる人が感覚で作っているのだと思っていました。しかし、一緒に仕事をするようになって、それが違うというのがよく理解できました。感覚の産物ではなく、論理的に設計された成果物ということです。
 論理的に設計されたデザインは、極端にいえば引かれている線の一本一本、アイコンの色の意味の一つ一つを、なぜそうなっているのか説明できます。逆に言うと、それが出来ていないデザインは、説明ができません。なので、関係者にもっとこういう風にした方がいいんじゃないのという言葉に、反論することができません。また、デザインはシステムより、感覚で要望を言いやすいのも事実です。その結果、感覚やセンスで作られたWebサイトのプロジェクトは、いろいろな人の意見に左右されて迷走することになります。

 そうならないために本書では、Web制作のプロセスを一つ一つ分解し、それぞれの過程で何を考えないといけないか整理されています。例えば、サイト設計においては、サイト構造の検討プロセス、コンテンツ設計、ナビゲーション設計などで何をするのか。Webデザインにおいては、そもそもWebデザインとはから始まり、検討のプロセスやデザイナーの役割・検討事項、デザインの評価などです。それ以前の、Webサイトの目的の検討として、ビジネスゴール・ターゲットユーザー・ペルソナ・カスタマージャーニーの検討の仕方は元より、契約や運用・マーケティングまで網羅しています。

まとめ

 難しいテーマも扱っていますが、難しい文章のみで書いているのではなく、図解入りで解説されています。立ち読みページもあるので、ちょっと見てみてください。

r.binb.jp

 私も改めてじっくり読んで、最新の情報にキャッチアップしていきたです。また、周りの若者に勧めていきたいです。


以下、目次です

第1章 はじめてのWebサイト
 1-1 Webサイトって何?
 1-2 Webサイトの種類
 1-3 Webサイトの目的と施策
 1-4 Web担当者が知っておくべきこと
 1-5 Webサイトの開発の流れ
 1-6 Webサイトの改善
 1-7 UXとUIとは
 1-8 ユーザビリティとは
 1-9 セキュリティとプライバシー
 1-10 Webサーバーの構築とドメインの取得

第2章 準備をしよう
 2-1 Webサイトを作り始める前に
 2-2 社内検討チーム体制と、その役割
 2-3 制作会社の選定
 2-4 RFP(提案依頼書)の書き方
 2-5 準委任契約、請負契約について
 2-6 著作権、知的財産権について
 2-7 プロジェクトの流れ
 2-8 コミュニケーションルールを考える
 2-9 社内承認フローを考える
 2-10 ウォーターフォール、アジャイルって何?

第3章 Webサイトの目的を考える
 3-1 Webサイトの目的を整理する
 3-2 ビジネスゴールを考える
 3-3 ターゲットユーザーを考える
 3-4 ペルソナを作る
 3-5 カスタマージャーニーを考える
 3-6 ユーザー中心のデザイン手法

第4章 開発方法を考える
 4-1 開発手法を検討するために
 4-2 動的と静的の違い
 4-3 ターゲットOS、ターゲットブラウザ
 4-4 レスポンシブWebデザイン
 4-5 CMS(コンテンツ・マネジメント・システム)
 4-6 Webガバナンス
 4-7 ウェブアクセシビリティ
 4-8 Web制作会社・システム開発会社は何を作っているのか
 4-9 Webサイト開発における標準化

第5章 ユーザーとの接点を考える
 5-1 ユーザー接点、チャネル
 5-2 動画
 5-3 メールマガジン
 5-4 Web広告
 5-5 SNS(ソーシャルネットワーキングサービス)
 5-6 LP(ランディングページ)
 5-7 Webと別のチャネルのユーザー接点をつなげる

第6章 Webサイトの構造を考える
 6-1 サイト構造の検討のプロセス
 6-2 コンテンツ設計
 6-3 ナビゲーション設計
 6-4 詳細サイトマップ
 6-5 ワイヤーフレーム
 6-6 よく使われる機能の導入方法
 6-7 動的要素の導入と注意点

第7章 Webサイトを作る(デザイン編)
 7-1 Webデザインとは
 7-2 Webデザインの目的
 7-3 デザイン検討のプロセス
 7-4 デザイナーがやっていること、考えていること
 7-5 デザインを評価する
 7-6 CI、VIについて
 7-7 画像(イラスト、写真)の正しい使い方
 7-8 取材・撮影
 7-9 Webライティング
 7-10 UIの種類

第8章 Webサイトを作る(コーディング・開発編)
 8-1 コーディング・開発のプロセス
 8-2 HTML、CSS、Javascriptとは
 8-3 JavaScriptの発展
 8-4 便利な機能 リダイレクト、インクルード
 8-5 入力フォーム、EFO(EntryForm Optimisation)
 8-6 Web制作会社とのコミュニケーション
 8-7 モックアップ制作時の注意点
 8-8 Webアプリケーションの基本

第9章 Webサイトを公開・運用・改善する
 9-1 公開・運用・改善のプロセス
 9-2 Webサイトの検証
 9-3 Webサイトの公開
 9-4 運用設計
 9-5 評価指標の設計と運用
 9-6 PDCAサイクル
 9-7 Webサイトの評価方法
 9-8 アクセス解析
 9-9 ユーザビリティ評価
 9-10 SEO(サーチエンジン最適化)
 9-11 サーチコンソールって何?
 9-12 Webパフォーマンス
 9-13 障害発生時の対応

2021年5月の目標

あまり代わり映えしないですが、4月の振り返りと5月の目標です。

2021年4月の目標と達成度

序章を完成させる 残1件と追加1件

 1件残っていた宿題を完成

執筆再開 2年間寝かしている奴を技術書博向けに

 執筆再開に向けての環境準備は完了。技術書博の申し込みも完了。
今月しっかりと書く

技術ブログを4本書く

5件+1件小ネタを書きました。もう少しコンスタントに書かないとなぁというのと、このブログにも書かないとなぁというバランス感の問題に直面しています。

tech.nri-net.com

tech.nri-net.com

tech.nri-net.com

tech.nri-net.com

tech.nri-net.com

tech.nri-net.com

1日1万歩

何故か歩数をカウント出来ていない日が多かったので不明だが、1万歩を超えた日が2日だけなので駄目。

500ツイート、50万インプレッション、フォロワー100名増

駄目だった。今の所、インプレッション数達成が一番近そう。

・265ツイート
・39万インプレッション
・フォロワー40人増



睡眠時間 アベレージで7時間

7時間4分で何とか達成。平日短くて、休日の寝溜めが目立つ。ここの平準化が次のポイントだな

2021年5月の目標と達成度

5月の目標も、基本的には変わりなく。喫緊の課題としては、SAPの認定切れが5月の中旬ということ。果たして受験できるか?1日1万歩は、朝の散歩だな

  • AWS 認定ソリューションアーキテクト – プロフェッショナル(SAP)の更新
  • 序章を完成させる 残1件と追加1件
  • 技術書博向けのを完成させる
  • 技術ブログを4本書く
  • 1日1万歩
  • 500ツイート、50万インプレッション、フォロワー100名増
  • 睡眠時間 アベレージで7時間