水深1024m

技術的なメモとか日記的なもの

2025年の振り返りと2026年

前回の記事を書いてから、意外なところで反響があったり、「帰ってきてたんですね!」とメッセージをもらったりしていたのもあって、最近少しずつ文章にして残しておく熱が復活しつつある。というわけで、また年単位で時間があかないように今年の振り返りをさっくり書く。

2025年

生活

2024年と比較するとはっきり言って別物になった。というのも、人生におけるそれなりなビッグイベントであろう

  • 家を買う
  • 子どもが産まれる

が同時にやってきたため。時系列的に家のほうが先なので、そちらから書く。

正確に書くと買ったのは2024年の秋。中古マンションだったので、大きなリフォームをして、住み始めたのが今年4月。 昔から大きな買い物はなんだかんだ先延ばしにしがちで、実際に昨年の春に物件を探していた時にはあまりピンとくる物件がなく「もうしばらく先にしよう」としていた。 それからもぼーっと SUUMO をたまに見たりしていたのだけど、ある日ふと目にとまった物件に可能性を感じて即内見し、購入を決めた。

夫婦ともに地方出身なのもあり、いつかは地方の一軒家に行きたいと話しつつ買ったのだけど、そんな気持ちも薄まるくらいには便利で快適。 リフォームは打ち合わせから引き渡しまで色々考えたり決めることがあり、後述の妊娠出産もあってかなり大変だったけど、その分ネタもできたのでそのうち別の記事として書きたい。 海外製食洗機をできるだけ安く導入する手段とか。

子ども

今年の夏に産まれた。初めての子。とにかく無事に産まれてくれてよかった。この記事も風呂に入れた子どもを寝かしつけながら書いている。 産まれた瞬間は正直あまり実感がわかず、まるで別の生き物のようにさえ見えたけれど、おむつ、授乳、お風呂と一緒に生活していたら そんなものは一瞬で吹き飛んだ。とにかくかわいい。最近は笑顔もよく見せてくれるようになった。

子どもが産まれたことによって、生活や行動が一気に変わった。買い物の多くは子どものもの。常に次のミルクの時間を頭に入れながら動くようになるし、深夜の夜泣きにも対応する。 出かけるときはベビーカーで快適に行動できるか (どこに行ってもエレベーター混みすぎで抱っこ紐にすることが多い)、そもそも子どもを連れていけるか。 高速に乗る時も次に授乳室のある SA はどのくらいか… といった具合。初の子どもであることも大きいと思うけど、それにしてもやることが多い。 世の中の親は (そして自分の親も) 全員これを乗り越えているのだからすごいと思う。遅くまで仕事して、寝るか〜〜と思った時にはじまる夜泣きの絶望感は異常。最近声も大きくなってきた。

大変な時代だけど、しなくても良い苦労をせずに生きていってほしい (したほうが良い苦労もある派)。ひとつでも色々な可能性を選べるように、親としては子育てと仕事に邁進するしかないと思っている。

仕事

はやいもので転職して丸2年が過ぎた。組織やプロダクトの成長ペースもそれなりに早く、少なくとも未だにわからないことがたくさんあるくらいには退屈しない環境で働くことができている。

入社からしばらくは、 CISO としてプロダクトとガバナンスを全て合わせた全社のセキュリティ統括に加えて、SRE のマネージャーやコーポレートエンジニアリングのマネージャーをしていたが、今年の10月からは事業部の VP of Engineering としても活動することになった。全て説明しようとするとややこしいので、対外的には「プロダクトをフロントで作る以外の技術領域」とすることが多い。

"も"と書いた通り、それまでの役割を全て引き継いだ状態で VPoE をしている。これは割と珍しいというか、どちらかというと「持ちすぎ」のようにややネガティブな文脈でとらえられることが多いのだが、自分としてはセキュリティや SRE 、コーポレートエンジニアリング、そして開発組織は全て地続きである。ひとつの意思をもって進めていくことでよりよい価値を発揮できると思えることが今のところ多いので、そこまで苦ではないし、ひとつの役割だけを与えられたところできっと気になってしまう。 とはいえやらなければならないことは多いし、そのせいで迷惑をかけることも多いので、より多くの仲間に助けてもらえるような環境や組織を作っていっている。 子が産まれてからは特にカオスで、同僚に助けられたことも非常に多かった。ありがとうございました。

今年は特に、組織の AI シフトについて色々と考えた年だった。いわゆる「AI利活用」といっても、乗り越えなければいけないことは多い。それをコーポレートエンジニアリングやセキュリティとして支えていく仕組みを作った。 プロダクト開発のほうでも、AI エージェントを課題解決のための手段として当たり前の手段にしていくための一歩として、奇祭ことAI エージェント祭を開催したりしていた。

これら以外にも色々な取り組みがあり、今では組織全体で普通に AI のことを話せるような状態になってきている。自分はゼロからものを作る能力が恥ずかしながら本当に低いなと思うことが多々あるのだが、こうした形でみんなが取り組むことのできるはずみ車を作るのは好きなのだと改めて思った取り組みでもあった。

AI

今年も勢いよく進化を続けていて、キャッチアップするのも大変だが、現実味が増してきた未来も増えており、面白い。わずか数年でよくここまでと思う。

一方、AI スタートアップの執行役員をしながら書くべき話でもないかもしれないが、自分は AI のアウトプットがまだあまり好きではない。細かく言えば、 AI が出力した文章やスライドを、人間が自らの意見として自分に送ってくるのを好まない。いわゆる「AIくささ」が感じられた瞬間、いかに理路整然としていても魂がないように感じてしまって、そこから先を読むのが億劫になってしまう。

この先おそらく「AI くささ」はよりなくなっていくだろうし、自分のようなことを言う人間も少なくなっていく。技術進化と人間の慣れが交差したとたんに、自分も含めて普通のことになっていくのだと思う。 AI の力を借りたものづくりや課題解決は楽しむことができるが、言葉や気持ちはまだ渡したくない。自分の中にまだあるそうした感覚も大事にしながら、未来をつくっていきたい。

総じて、2025年という言葉に慣れる間もなく、本当にあっという間に終わった1年だったが、新しい挑戦、久々の挑戦があった年でもあり、とても楽しかった。

2026年

子どもの成長が第一。1歳、2歳になる親戚の子を見ていると、とてもこの子たちのように自分の子がなるとは想像もつかないけど、そうなっていくのを祈っている。 今は今で大変だけど、今しかできない経験でもあるので、日々を大事にしたい。

子どもが産まれたことで、生活のプライオリティは確かに変わったが、一方で自分の人生の主役から簡単に降りてはいけないとも思う。 生活も仕事も、来年も気概をもって全方面やっていきたい。

引き続きよろしくおねがいします。

イギリスから帰ってきていた

この記事を書いているのは2025年だが、2023年の3月末に帰国していた。早いもので帰国から2年以上経っているのだけど、久々にお会いした方などまだイギリスにいると思われていることもあり、区切りをつけたい気持ちも出てきたので4年以上ぶりの記事を。

移住生活の記憶

当初は1年程度で帰国する予定だったのだけど、 新型コロナや仕事上の変化もあり、何よりきちんと何かコトを成したかったこともあって、結果的に3年近くの滞在となった。帰国してからおよそ同じくらいの期間を日本で過ごしたわけだけど、今戻ることになったら喜んで戻るくらいには良い場所だったと思う。

既に記憶が薄れていたりする部分もあるのだけど、忘れないうちにそれぞれの年の記憶を。

2020年

以前の記事にも書いたのだけど、とにかく試行錯誤の日々。移住した初日からシャワーが下の階に水漏れしたり、本当に防音の概念が薄い家だったので上の階の足音を聞きながら寝る生活で、あまり眠れずに来たのはミスったかなーと思う時もしばしば。 買い物ひとつとっても、スーパーの違いがわからない、日本にあるアレはどうやったら手に入るのか、ネット通販を確実に届けてもらうにはどうするのか、などなど…

それに加えてまだ新型コロナはワクチンもなかった時期。イギリスは外出禁止令が日本と比較してもハードだった。生活に関わるオペレーションもかなり制限されており、外食はおろか大好きなパブも全然開いてない。日も短いので家に閉じこもり、仕事が終わるとあたりは真っ暗。たまに散歩に出たりスーパーに買い物に行くのが楽しみの日々… という感じで、あっという間にいわゆる冬季うつっぽい感じになった。クリスマス時期も外出制限が続き、当初はクリスマスの週に外出制限が解除されそうだったところ、どんどん短くなっていき最終的にクリスマス当日だけになった時はまあまあ凹んだ。

それでも、家族が一緒だったし、同じ状況の同僚も多くいて話すこともできたし、家は広くなって体を動かすこともできたので、どうにかなったかな〜 という感じ。単身移住してたらかなりキツかったと思う。

2021年

ワクチン接種が始まり、春くらいから段階的にロックダウンが解かれる流れになった。渡英してから外で飲めるようになるまでに半年かかったけどめっちゃ感動したのを覚えている。

少しずつ解けていく外出制限に合わせて、車を買ったり、ピクニックに出ていた。Voiという、日本で言う Luup のような電動スクーターのサービスが始まって、街中の色々なところに行けたのも良かった。車や歩行者との交通問題で怒られもしていたけど、日本ほど叩かれていなかったのは、自転車が車道を走るのが普通だからなのもあるだろうな〜。 ロンドンなど他の都市にも行けるようになったけど、初めてロンドンに行った理由は親知らずを抜くためだった…

この年からキャンプにハマりだした。外出制限の影響を受けないのはもちろんなのだけど、イギリスのキャンプ人気が日本より過熱しておらずキャンプ場の予約は取りやすいし、何より空間が広いので気持ちがよかったのが大きい。農場のかたわらをキャンプ場にしていたりするので、近くの醸造所で地ビールを買い、農産物を買って BBQ みたいなことが割とどこでもできた。 自然豊かな (住んでいたエリアも豊かではあったけど) ウェールズにキャンプに出かけて、山を登ったり古城見学するのも良い経験だった。 屋外イベントも徐々に解禁されて、ローカルビールフェスや、名物だったバルーンフェスタも観られた。風で飛ばないことも多いので、飛んでよかったな。

夏くらいから海外旅行も大幅に解禁されて、はじめて他の国に行くこともできた。最初に行ったのはスペインのマヨルカ島。食事も美味しいし、まだ旅行控えの時期でもあったのでどこも空いており、長期休暇というやつをようやく過ごせた気になった。 これを皮切りに、以後ものすごい勢いで海外旅行に行くことに。 クリスマスも盛大に過ごせて、年末は氷のアイスランドで過ごすというかなり濃密な1年 (というか半年) になった。

2022年

ほぼ全ての制限もなくなり、生活も仕事もうまく馴染んできた頃。 イギリスの冬は日も短く、クリスマス以外 (1~2月) は居てもあまり… というところから、フランスやスウェーデンといった雪のあるエリアによく出かけた。 1度だけ冬キャンプに出かけたけど、朝の気温が低すぎて死ぬかと思った。ただ夜の景色はよかった。

家族や仕事など、日本を離れてからケアしたいことが増えてきて、一時帰国の時期を考えていたのだけど、2週間の隔離が足を遠ざけていた。3月からついに条件付きで隔離が数日に短縮されることになり、大急ぎで一時帰国。1年半ぶりの日本はとても嬉しかったのだけど、飛行機内でコロナ感染者がいたようで、結局隔離はフルで受けることになった。あれほど見たかった日本の景色を見ながら宿泊先でひたすら自炊していたのはしんどかった… 1ヶ月半ほど滞在して、家族・友人・食事・体験などなど日本のあれこれを全て身体に詰め込み、はちゃめちゃな量のお土産を持ってイギリスに戻った。

ピクニック・キャンプ・スポーツ (ラグビー好きなので地元ラグビーチームがあったのが嬉しかった)、ミュージカルや料理などあらゆることを全力で楽しみにいった年だった。海外にも相当な回数行ったこともあり、「予定のない休み」はほぼなかった。 平日はほぼフルで仕事をして、週末に遊び、また仕事をするという生活だったので、なかなか体力を要する動き方でもあったのだけど、持てる行動力を全て使った。

仕事の状況も段々と変わってきており、この年の終わりに差し掛かる頃には、内心で帰国することを決めて準備を始めた。準備といっても、やり残したことをやる、というくらいのものだけど…

年末年始はオーストリアのウィーンで過ごした。年末のクラシックコンサートをウィーンで聴くというのが人生でやりたいことの一つだったので、達成できて嬉しかった。

2023年

仕事上の役割も変わり、いよいよ正確な帰国のタイミングも決めて準備を進めた。信じられないことに、イギリスに居ながらハリー・ポッター関連の場所をほとんど訪れていなかったので出かけていったり、親や家族に遊びに来てもらって案内したり。 仕事も割と大変なことが連続していた時でしたが、まず日本に帰るまで全力!ということにして、どうにか大きな事故もなく気合で乗り切った。

生活

周囲の生活習慣はじめ、日本と違う点は多々あったけど、総じて良かったなと思う。居住することで小さいことから大きなことまでトライできたことが様々あった。

  • 普通にパブで飲む
    • パブでスポーツ観戦
  • 現地の友人をつくる (日本人や同僚以外で)
  • オーブン対応の食品類が多いので、オーブンでどうにかする
    • 割と高速に心が折れて電子レンジを買った
  • クリスマスツリーを生木で買う
    • 冬が近づくと「クリスマスツリー農場」がオープンするので、行って好きな木を予約しとく。クリスマス前になったら切って持って帰る
    • 生木で飾る家が多いので、ゴミ収集の日も「ツリー収集日」が年始に設定されてる
  • 本場の中国食材っぽいやつで色々作る
    • アジアスーパーに行くと圧倒的に品揃えが良いので色々買ってしまう。特に刀削麺と火鍋の素 (底料) はよかった
  • めっちゃでかいターキーレッグを焼く
  • Beer Pong をやる
  • 病院に行く
    • かかりつけ医 (GP) から救急 (A&E) 、人生で初めて救急車で運ばれるまでをやった
    • 良い経験だったと思いたいが本当に大変だった…
  • 庭や公園で気軽な BBQ をする
    • いわゆる飲み会としては居酒屋的なところで飲むより多かったかもしれない
  • 車を買う
    • 車選び、価格交渉から納車まで。せっかくなので MINI を買ったけどほんと良い車だった
  • キャンプに行く
    • これも旅行ではなかなか行けないと思う。結構色々な場所に行った

などなど。まあ普通のことが多いのだけど、現地でやれてよかったなあと思うことばかり。 滞在中に、 Brexit があって急に EU 圏のものが買えなくなったり、 クィーンが亡くなったりという国の変化も直接感じられた。

地域性なんかもあるとは思うけれど、一番心配していた人付き合いについても、よくネットで言われているような差別だったり塩対応を受けるなんてこともなく、同じアパートの夫婦と日向ぼっこしながら雑談するみたいなイベントがあったり。総じて良い人が多かったなというのが感想だった。 築220年ほどの家に住んでいたのだけど、隙間風に悩まされることもなかった。ドアが開かなくなるとか、ウミネコが早朝から鳴きまくってうるさいとか、夜中にシャワーホースが破裂して水浸しになったりとか、そういうことはあったけど。

食事

聞かれることがすごく多い話題。食材は意外と豊富で、日本ではあんまり見かけない野菜もあり、料理は色々と楽しむことができた。特に肉類は赤身中心だしラム肉がいっぱい売られてるしで最高。逆に魚は厳しかった。 アジアスーパーに行くと慣れた食材も手に入る。出前一丁辛ラーメンは神。旅先でも売ってるので食事が合わないときに買って食べたりしてた。

外食は…外すと割と厳しいものが出てくることもあった。けど選べば普通に美味しい。多国籍なので、インド、中華はじめアジア料理も本格的なものがあるし、ステーキハウスやハンバーガーも美味しい店が多かった。チェーン系だと Nando’s もよかった。ラーメンは「あそこは美味しい」という噂を聞いては裏切られてきたけど、滞在後半になってついに近くに普通に美味しいラーメン屋が開店して嬉しかった。ロンドンには一風堂や日本系レストランがたくさんあるけど、食べるためだけに2時間以上かけて行かないかな…という感じ。寿司は… 日本で食べましょう。ヨーロッパ全体なら、マルタの寿司は比較的美味しかった。

個人的には、金曜の夜に家の裏のフィッシュアンドチップス屋でテイクアウトして、食べながらビール飲んでゲームしたり映画を見るのが幸せな時間だった。

海外旅行

色々な国や都市に行く機会があって、これもよかったなあと思う部分。 街の近くに空港があり、そこから LCC がバンバン飛んでいるので、うまく噛み合えば例えばイギリスからハンガリーまで片道3000円くらいで飛ぶことができた (ロンドンに行くお金より安い)。

これについては思い出がありすぎるので、記憶が残っているうちにそれぞれ記事にしたい。 行ったのは20カ国、訪れた都市は40都市くらい。 スペインだけで8都市 (島など)。好きすぎ説もあるけど、暖かくて、食事が美味しくて、見るものもたくさんあるので、行かない手がなかった。 どの国も建物や自然、食事、人、どれをとっても結構違っていたりして、非常に良い経験だった。特に北欧やアイスランドはあと数回は行きたい。。。

仕事

休日に旅行に出かける分、平日は割とキリキリ働いていた。日本との時差を埋める必要があり、朝7時には起きて会議に入り、昼は少し休んだりしつつ夜まで仕事、食事して深夜になるとまた日本が起きてくるので状況によってはそこから… みたいな生活。良い塩梅が見つかるかなと思っていたけど、結局最後まで体力勝負だったかもしれない。 実際にやっていたことは本当に様々で、チームのグローバル化 (と現地採用) をしながら現地の環境や組織をより良くするトライや、日本の仕事を普通にするといったこともあった。現地オフィスで実際に会いながら議論をするのはとても良かったし、大変ではあったけど充実した仕事だった。

帰ってきた

仕事上の色々な変化はもちろん、渡英していた間に家族にも色々な変化があり、帰国することにした。 戻ってきて思うのは、やはり日本は期待値の高い国だなということ。コンビニに行けば24/365で何でも売ってる (そもそも日曜に店が開いている!)、配達も3時間スロットで遅れない、設備はそんなに壊れない、病院だって行けば受け入れてくれる、母国語で生活できる、トイレはきれい。 イギリス生活で良くも悪くも自分以外のものごとに対する期待値が下がっていたけど、日本に戻ってから半年くらいでそうしたものも戻っていった。人間、あると期待してしまう生き物なんだなあと思う。

仕事もたくさんの変化があり、結果として2023年で退職し、2024年からスタートアップで働いている。自分が胸を張ってやり遂げたといえることもあるけど、そうでない部分もたくさんあり、あまりにたくさんの思いがあるので退職エントリは心の中に。 海外への挑戦だけでなく、人生を大きく左右するような色々な挑戦の機会を得られた。たくさんの迷惑をかけましたが、支えてくれた同僚諸氏には心から感謝しています。

自分の人生の中で、海外で働くという機会が訪れるとは全く思っていなかったところもあり、最初に話を受けた時には迷うところもあった。が、本当に行ってよかったと思う。同じようなチャンスを得られる方がいればぜひ踏み出してほしいし、そういうチャンスを作って人の背中を押せるような仕事をこれからもしたい。 英語力とか、気になることはあるかもしれないけど、なんとかなる。自分が「外国人」になって、よその国に住み、働くという経験はとても大きなものだった。日本のコンビニで働く外国人は多いけど、すごいなと思ってしまう。イギリスの店で店員やれと言われたらたぶん泣く。 戻ってきてみて、日本もさらに好きになった。母国語で、当たり前レベルの高いサービスを受けられる嬉しさよ。

インターネットには海外で起きていることや、他国の人と共に暮らすことについて、たくさんの刺激的なことが書かれている。イギリスについても然りだが、自分が住んだ正直な感想は、その多くが誇張されたもの、というより、本当に切り取られて拡大された一部だなということだった。生活は、多くの人にとっては普通だ。まずい食事ばかりではない。紅茶でなくコーヒー派もいる。皮肉ばかり言われることもない。天気は確かに悪いけど、夏は最高。

まだまだ書きたいことは山ほどあるけど、キリがないので一旦ここまで。 日本に戻ってきて、人生で初めて家も買ったし、子どもも産まれた。変わっていく生活は大変だけど、楽しみながらやっていきたい。

2020年の振り返りと2021年

振り返りというのを2017年以来書いてなかったようなのだけど、イギリスに移住するというビッグイベントもあったのでざっくりと書いてみます。

イギリス移住

今年最も、そして人生の中でも結構大きいイベントでした。仕事で機会がありイギリスに移住しました。イギリス移住といえば…のロンドンではなく、ロンドンから遥か西にあるブリストルという街にいます。日本人には同僚以外ほとんど会ったことがないです。

2019年の夏くらいに行くことは決めていて、本来であれば2020年4月には移住する予定でした。が、突如襲った COVID-19 への対応を全力でしていたこともあり、4月の段階では日本にいるべきという判断をして、延期していました。 その後も一向に改善しない状況を眺めつつ過ごしていたのですが、2020年も半年が過ぎようとするくらいの頃、人生における時間の使い方を改めて考えてみて、31歳の自分は今この瞬間にしかいないんだよな…みたいなことを思い、困難は承知の上でこのタイミングで渡航することにしました。妻の理解も得られ (というより大賛成だった) 、10月にターゲットを決めて移住することに。

移住そのものが正解だったかはまだわからない、というより自ら正解にしていく必要があるわけですが、今のところは心から来てよかったと思っているし、そんなに不自由なく生活しています。来た当初は周辺のスーパーの違いもわからない、ゴミの捨て方も知らない、備え付けの家電の使い方がわからない、手続き類はわからないうえに COVID-19 の影響でオペレーションが変わっていたりと本当にわからないことだらけで、自活できる大人としてのプライドをまあまあ傷つけられましたが、それまでできなかったことが実体験をもって理解できるようになるとちょっとレベルアップした気になれるように。

大きなトラブルもそこまでありませんでした。

  • 引っ越した初日にシャワーを使ったら盛大に水漏れして 「住人変わるたびに言ってるんだ、お前は悪くない」というコメントを階下からもらう
  • 仕方なくもう一つのシャワーを使ったら深夜に謎のサイレンが鳴ってブレーカーごと落とした (結局これはなんだったのか今でもわかってない)
  • 住んでるアパートが古すぎて防音の概念が一切なく、朝は下の階のテレビの音で目覚め、夜は上の階でドコドコ鳴ってる重低音を聴いて過ごしてる
  • 車で橋を渡るのに Contactless なカードがないといけないのを知らず、さらに手持ちのカードが通らずに橋を詰まらせる
  • 宅配が来てもインターホンの調子が悪いせいで誰も応答できず、結局同じアパートに住む全部屋の呼び鈴が押されるので誰かの荷物が来るたびに住人が全員集合する

くらい。

家の面積が日本と比べてかなり広くなったので、ついに念願の仕事部屋を得ることができその点でも満足しています。ほかには、人生で初めて食洗器や乾燥機 (一体型でないやつ) を使えるようになるなど、日本より環境がよくなったところも色々とありました。もう洗濯機の上で仕事しなくていいんや…

食事についてもよく聞かれますが、今のところ特にまっずー、みたいな体験はしておらず、外食 (COVID-19 の制限でほぼできてないけど) やデリバリーでも基本的に美味しい食事が出てきます。ほぼ自炊メインなので影響がないというのもありそうですが… 食材はとても良いと思いました。肉が安くて美味しいし、ラムが一般的に売られているのもうれしい。出張でアメリカやイギリスに行っていた頃は、外食せざるを得ないこともあって一週間も滞在すると正直胃がかなり疲れてしまい、「はよ帰りたい~」という気持ちになることも多々あったのですが、どんな材料でも自炊によって「自分に合う」食べ方をしているとそのへんはよくコントロールできるのかなと思います。 日本の食材も、調味料は近隣のスーパーにあるものもあるし、アジア系スーパーに行けば大抵のものは手に入ります。アジア系スーパーは思ったより周囲にあって、日本の食材以外に中国や韓国、ベトナムなどの食材も手に入るので、日本より本格的な料理が作りやすいように思いました。

逆に手に入りにくいものと言うと魚ですかね… サバやサーモン、タラ、シーバスあたりがよく売られているもので、ほかにマグロも売ってますが刺身では食べられないものが多い (たまーに Sashimi (Sushi) Grade と名付けられたものが売られていて、それは生食できる) 。あとはエビやムール貝、牡蠣あたりでしょうか。日本では刺身をよく食べていたけど、それは難しい。アジとかサンマもまだ見かけてないです。

秋に渡英したので、冬に向けて日が短くなる一方で、朝は8時まで暗く、16時には真っ暗…みたいな生活が続いており、こちらはさすがに調子に影響してきたなと感じています。ビタミンDのサプリ (この時期はみんなそうらしく、薬局で山積みされていた) やいわゆる SAD ランプを試しはじめました。きっとそのうち慣れるでしょう。 まあそんなこんなで元気です。

仕事

ずっとやってきた SRE の仕事を初めて完全に離れ、コーポレートエンジニアリングという、社内向けの情報システム部門のマネージャーをしています。 2017年までマネージャーをしていたチームの一つでもあります。コーポレートエンジニアリングという名前が気づけばそれなりに一般的になっている昨今は面白いですね。 情報システムの領域をソフトウェアエンジニアリングや SRE などのスキルや技法、経験などをもって再定義してみたい、きっと面白いんじゃないかという気持ちを当時から持っていて、改めて自分の主領域となった2020年もその気持ちのままやっていくぞ!と思っていたのですが、 COVID-19 によって良くも悪くも脚光が当たった年だったなあと思っています。コード書く時間も少し増えた。 感染者数が増え始め、会社が在宅勤務を決定した2月から半年近くは、とにかく人と組織の事を考え続けた半年でした。具体的にどんなことやってたかは会社のブログ記事にもしているのでよければどうぞ。日経ビジネスに自宅を取材されたりもして新鮮な経験だった。

techlife.cookpad.com

techlife.cookpad.com

個人的には、環境 "だけ" で考えれば、ある程度遜色なく働ける状況が作れたのではないかなと思っています。が、1年近くをリモート勤務で過ごしてみると、どうにも物足りなさを感じているのが最近です。視覚と聴覚以外に刺激がない、というのは結構大きいのかもしれないなと思っています。感染者数が増える一方で、ワクチン承認などの明るいニュースもイギリスでは出てきている (すでに数十万人以上が接種を完了しており、Oxford と AstraZeneca のワクチンも先日承認された) という状況ではありますが、まだしばらくは誰もが在宅勤務を選ばざるを得ない状況が続くのは確実で、その中で、そしてその先で何を選ぶのかというのを引き続き考えていくことになりそうです。

それに加えて、とあるプロダクトの責任者を務めることになり、特に夏くらいからはかなりの時間をそちらについて考えることに使っていたりしました。これまでの仕事で使っていなかった筋肉を使う仕事というのは何度やってもよいものだなと思います。

タイムゾーン

イギリスに来たこともあり、時間の使い方がより大事だなと思うことが増えました。日本と話せる時間は朝7時くらい~10時くらいに限られている (もしくは深夜0時以降…) ので、必然的に日本のチームに関する仕事は朝に詰めることになります。どうしても朝に体力を使い切ってしまって昼にはベッドで沈んでしまい、イギリスのことは午後にスロースタート…みたいな日もよくあり。同僚に迷惑かけてしまうこともありました。 もともとかなり夜型だったところを朝型に矯正せざるを得ない状況で、自分としても朝型に変えられるのは歓迎ではあったのですが、まだ体が追い付いてないなあと思ってます。この辺はより良い塩梅を見つけていきたい。

買ってよかったもの

移住を決めていたこともあったので、選び方が必然的に「日本でもイギリスでも使えるもの」に集中するのですが、いくつか挙げてみます。

Yeti Nano

在宅勤務がトレンドになった当初はテンション上がってたこともあって YAMAHA の AG03 と ShureSM58 を買ってワイワイしていたのだけど、どうにも自分の環境では使い勝手が悪いというか、単にオーバースペックだったこともあって結局 Yeti Nano に変えました。ショックマウントとアームも買って使ってますが、少なくともヘッドセットのマイクよりは良い音になっていると思います。

ヨーグルティア

イギリスで手に入りにくいものの一つとして納豆があります。アジア系スーパーに行くと、日本のパック納豆が冷凍で売られてるのですが、そこまで美味しいとは言えなかったです。我が家は夫婦そろって納豆が大好きで、これが手に入らないのはかなりつらい。それもあって日本からこれを持っていきました。これはガラス容器がセットになっていて、プラスチックのように納豆のニオイがついてしまったりということもなく安心して使えます。(ついでに、食洗器が熱湯でガシガシ洗ってくれる) 大豆は周辺のお店で安く手に入るので、だいたい1.5kgくらいまとめ買いして、300g くらいずつ作ってます。種として冷凍納豆を 1/4 ずつくらい使い、30時間くらい保温しておけば1週間分の納豆が手に入る。おいしい。

Nespresso Vertuo

コーヒーが好きで毎日飲むのだけど、渡英当初周辺に豆を買いに行くような余裕もなかったこともあり、ちょうど Prime Day で安くなっていたので購入。イギリスではスーパーでも Nespresso 互換のカプセルが売られているし良いんじゃないかなと思っていました。が、なんと自分が思っていた Nespresso とは違い、最近出ているレギュラーサイズが淹れられるタイプで、カプセルも全く違う。カプセルのバーコードを読んで最適な量や淹れ方を変えているようで、互換カプセルなんてものはない、とかなり誤算でした…

が、実際使ってみると、自分としてはちょうどよいサイズ (250ml など) のコーヒーが簡単に淹れられて、フレーバーも気軽に変えることができ、また (自分が思うに) 味も美味しいので十分満足。どのコーヒーを淹れても、クレマ (泡) がかなりたっぷりできるので、そこは好き嫌いが分かれるかもしれない。色々な豆を試したい、であったり、コーヒーを淹れる時間が好きであったり、そうしたことに強いこだわりがなければおすすめできます。自分は少なくとも日本に帰るまではこれで十分良いなと思いました。

MEATER

MEATER Original 10m True Wireless Smart Meat Thermometer for The Oven Grill Kitchen BBQ Rotisserie with Bluetooth and WiFi Digital Connectivity: Amazon.co.uk: Kitchen & Home

日本の Amazon ではまだ売られてないようなので UK のものを。塊肉に刺すための温度計で、 Bluetoothスマートフォンと接続して使います。肉の芯温と外気温が計測でき、一度刺したらそのままオーブンに放り込んで使えます。 ローストビーフはもちろんですがステーキなどにも便利。これの何が良いかと言うと、計測を絶えず続けながら調理できるので、これまで正直雰囲気で決めるしかなかった「オーブンに入れる時間」を簡単に「ターゲットの温度」という計測できるものに変えられるというところ。通常の調理用温度計だと都度刺して確認する必要があったので…

塊肉大好きなのだけど、調理のたびにちょっとドキドキさせられていたので、これはとても良い買い物でした。安くはないけど!

2021年

COVID-19 の影響はまだまだ続きますが、この地でしかできない、あるいは感じられないことをできるだけ多く経験しつつ、グローバルなプロダクトや組織をそれぞれどう創っていくのか、人にとって技術はどうあるべきなのか、といった大きな話を考え実践する一年にしていこうと思っています。振り返りに対してシンプルすぎる気はしますが、まああまり書きすぎても仕方ないので。 あとは最近ジョギングを始めたのでそれを続けられるようにしたい。。。

そんなわけで今年も楽しくやっていこうと思います。どうぞよろしくおねがいします。

AWS re:Invent 参加7回目のエンジニアがおくる re:Invent 2019 おすすめの過ごし方

夏が終わって、今年も AWS re:Invent の時期が近づいてきました。 AWS 最大のグローバルカンファレンスである re:Invent の動き出しはかなり早く、5,6月にはもうチケットが売り出され、人気のあるホテルはそのくらいの時期に抑えないと部屋がなくなってしまう… というくらいのカンファレンスになっています。

今の会社に新卒入社してから、幸運にも毎年 re:Invent には参加できていて、登壇などもありつつ、今年で7回目になります (初回である2012年はまだ学生だったので行けなかった)。もはや re:Invent に行かない自分が想像できないレベル。

さすがに7回も行くと、いろいろわかってくることもあり、最近では自社でまだ参加していない人を積極的に連れ出すということをやったりしています。 その中で、「re:Invent にせっかく参加したならこんな感じで動くと良いよ」みたいなドキュメントを書いており、また去年はセミナーなんかでもお話する機会があったのですが、クローズドな環境で眠らせておくのももったいないなーと思ったので、「現地に行ける人」がどう行動するとより楽しめるのか、を文章として改めて書いてみようと思いました。今年のセッション予約は 10/15 (PDT なので日本では 10/16 超早朝かな) ですので、その前に気持ちを作っておく助けになればと思います。

基本原則

re:Invent の過ごし方としてもっともおすすめなのは、「現地でしかできないことに全力を使うこと」です。日本でできることは日本でやれば良いのです。

やりがちなこと

やりがち、というより、過去の自分がやって微妙な気持ちになった行動です。

セッションにずっと張り付く

会期中ずっとセッション (通常の発表) ばかりに張り付く、というもの。 re:Invent のセッションはそのほとんどが YouTube で資料ごと公開されます。聞くだけで全部理解できる方ならまだ良いですが、英語力に自信のない方はなおさら、通訳もないセッションを時差ボケの頭で頑張って聞くよりも、手と頭を動かしながら何かできるところへ行ったほうが面白いです。

ただし、Keynote や発表された新サービスのセッション、どうしても気になるセッションはやはり別。現地で周囲の雰囲気も含めて見ることはとても楽しいし、ためになると思います。

日本人とずっと行動する

会期中ずっと日本人と行動してて日本語しか話さず「モチベ上がった!来年は英語頑張るぞ!」になっちゃうパターン。まあいいとは思うんですが、 AWS Summit Tokyo で良いのでは、と個人的には思ってしまいます。 セッションやワークショップで隣で座った人と軽く話してみたり、日本人がどこに行くかは気にせず自由に行動するほうが刺激にはなるんじゃないかなと思います。

ちなみに某社では3人以上固まって行動するのはご飯のとき以外はやめようね、ということにしたりしています。

無限に名刺交換してる

自分がそういう役割なのだったら良いとは思うのですが、日本人が集まる店やパーティばかりに行っていても正直あまりグローバルカンファレンスに来た!という感じはしないんじゃないかと思います。re:Invent が提供しているスポンサーパーティである Pub Crawl とか、各社がそれぞれ開催してるレセプションとかに適当に遊びに行ったりするとかをやると、他社のエンジニアやスポンサー企業の (普段使ってるあの SaaS みたいな) 開発エンジニアとかと直接話す機会も得られて結構面白いです。

もちろん、普段会えない日本人と会うチャンス、というのもありはするのですが。二次会くらいから行く、でも十分話せるんじゃないかなと思います。

現地でしかできないことをやる

というわけで、上記のようなありがちな失敗は避けて、巨大な re:Invent を全力で楽しむためにはやはり現地でしかできないことをやるのが一番です。

Keynote を現地で見る

re:Invent の Keynote はめちゃ巨大です。どのくらかっていうとうまい表現が見つからないのでぜひ会場で見てほしい。会場の雰囲気、熱気、何かが発表されたときの会場の反応なんかも含めて、現地で楽しむといろいろ思うところが出てくると思います。

手を動かすイベントに参加する

セッションと同じ枠ではあるものの、ワークショップは実際にサービスを使って何かを作ってみるという内容になっています。ほとんどのワークショップではきちんとドキュメントが用意されているしサポートも手厚いので、実は英語が苦手でもぜんぜん楽しめます。 僕もいろいろなワークショップに参加しましたが、 DynamoDB の中級者向けデータモデリングを手を動かしながら学ぶものや、 Raspberry pi で Alexa Skill を作ってみるものなど、楽しいものがたくさんありました。

他に、GameDay や Security Jam, Hackathon といったイベントもあります。これらのイベントはかなりまとまった時間を使いますが、色々な国、色々なバックグラウンドのエンジニアとチームを組んで問題を説いていったりアーキテクチャの議論をするのはとても楽しいものがあります。僕は毎年 GameDay に参加しています。時折日本に持ってきて開催されるものもありますが、やはり本場の規模感と空気でやるのはすごく楽しいです。

Expo を回って喋って触る

いわゆるスポンサーブースも非常に巨大です。各社結構力を入れていて、営業だけでなく開発エンジニアがいたりするケースもあります。大きなブースだけでなく、小さなブースにも、数年後に日本にやってきてブレイクするようなサービスもありますので、普段聞いたことのないようなブースに行ってみるのが良いでしょう。 他にも、巨大レゴだったり卓球台だったり IoT おもちゃだったりといった体験できるものが色々と置いてあるので、そういうものに触れるのも楽しいです。

なんかこう、話を聞くつもりはないがTシャツだけくれ!みたいなのは、やらないほうが良いと思います…

本当に出たいセッションに出る

冒頭で YouTube で見れるとか書いたのですが、それでも生で見たいセッションはありますよね。 個人的なおすすめはやはりある程度ハイレベルなセッション。ハイレベルといいつつ、その分野の基本知識があれば十分ついていけるものが多いと思います。 かつ、グローバルでやっていっている会社の話を聞くのが良いのではないでしょうか。(今年も出てくれるのかわかりませんが) Netflix とか Airbnb とか。

とりあえず今から何をしたらいいか

どのようなセッションが開催されるのかという Session Catalog は実はもうすでに公開されています。で、予約開始が米国時間の 10/15 (火) です。日本では直前セミナーが10月末〜11月くらいに開催されたりしていますが、その頃には埋まっているセッションやワークショップも多いです。 というか、人気のあるセッション、ワークショップや GameDay, Security Jam などは瞬殺に近いくらいの勢いで予約枠がなくなります。一昨年あたりは予約開始と同時にアクセス殺到でサイトが落ちたりしていたくらい。

というわけで、いますぐ Session Catalog を眺めて、気になるセッションをチェックしておきましょう。その際、開催時間が重複しないか、と、ホテル移動の時間が考慮されているかをよく確認しましょう。

というのも、マップを見るとわかるのですが、re:Inventの会場はいくつかのホテルに分かれています。隣のホテルじゃん楽勝!みたいに思うこともあるかもしれませんが、ラスベガスのホテルは日本やアメリカ他地域のホテルと比べても異常に巨大で、カンファレンスが行われているエリアから表通りに出てくるまで徒歩15分、そこから隣のホテルの入り口まで徒歩10分、そこから… みたいなこともザラにあります。専用シャトルバスもありますが、バスを使ったとしても Keynote などが行われる Venetian から、いちばん端の MGM Grand まで移動するのに3,40分はみたほうが良いです。

説明を読む限り、今年はホテルごとのセッションテーマ (Security とか ML とか) は設定されず、あらゆるジャンルのイベントが全てのホテルで分散して行われるようなので、どのような動き方をするかがより重要になります。

参加するイベントを決めたら、あとは予約開始と同時に素早く予約するだけです!万一予約が溢れてしまったら、当日早めに並べば入れることもあります。

AWS 認定は持っておくと便利

re:Invent に行くにあたって、流石にまったく AWS わからん!という人はいないと思うのですが、もし不安があるなら AWS 認定試験を受けておくのがおすすめです。 AWS 認定 SA なら Associate レベルでも割と広い範囲のサービスをカバーしているので、たとえ自分の専門範囲外だったとしてもそれぞれのサービスにとっつきやすくなります。

それに加えて、認定を持っていると各ホテルに用意された Certificate Lounge が使えるという利点があります。re:Invent の会場を見渡すと、もちろんある程度の飲み物や電源などは確保されているもののやはり数は(人数に対して)少ないです。

その中で、Certificate Lounge では水やジュースなどの飲み物に加えてお菓子なども置いてあり、さらに電源がある席もちらほらあります。入れる人が絞られている分、電源を得られる可能性も高いです。

というわけで、色々な意味でお得なので、ぜひ出発前に取得しておくことをおすすめします。

おわりに

以上、re:Invent にはじめて、あるいは1,2回参加したけどあまり…な方に向けた、個人的なおすすめの動き方ガイドでした。 この他にも re:Invent には体を動かすアクティビティとか、チキン大食いとか、re:Play などのイベントがたくさんあります。ぜひ re:Invent のサイトをくまなくチェックしながら、自分にとって1000%楽しめる楽しみ方を見つけてみてください。

ご質問などありましたらお気軽に @kani_b まで!

MSPJ マイグレーションコンペティション2018winter で優勝してきた

ちょっと時間が経ってしまいましたが、2018/01/27 (土) に開催された MSPJ マイグレーションコンペティション2018winter に参加してきました。

日本MSP協会さんが主催しているイベントで、「古いシステムをいい感じに新しいものにマイグレーションする」コンペティションです。 2年ちょっと前に参加して負けて以来、また出たいなーと思っていたのですが、運良く日程が合い参加することができました。 今回は無事優勝することができました。引き続き開催していただきたいなあと思っておりますので、どういう感じだったかまとめたいと思います。

ルールとチーム

お題は変わらず「いま動いているシステムを新しい環境に移行して欲しい」です。 その他の条件を connpass から引用してみましょう。

- 要望的な何か
    - 今の環境を新しい環境に完全移行して欲しいです。
    - 実施した内容と結果については報告が欲しいです。
    - システムを止めるときは利用者に告知が必要なので連絡が欲しいです。
    - 昔から使っている古い環境なので、バージョンアップして欲しいです。
    - できれば利用者に影響を出さないように切り替えたいです。
    - できればサーバに関する資料があるとありがたいです。
    - できれば今はまったくバックアップを取っていないのでバックアップを取れるようにしたいです
    - できれば今後は利用者が増えるのでシステムを冗長化したいです。
    - できれば新しいインフラエンジニアに引継ぎするために必要な情報がまとまっていると嬉しいです。
- 担当者のコメント
    - 体制変更とかいろいろありまして、システムが分かる人がいなくなってしまいました。
    - 結構前から使っているので、いいタイミングなのでリフレッシュしたいなと思っています。
    - サイト上での商売は続いているので、できるだけ利用者さんに影響が少ないと嬉しいです。
    - そうそう、近々新しいインフラエンジニアが入社予定だから、その方に引き継げるようになっていると嬉しいですね。
    - 本当はいろいろとナウっぽいこともしていい感じにしていきたいんですよ。

これに沿うような問題が出題されます。

チームは当日ランダムなので、同僚と組んで出場!といったことはできないようになっています。 業界経験年数などをもとにチーム分けをしていくのですが、出場条件が30歳以下というところからもわかるようにかなり若く、28歳業界5年目の自分がチームでは最年長という形になりちょっと焦っていました。

Slack に運営との連絡用 channel ができており、そこを主に使うことになります。 短い時間で行うため、課題としていたことなどを忘れやすいため GitHub に private repo を作ってそこに課題を蓄積していくことなどもやっておきました。 基本的に ISUCON などと同様のコミュニケーションスタイルをやっておけばうまくいくと思います。 時間も前回と同じ 10:30 - 17:00 の6時間半。

お題

今回は EC-CUBE を中心とした EC サイトでした。 CentOS6 な Linux マシンの上に DB (MySQL 5.1) が同居しており、 Postfix, Dovecot といったメール環境が乗っていた点が厄介でした。

今回はこの環境がなんと AWS に乗っており、これを Azure に移行するという内容でした。Azure はほぼ使ったこともなかったので、適宜ドキュメントを参照しながらの戦いになりました。

開始して1時間くらいで内容を把握した上で設計を始めました。ここに時間をかけすぎた。。

設計

移行元も移行先もクラウドだし使えるサービスに特に制限はなさそう、かつ要求事項に色々夢のある話が書いてあれば、おれのかんがえたさいきょうのこうせい を作りたくなるものですが、 時間が限られておりあまり盛りすぎると時間が足りなくなることは目に見えていたのでぐっとこらえて最低限の要件を決め、その中で自然にできることを改善の対象として選びました。

  • CentOS6 を CentOS 7 に
    • epel, remi などの外部レポジトリには極力頼らない構成にする
  • ミドルウェア類のバージョンアップ
    • Apache 2.2 -> 2.4
    • MySQL 5.1 -> 5.7
      • MariaDB と悩んだけどソフトウェアのサポート状況を踏まえて MySQL にした
    • PHP 5.3 -> 5.4
      • できれば最新まで上げたかったけどちょっと厳しかった
    • Postfix, Dovecot など
  • 自動バックアップ

このあたりは達成したい事項として含めていました。

移行

メンバー間で担当を割り振り移行を進めました。それぞれ練度が高かったこともありお互い特定の作業を任せあえる状態になっていたのは良かったと思います。 自分は DB の移行などをやっていました。調べていくと root パスワードが運用の中で消失していたため (他のスクリプトに書いてあったらしいが。。) 、最初のメンテナンスは MySQL を skip-grants で再起動して root パスワードを回復するところから始まりました。

切り替えも当初はオンライン切り替えでいけるかな、と思っていましたが、作業時間や構成などを考えるとコストが高く、オンラインに拘って事故るよりはきっちりメンテウインドウを決めてその間で確実に移行しよう、ということで作業を進めました。 幸いにしてデータ量は多くなかったので mysqldump にかかる時間の見積もりをした上でまるごと移行することに。 このへんはざくざくやっていく。

システムの持ち主はあくまでお客さんですのでそれに留意して作業を進める必要があります。例えば以下のようなこと。

  • 予算
    • AWS で1サーバで動いてたシステムが Azure になった瞬間料金倍額になったらびっくりするよね
    • 実際聞いてみると予算状況は割と厳しく、サーバ自体を冗長化したり分割することはこの時点でいったん見送った
  • 使うサービス
    • RDS for MySQL 的なサービスは Azure だとまだ Preview だった
    • Preview でも使えるから選びたくなるけど、お客さんの環境に Preview 版のサービス突っ込むの厳しすぎる
      • 結構使ったチームは多かったらしい
  • お客さんの作業
    • 商品画像アップロードなどもあるサーバであることを考えると、移行漏れが発生するような要素は極力避けるべき
    • なので、変更が発生する業務 (商品作成, 設定やデザインの変更) を時間を決めて止めてもらった
  • 切り替え作業
    • なんのために、どのくらいの時間システムを止めるのか
    • どこにどんな影響があるのか
    • を明確に伝え、その中でやりきる

こんなことを考えつつ作業を進め、最終的に移行可能となったのは終了1時間前くらい。結構ギリギリでした。再起動耐性のチェックもここでやっておきました。 メンテ時間も無事狙い通りにおさまり、こちらでの確認とお客さんへの確認をしつつ問題なかったので旧環境を撤収 (料金がかかり続けるので地味に大事だと思った)。 あくまで環境は "後任に引き継がなければならない" のでドキュメントを早めに書き始めました。文書は Google Docs でそれぞれがーっと書き、最後に1人が体裁を整えるスタイル。

自動バックアップは間に合わないかな…と思っていたものの、Azure Backup が予想以上に素早く環境を作れるようになっていたため、こちらを使いました。

17時に Slack で最終的な資料を提出して終了。 懇親会で寿司などをいただきつつ結果発表があり、なんとか優勝をいただきました。

感想

第一回から運営の方も狙っているところではあると思いますが、「普段の業務でやっていること」を忠実に考えてやっていけば良い結果になるコンペティションなのだと思います。 ぱっと考えれば自明なことなんだけど、限られた時間やメンバー、予算でそれをちゃんとやっていくのは結構難しい。 さいきょうのアーキテクチャを競う会ではないというところは前回の敗戦から学んだ部分で、それを踏まえた方針がちゃんと機能して優勝まで持ってこれたという点はよかったなと思いました。

マネージャになって1年半が経ち、なかなか全力で手を動かし続けるというのも難しかったりするお年頃ということもあり、全力で1つのことに集中し続けられたのもこういう大会の良いところだと思います。良いトレーニングになりました。

環境の準備から参加チームからの問い合わせ対応まで、この大会の運営はたぶんめちゃくちゃ大変なんだろうなあと毎回思っているのですが、今回も非常にスムーズな運営で、余計なことに気を使わず楽しめました。運営いただいた日本 MSP 協会のみなさま、ありがとうございました。そろそろ出場条件的にも厳しくなるので、次回またぜひ出場して勝ち逃げとしたいなあと思う所存です。

いただいた賞金でとりあえず Anova を買いました。何も考えず温玉のせローストビーフ丼が作れておいしいです。

運営、参加者のみなさま、チームメイトの id:renjikari さんと okazaki さん、ありがとうございました。次回以降もぜひよろしくおねがいします。

2017年ふりかえりと2018年

気づけば社会人5年目になっていて、もうすぐ6年目に突入します。 これまで振り返り的なことはあまり書いていなかったのだけど、 なんとなく書くことにしました。

2017年ふりかえり

仕事

1年半前にマネージャーになり、2017年ははじめて自分がマネージャーの状態で1年を過ごすことになりました。 マネージャーとして自分がどうなのか、という自己評価をすることは色々な意味で難しいと思うのですが、部のメンバーが楽しく胸を張れる仕事に取り組めるようにやるべきことを全部やる、という部分については少しだけできるようになってきたのかなと思います。

部署がけっこうなサイズで、SRE やセキュリティだけではなく社内システムやデータ基盤も扱っています。コンテキストを切り替えながら仕事をするのは結構たいへんということもありますが、それ以上に社内システムやデータ基盤のレイヤには、SRE やセキュリティの分野だけで仕事をしていたら出会わなかったであろう話がたくさん転がっていました。オフィス設備や社内ネットワークにはじまり、ERP の話とか、CRM, SFA とか、そのデータ連携とか。もちろんそれぞれの知識が必要になることもそうなのですが、意外といわゆる Web 系では普通となりつつあるようなことを適用できる部分もあったり、難しく、また面白くとても勉強にもなりました。

エンジニアとして特に大きい仕事はサービスの完全 HTTPS 化でしょうか。仕込みは2016年以前から、変更自体は2017年が明けてすぐに完了したのですが、SRE Tech Talks#2Chrome Tech Talk Night#9 , 大規模HTTPS導入Night などに呼んでいただきました。 会社の技術ブログ記事 を書いたところで技術評論社さまからお声がけをいただき、WEB+DB PRESS Vol.100に完全 HTTPS 化に記事を書いた こともとても良い経験でした。 記事を書いて以降、多くのサービスの完全 HTTPS 化に関する記事を見ることになり、また自分が紹介していた手法が使われていたりするのを見るのはかなり嬉しかったです。 2017年初頭から2017年末にかけて、日本の (Chrome を使った) HTTPS トラフィックは約30%から約60%まで増加したようです。Chrome の仕様変更などが一番大きな材料であったとは思いますし、各社数年単位で時間をかけて実行してきたような話ですが、もしこの30%の中のわずかにでも貢献できていたならすごく嬉しいことだなあと思います。実際のところはわかりませんが…

対外発表という点では、去年に引き続き AWS Summit Tokyo 2017 に登壇したことからオファーをいただき、なんと AWS re:Invent 2017で登壇することになりました。re:Invent に参加するのは5回目ですが、人生初の英語 + 海外での発表をまさかこの場ですることになるとは思いませんでした。英語の訓練をかなり高密度でする必要にも迫られて、本番もそうですが準備段階から大変良い経験になりました。

他にも SREcon17 Americas に参加したり、 Hardening 1010 Cash Flowに出場 (スポンサー賞をいただきました) するなど社外に出るようにしたおかげか、自分の中で数年前とまったく考え方が変わったようなこと、あるいは参考事例がなくて不安だったことに自信がつく経験などが多くありました。

総じて、2017年もとても楽しくお仕事できたなあと思います。

趣味

ブログのタイトルにもするくらいスキューバダイビングが趣味だったのですが、今まで沖縄の海に潜ったことがなくて、 Hardening で沖縄出張するついでに初めて潜ってきました。 学生時代からよく潜っていた八丈島ともよく比較されるのですが、ベクトルが違うきれいさだなーと思います。 学生時代から水中では10年前くらいのふるーいコンデジを使っていたのですが、沖縄に潜ってからすぐに GoPro Hero5 を買いました。水中で何度か使いましたが、動画だけでなくちゃんと写真も撮れます。色々やってついに JMB サファイアに到達したこともあり、あまり行ってなかったエリアに潜りに行こうと思います。

f:id:kani_b:20170912113432j:plain

f:id:kani_b:20180104233135p:plain

会社にサバゲー部が誕生し、前から興味があったので行ってみたところ非常に面白くてこれも相当な趣味になりました。1年前は装備も何もなかったのですが、今では Amazonサバゲー用品ばかりおすすめされるようになりました。朝から車で千葉まで行って一日遊び、帰りに温泉に寄って焼肉食べて帰ってくるとパーフェクト休日完成という感じです。

ゲームは PS4 Pro と PSVR を手に入れてエースコンバット7がいつ出ても大丈夫になりました。ニーアオートマタとスパロボV、Farpoint、海賊無双3 あたりが特によかったなと思います。ミニスーファミが出てから深夜にちょっとずつスーパーマリオ RPG をやれたのもよかったし、 Switch も年末ついに買えた。満足な2017年でした。

2018年

去年はマネージャー業をきちんとこなすのに精一杯だった感が否めないのだけど、少し塩梅もわかってきた部分もあり、現状の動き方をよりよくしながら技術的な取り組みを増やしたいと思っています。 自分が考える理想の SRE やセキュリティに携わるエンジニアを体現できるくらいになりたいなあと思いつつ、できないことややりたくても手がついていないこともたくさんあり、まあ修行していくしかないなという気持ちです。

趣味のほうは引き続きという感じですが、30台も見えてきたのでそろそろ体をいい感じにする努力をします。。。サバゲーのためにも体力と筋力のためのトレーニングをどうにかしてちゃんと続けたい。

そんなわけで今年も楽しく過ごせればと思います。どうぞよろしくおねがいします。

AWS NLB についてあれこれ

AWS ELB (ALB, CLB) には日頃からだいぶお世話になっているわけですが、新しい Network Load Balancer (NLB) がリリースされましたね。

新しいNetwork Load Balancer – 秒間数百万リクエストに簡単にスケーリング | Amazon Web Services ブログ

雑に言えば CLB TCP モードの次世代版というとこですかね。 ざっくりドキュメントを読みつつ、いくつか気になる点があったのでまとめます。 ドキュメントに記載されていない内容は私が検証した内容です。何か間違いがあればお気軽にご指摘ください。

パケットはどのように流れるのか

一応図にしておきます。なんというか懐かしい (とか言ったら怒られそうな) 流れですね。 ALB や CLB (HTTP, TCP 両方) ではロードバランサがそれぞれの通信を終端していわゆるプロキシのような役割を果たしているのと比較すると、NLB はパケットの送信元/宛先アドレスを書き換えるのみに見えます。LVS の NAT モードと同様の挙動というところでしょうか。あくまで戻りのパケットは NLB に送出されておりいわゆる DSR ではないように見えます。

f:id:kani_b:20170920130201p:plain

internet-facing と internal の違い

基本的に ALB と変わりありません。

internet-facing

  • 起動する AZ および subnet を選ぶ
    • subnet には IGW が attach されている必要がある (いわゆる public)
  • DNS name が割り振られる
    • 返すのは各 AZ ごとに起動時に払い出された public IP もしくは起動時に追加した EIP
  • バックエンドインスタンスは private subnet に所属していても問題ないが、VPC Route Table においてデフォルトルート (0.0.0.0/0) が設定されている必要がある

internal

  • 起動する AZ および subnet を選ぶ
    • subnet に IGW, NAT Gateway などが attach されている必要はない
  • DNS name が割り振られる
    • 返すのは各 AZ ごとにランダム (DHCP?) に割り振られたプライベート IP アドレス

NLB が返す IP アドレスについて

NLB は1つの AZ につき1つのIPアドレスを持ち、それぞれの IP アドレスへのトラフィックは必ずその AZ にルーティングされます。 例えば AZ-A に 10.0.0.0/24, AZ-B に 10.0.1.0/24 の subnet を作成して設定し、A,B それぞれの AZ にまたがる NLB を作成したとすると、DNS が返す IP アドレスは以下それぞれ2つになります。

  • internet-facing
    • xxx.xxx.xxx.xxx (AZ-A 用 public IP / EIP)
    • yyy.yyy.yyy.yyy (AZ-B 用 public IP / EIP)
    • バックエンドへのヘルスチェックにはプライベート IP アドレスが適当に切り出されて使われる
  • internal
    • 10.0.0.x (AZ-A の subnet から切り出した IP)
    • 10.0.1.y (AZ-B の subnet から切り出した IP)
    • ヘルスチェック元 IP アドレスは同じ

クライアントはどちらかを選択して通信を行うことになりますが、その際選択した IP アドレスが所属している subnet と必ず通信を行うことになるわけです。例えば xxx.xxx.xxx.xxx にパケットを送出した際、それが AZ-B のバックエンドインスタンスにルーティングされることはありません。 これが NLB のリリース紹介記事にも書いてある Zonality ってことですね。

Zonality って結局どういうことなのか

先述の通り NLB から見える IP アドレスは必ず1 AZ に紐付きます。 2AZ に NLB をアタッチした状態で DNS を引いてみると必ず2つの IP アドレスが返ってきます。よって、例えば以下のように Web - App - DB のような構成にした際の接続にすべて NLB を使っている構成であれば、先頭の NLB が Zonal であっても後半の NLB で他の AZ にバランスされてしまうように見えます。

f:id:kani_b:20170920130236p:plain

これはあくまでクライアントの実装による話です。 例えば glibc の getaddrinfo(3) は RFC 3484 Rule 9 によって定義されているように、複数の IP アドレスが返された際は longest match によって IP アドレスをソートして返します。上記の図のように、それぞれのインスタンスが同じ Subnet に存在する (= NLB が同じ Subnet にある) 場合、 getaddrinfo(3) を使っているクライアントでは、同じ Subnet, 同じ AZ の NLB エンドポイントが使われるようになります。 *1

Redis や memcached をはじめとした低遅延なデータストアを利用する際には AZ またぎのレイテンシが地味に効いてくるケースがあるため、NLB と Subnet が1対1になっていることは役に立ちそうです。 NLB を利用することで、普段は同じ AZ のインスタンスに接続しつつ、AZ が全滅した際には別の AZ に接続することができます。 ただし、この挙動はあくまでクライアントに依存するものであるため、上記のような挙動をしない場合にはクライアント側での対応が必要ですし、Subnet をまたぐようなケースでもクライアント側での対応が必要です。 また、AZ 間のバランスは接続元/接続先インスタンス共に適切に保たなければ、均衡が崩れて負荷が偏ってしまうことには注意が必要ですね。

障害時に使われる IP アドレス

IP アドレスと AZ が紐付いているので、例えば AZ-B のバックエンドインスタンスが全滅したしまった際に yyy.yyy.yyy.yyy あるいは 10.0.1.y をクライアントが選択すると、どのバックエンドインスタンスにもルーティングされないことになってしまいます。 ざっと実験した感じ、NLB では以下のような挙動をするようでした。(internet-facing, internal 共通)

  • 全ての AZ に healthy なバックエンドインスタンスが存在する場合、全 AZ の IP アドレスを返す
  • healthy なバックエンドインスタンスがいない AZ が1つ以上存在する場合、その AZ を抜いた IP アドレス (上記の例だと xxx.xxx.xxx.xxx) のみを返す
  • 全ての AZ でバックエンドインスタンスが全滅した場合、全 AZ の IP アドレスを返す

よって、片方の AZ が全滅するような障害においても、DNS name をベースとして (IP アドレスを直接べた書きなどせず) クライアントが接続しようとする場合、全滅した AZ に接続しようとしてタイムアウト…といったことにはならないようです。Route53 の Alias Record にも対応しており、こちらを設定した場合でも同様の挙動をします。 NLB 自体の IP アドレスは固定ですが、複数 AZ を利用する際に複数ある IP アドレスをそのままドメインの A レコードとして設定してしまうと、AZ が全滅した際でもクライアントが接続できない AZ の IP アドレスを使ってしまうリスクが残ることになります。 そのような設定をする場合は Route53 の Healthcheck および Failover 機能 (もしくは他社 DNS における同様の機能) を一緒に使うことになるでしょう。 Active/Active な状態にしておくことで、 NLB の DNS レコードと同じような挙動を実現できそうです。

セキュリティグループについて

NLB そのものにはセキュリティグループを設定できません。バックエンドインスタンスにおいてセキュリティグループを設定する必要があります。 バックエンドインスタンスには送信元 IP アドレスがクライアントのままになっているパケットが届きますので、これをベースにして設定をする必要があります。 インターネットに公開する場合、ターゲットとなるポートは 0.0.0.0/0 からのアクセスを許可、ヘルスチェック用ポートは NLB が起動している subnet の CIDR からのアクセスを許可すれば良いでしょう。

internet-facing な NLB を使う場合、クライアントからバックエンドインスタンスへの直接アクセスを許可する必要がある?

という書き込みをちらほら見かけましたが、答えはNOです。 バックエンドインスタンスがクライアント (インターネット) からの直接アクセスを受けるためには以下の3条件が揃っている必要があります。

  • バックエンドインスタンスが所属する subnet に IGW が attach されている
  • バックエンドインスタンスに public IP もしくは EIP が割り振られている
  • バックエンドインスタンスが所属するセキュリティグループに適切な許可設定 (e.g. 80/tcp に 0.0.0.0/0 からのアクセスを許可) がされている

NLB のバックエンドインスタンスとなるためには、このうち最後の条件のみを満たしていれば良いです。 (上述の通り、 VPC Route Table においてデフォルトルート (0.0.0.0/0) が設定されている必要はあります)
よって、例えば以下のように NLB は public subnet に起動し、private subnet のインスタンストラフィックを流す (インターネットからのトラフィックは NLB のみで受ける) といった構成も問題なく行えることになります。

f:id:kani_b:20170920130251p:plain

ただし、internal においてもセキュリティグループが利用できないという制約は変わりません。つまり、バックエンドインスタンスのセキュリティグループにクライアントインスタンスのセキュリティグループを許可設定してもアクセスができません。 細かい制御を求められるところではちょっと不便ですね。

まとめ

NLB の挙動や存在する制約などについてまとめました。 アクセス制御の点で少し面倒な部分はあるものの、ALB や CLB と比較してもより普通に (X-F-F や Proxy Protocol などを考慮せず) 使え、かつ IP 固定なのは便利だなと思います。あと起動がめっちゃ早いです。 Zonality もクライアント依存な部分はありますが個人的には便利 (欲を言えばクロス AZ と選びたい) だなと思いました。 ALB で受けられない, もしくは不便なユースケースは NLB を積極的に使うと便利そう。

Simple Icons の更新もお待ちしてます!!!

*1:気になる方は glibc の getaddrinfo.c あたりを読んでみると雰囲気がわかると思います