ニクニクドットミー

カッコいいおっさんを目指すエンジニアの厳かなブログ

AWS WAF Bot Controlを紹介

4月にBot Controlがリリースされましたのでその紹介です。 aws.amazon.com

Bot ControlはWAFのマネージドルールとして新しく加わったルールです。今回追加されたBot ControlはウェブリクエストからBotか判定し、ルールに設定したAction(Allow or Block or Count)を行うことができます。
それ以外にもAWS WAFにはIP制限、レートベース、独自ルールに基づいた制限を行うことができたり、マーケットプレイスで提供されているマネージドルールを利用することが可能です。

実際にどんなものか触ってみたかったので、クラメソさんのこちらの記事を参考にしながら設定をしてみました。 dev.classmethod.jp

設定手順については先述のブログを参照していただくとわかりやすいのでこのブログでは省きます。

WAF -> ALB -> ElasticBeanstalk

検証ではこのような構成になっています。

動作確認のため、ブログで紹介されていたPageSpeed Insightを使ってEBで作成されたURLにリクエストを流します。

f:id:maaaato:20210502223308p:plain
AWS WAF -> Web ACLs -> bot-test(ACL名) -> Bot Control

このようにBot、Non Botのリクエストが可視化されます。

続きを読む

5年ぶりにAWSの資格(SSA)を受験して合格してきた

f:id:maaaato:20210201001701p:plain
スコアボード

去年の12/26にAWS SSAを受験し無事合格しました🎉

いまから5年前にgumiという会社に勤めているときにアドベントカレンダーを企画したのですが、その時のネタとしてデベロッパーアソシエイトに挑戦しました。
それ以来のAWSの資格勉強だったのですが、5年前から比べるといろいろと教材も増えていて環境がだいぶ変わったと実感しました。
学習方法やどんな教材を使ったのか書いていきます。

続きを読む

2020年を振り返る

2020年を一言で表すと「耐える」でした。これはコロナで外出自粛などがあったことも含みますが、仕事やプライベートの活動もまさに耐えるタイミングでした。 そんな2020年を振り返ってみたいと思います。

こんなイベントがあった

  • 1月:SRE NEXTに筋肉受付スタッフとして参加。たくさんの方に来場頂きよきイベントとなった。この頃にニュースで武漢で肺炎が流行っていると知る。コンビニでマスクを大量に買う人を見かける。
  • 2月: 祖母のお見舞いに帰省。普通に祖母は元気で安心。両親と妻と自分でちょっといいお寿司を食べに行く。寿司のネタもよかったけど刺し身がめちゃデカくて美味しくて驚いた。この頃からコロナが日本でも流行り初めてリモートに切り替え始めた。パーソナルトレーナーとして活動を開始する。
  • 3月: JAWS DAYSに登壇 初めてCFPを出して通ったので嬉しかった。オンライン登壇もよい経験だった。仕事で割と泥臭い仕事を開始。パーソナルトレーナーの活動をストップ。
  • 4月: 特にイベントはなし。
  • 5月: にくがとうのお肉を堪能する YouTubeを始める
  • 6月: 肩甲骨を柔らかくするためにストレッチを頑張る。
  • 7月: 家に天使がくる(猫)夫婦でリモート勤務になったこともあり5月頃から猫を探し、面談して無事家に迎えることができた。英検2級に合格!
  • 8月: 結婚8年目をお祝い。
  • 9月: 家で焼き鳥を楽しむ AWS SAAの申し込みをする。
  • 10月: 奥さんの誕生日を猫と一緒にお祝いする。AWS SAA(1回目)をリスケ。
  • 11月; 自分の誕生を奥さんと猫と一緒にお祝いする。AWS SAA(2回目)をリスケ。泥臭い仕事が完了。いろいろと自分と向き合うこともあり、モチベのアップダウンが激しいこともあったけど、一皮むけた気がする。3マス進む。
  • 12月: AWS SAAに無事合格。最愛の妻と愛猫と一緒に年末を迎える。

感想

JAWS DAYSは以前から参加したことのあるイベントで登壇という形で参加できたのは非常によい経験でした。またCFPにも初チャレンジできてアウトプットの幅が広がったと思います。 祖母が元気だったし、両親といいお寿司も食べられたのがよかったです。あまり親孝行なことをできてなかったのでちょっとは出来たかな(結構な額になった)
新しい家族として猫を迎い入れたことも日々新しい発見があり、このリモートのタイミングじゃないと難しかったのでこれからも元気にやっていきたいです。

残念なところは、コロナの影響で外食や旅行ができなくなったことです(家にいるから猫も飼えるよねという話になったけど)あとパーソナルトレーナーとして活動も開始してさっそくクライアントさんもついてくれたのですが、開始してすぐに自粛の話が出始め、あえなくストップしました。来年はもう少し活動できるといいなと思います。

仕事では泥臭い仕事でほぼ一年が終わりました。最初はモチベがガタ落ちしてしまったのですが、チームで少しずつ進められていることや「この作業を次にやる人がいたら、絶対にいまより楽にする」と考えてモチベを持ち直すことが出来ました。大げさかもしれませんが、この考え方は組織の成長に貢献できるような気がしていてしんどい作業でも次に繋がることにしていこうと考えることができるようになったと思います。しんどいからこそ、自分に向き合えたこととチームのメンバーが前向きに取り組んでいく姿勢を崩さなかったことが大きいと思います。メンバーに感謝です。(なんか偉そうだけど一メンバーとして参加してました。PMとかじゃないです)

来年への抱負

仕事はコードを書く機会が増えそうなのでしっかり実績を残したいです。またAWSの楽しさを改めて感じているので手を動かしてどんどんキャッチアップとアウトプットをしていきます。英検2級が運良く合格できたので、次は運に任せず実力で英検順一級を狙います。
お金の勉強もしたいので株にも手を出していきたいです。副業も引き続き頑張ります。

See you Next Time!

Rust製のripgrepがちょっぱやな件

同僚氏がrgコマンドを使っていたのを見てなんだろ?と思って調べてみるとripgrepコマンドということが分かった。

github.com

Rust製のgrepコマンドの強化版のようで速さがウリみたい。 とてもよくまとまっていたブログ

www.excellence-blog.com

試しに5万件のファイルがあるディレクトリ内である文字列をgrepripgrepで検索し、速度を測ってみた。

grep

real    2m19.618s
user    1m58.512s
sys     0m6.285s

ripgrep

real    0m4.358s
user    0m0.886s
sys     0m3.931s

ripgrepが圧倒的に早い...!

ripgrep is a line-oriented search tool that recursively searches your current directory for a regex pattern. By default, ripgrep will respect your .gitignore and automatically skip hidden files/directories and binary files. ripgrep has first class support on Windows, macOS and Linux, with binary downloads available for every release. ripgrep is similar to other popular search tools like The Silver Searcher, ack and grep.

早い理由はバイナリや隠しファイルを省いて検索している模様

いいツールだ

See you next time!

【松阪牛】新宿の六歌仙で最高の焼き肉を堪能してきた【食べ放題】

f:id:maaaato:20200926183549j:plain
六歌仙
9月末に仲良くしてもらっているエンジニアと焼き肉に行ってきました。 外食はコロナになってからほとんど行っておらず、約7ヶ月ぶりに外でぱーーっとやってきました。オンライン飲み会は何度かやってましたが、やっぱオフラインは最高ですねと改めて実感しました。
ほんとは夏頃に「そろそろ焼き肉行きたいっすねー」と話をしていたのですが、コロナ感染者数も増えてきたタイミングということもあって延期していました。
コロナ対策しているお店も増えてきたということと感染者数も落ち着いてきたのでそろそろ行きますかということで六歌仙に行ってきました。

www.rokkasen.co.jp

9月に行ったときには松阪牛食べ放題+飲み放題が13,500円だったのですが、そのキャンペーンは終了したみたいです...タイミングが良かったなぁ

こちら満喫している写真

他にも魚介類も食べ放題ででかい海老や蟹を喰らいました。これが食べ放題って素敵やん。

お昼ごろにお店に行きましたが、結構お客さんは入っていた印象です。海外の観光客にも人気なお店だったようですが、さすがにこの日は見かけませんでした。観光客からの売上も大事だと思うので気をつけながら外食産業に少しでも貢献していきたいです。
最近はオンラインのイベントや飲み会も増えてきて新しいコミュニケーションが求められる時代になったと思いますが、便利で気軽にできるメリットもありつつも、やっぱ僕はオフラインが好きだなと改めて思いました。
この日とは別の日にオフラインで食事をしたのですが、とあるプロダクトについてワイワイ話ができてとても楽しい時間でした。ただ、オンラインでここまで盛り上がれたか自信はありません。なんというか相手の表情や相手に送る目線、一緒にその場にいることで生まれる「きっかけ」がオフラインじゃないとわからない。
これは飲み会に限らず仕事でもそうだなと思いました。いまはオンラインで仕事して恩恵も受けてますが、「熱くなる」ことはなくなってしまいました。

余談
実はかれこれ四年ほど前に転職したタイミングで、元同僚氏たちと旅行に行きました。卒業旅行的な。その時の旅費を元同僚氏が出してくれたのですが、その時のお礼をできずにいました。
そこで久しぶりにご飯食べるし、その時のお礼をしようと思い、六歌仙の代金を支払わせてもらいました。本来は28,000円のプランだったのですが、それがキャンペーンで半額になり、なんか得した気分になってしまい複雑な心境です。

松阪牛は最高のポテンシャルを持っていたし、六歌仙のスタッフの方の接客も素晴らしくまた行きたいお店です。

やっぱ生ビールは最高

See you next time!

【4ヶ月】英検2級にぎりぎり合格したので使った教材を紹介します!

f:id:maaaato:20200906102140j:plain 2020年7月に初めて英検を受験してきました。受けた級はタイトルにある通り2級です。

英語の試験はいままでTOEICを数回受けたことがありますが、英検はまったくもって初めてでした。 ちなみに最後に受験したTOEICのスコアは415点と決して高いスコアではありません...

今回なぜ英検を受けようと思ったかというと4技能が評価されるからです。4技能とは「reading」、「listening」、「writing」、「speaking」のことです。 TOEICでは読む、聞くの評価のみで書く、話すについてはテストがありません。ただ、TOEIC S&Wは「speaking」、「writing」のテストがあります。

また英検2級のレベルは高校卒業程度ということでいまのTOEICのスコア的には一つ上のレベルだと思ったのでチャレンジするにはいいかと思いました。

英検にはいくつか種類があるのですが、今回受験したのは英検S-CBTという種類です。これは一日で4技能受験できるものです。普通の英検では一次試験として「reading」、「listening」、「writing」があり、一次試験に合格すると二次試験で「speaking」試験を受けます。

S-CBTの特徴としてパソコンを使って試験を受けます。 「speaking」はヘッドフォンをつけてビデオを見ながら質問に答えます。試験官と直接話すことはないので人前では緊張してしまう人にはS-CBTの方が緊張することは少ないかと思います。

前置きが長くなってしまったのですが、英検2級にチャレンジするにあたって使った教材やアプリ、どんな感じで勉強したのか書いてみたいと思います。

続きを読む

JAWS DAYS 2020に資料を公開をしました

f:id:maaaato:20200315193337p:plain
JAWSDAYS2020
3/14にJAWS DAYS 2020がオンラインで公開されました。

jawsdays2020.jaws-ug.jp

本来は実際に会場にて開催されるイベントでしたが、昨今のコロナウィルスの件もあり、残念ながら会場での開催は中止となってしまいました。

運営の皆さんとしては苦渋の決断だったと思います。 ただ、そのまま中止になることは無くオンライン開催に切り替えて開催して頂けたのは嬉しいアプローチでした。

3/28にライブ配信にて登壇させてもらえるかもしれないのですが、事前に資料を公開させて頂きました。 speakerdeck.com

なぜプロポーザルを出したのか

新しい事へのチャレンジとアウトプット不足を解消したいという2つの目的がありました。

最近はインプットとアウトプットのバランスがインプット9割、アウトプット1割くらいの割合になっていると感じていました。

そこでなにかアウトプットする機会がないかと思っていた所にJAWS DAYSでCFPを募集している事を知りました。

SRE NEXTでCFPを募集していた時にたくさんの方がプロポーザルを出しているのを見て、「あ〜いつかプロポーザルを出してどこかで話してみたいなー」とぼんやり思っていた事も重なり、初めてプロポーザルを出してみました。

なぜSessionManagerについて?

個人的にSessionManagerを調べていた事があり、ssm-userの扱いに困っていました。ご存知の方も多いと思いますがssm-usersudoが使えるのでrootに昇格できてしまいます。共通してrootになれるユーザーを使う事に課題を感じていました。

その時にRun As supportが導入され、悩んでいたroot問題が解決できた事もあり、その時の経験をベースにアウトプットしたいと思い、SessionManagerとIAMについてプロポーザルを出しました。

タイトルに「シンプルにユーザーを管理する」と入れていたのですが、AWS OrganizationsとSSOによってIAMユーザーを管理するコストを減らせたり、マルチアカウントでIAMを管理するアカウントを分ける事で「シンプルにユーザーを管理する」が実現できるのでは?と思い、資料に盛り込みました。(かなり唐突にOrganizationsの話が出てきてしまった感もあったと反省しています)

感想

3/28にライブ配信にて登壇できるかも(調整中)なのでそちらでお話できればと思っています。

資料作りの際には社内のエンジニアにレビューと発表練習に付き合ってもらったり、知り合いのエンジニアとオンライン飲み会をした時にフィードバックをもらいました。「この話はいらないかも」や「聞きやすい!」「わかりやすい!」などポジティブなフィードバックを貰えたのは一つの自信になっていますし、改善ポイントを貰えたのもありがたかったです。

またこのブログを書くにあたって、Isao Shimizuさんのこちらの記事がわかりやすく読みやすかったので参考にさせて頂きました:pray: medium.com

参考ブログ

資料を作るにあたってたくさんの資料を拝見させていただきました。私の資料には含まれていない深い話などがたくさん記載されています!

今すぐやめようssh! AWS Session Managerを検証・導入してみた - asoview! TECH BLOG

新ポリシー AmazonSSMManagedInstanceCore がサポートされました | Developers.IO

【レポート】マルチアカウント戦略におけるセキュリティとガバナンスのアーキテクチャ設計 #reinvent #SID331 | Developers.IO

AWS Organizations を実際に初めてみる第一歩 - Qiita

AWS Organizationsによるマルチアカウント戦略とその実装 - クラウドワークス エンジニアブログ

youtu.be

※3/16 追記 IAMのマニアック本に大変お世話になったのにも関わらず記載するのを忘れてしまっていたので追記しました。 AWSの薄い本 IAMのマニアックな話 - 佐々木拓郎のオンライン本屋 - BOOTH

See you next time :)