この記事はNTTコムウェア AdventCalendar 2024 14日目の記事です。
自己紹介
NTT コムウェアの相崎です。Azure/AWS に関する社内向けの技術支援を行っている、保育園児のワーママです。
ありがたいことに、12/1 から開催された re:Invent2024 に現地参加することができました。世界中のモチベーション高いエンジニアに囲まれ 5 日間どっぷりと AWS に浸かることができ、行ってよかったの一言です。
今回はワーママの観点から re:Invent の参加レポートを書いていきたいと思います。
準備したこと(家庭編)
移動時間含め 1 週間の出張だったので、家事については外注をしました。家事代行を 2 回、作り置きおかずの配達サービスを利用しました。
また、子供には 1 ヶ月程前から出張に行くよと伝えておき心の準備をしてもらいました。
英語について
re:Inventではほとんど全てのセッションが英語で行われる他、世界中の参加者と交流の機会があります。
普段の業務では英語を使うことなく技術ドキュメントでさえも LLM を活用して翻訳してしまっていたので、参加に向けて準備が必要だと考えました。具体的には以下の 2 点をやりました。
- オンライン英会話(2 日に 1 回、3 ヶ月)
- TOEIC の勉強(2ヶ月半勉強し、530点 → 755点)
1 回目のセッションでは翻訳アプリなどに頼らず聞いてみましたが、セッションレポートを書けるほど理解することができなかったので、次のセッションまでの間に文字起こしアプリ(Otter)をインストールしました。
Chalk Talk という形式のセッション(講義テーマについて、登壇者と議論することができるセッション)ではなかなかその場で講義内容を理解して更なる質問をするといったことができず、まだまだ勉強が足りないと感じました。
他の参加者の方々とは食事の際や会場で日本人や外国人と簡単な交流をすることができました。
こちらのボードの前では記念撮影をする人が多く、「写真を撮ってくれる?」から会話が始まることが何度かありました。簡単な会話をすることができたので、オンライン英会話はやっておいてよかったなと思いました。
参加したセッション
今回の re:Invent では KeyNote を含め全部で 13 個のセッション/ワークショップを受けました。
アーキテクチャや開発手法についてのセッションを中心に受けました。また、個人的に IaC が好きなので、関連するものをいくつか受けました。
特に印象的だったものは以下の 2 つです。
Disaster Recovery on AWS :ワークショップ
AWS でのディザスタリカバリ対策について講義を受けたあと実際に以下の 3 パターンを構成し、フェイルオーバー時の動作確認を行うというもの。
- バックアップ&リストア
- AWS Backup によりリソースのバックアップ&リストアを行う。実装が最も簡単で低コストな戦略
- パイロットライト
- セカンダリリージョンにデータはアクティブにレプリケートされるが、サービスはアイドル状態もしくはセカンダリリージョンには存在しない。AWS CLI や CloudFormation によりプロビジョニングを行うことがベストプラクティス
- ウォームスタンバイ
- 少ないキャパシティーのリソースをセカンダリリージョンにデプロイしておき、フェイルオーバー時にスケールアップを行う
実運用環境ではリストアやフェイルオーバーの処理は自動化されますが、このワークショップでは全て手動で行うことによりどのような手順を行うのか理解することができました。また、AWS Fault Injection Service によりリージョン障害を簡単に試すことができることを知りました。
Governance and security with infrastructure as code(IaC):ブレイクアウトセッション
セキュリティと効率性を向上させるための DevOps および IaC の実践について議論された。
-
自動化の重要性、セキュリティチェックのレフトシフト(開発初期段階への移行)、CloudFormation、CDK、
-
AWS ではマルチアカウント戦略を強く推奨しており、開発者が独自のアカウントを使用して実験・テストを行うことでセキュリティリスクの最小限化、作業の効率化につながる
-
CloudFormation のようなツールを使うことで、リソースの作成や変更が原子的(全て成功するか、全て失敗する)に行われ、一貫性を保ちながら環境を管理できる
-
AWS のインフラストラクチャを支援するための具体的なツールの紹介
- CFN Lint
- CloudFormation コードの潜在的な問題を発見
- ベストプラクティスの提案
- CFN Guard
- 独自のポリシーを定義し、ルールに反している箇所がないかチェック&修正箇所の提示
- CDK Nag
- CDKユーザ向けのポリシーチェックツール(S3 バケットがアクセスログを有効にしていない場合や SSL の必須化など)
- Amazon CodeWhisperer
- コードの補完や修正を自動的に提案。インフラストラクチャコードにも対応しており、セキュリティ脆弱性の特定と修正方法の提案を行ってくれる
- CFN Lint
-
CI/CD プロセス効率化ツールの紹介
- AWS CodeBuild
- IaC テンプレートのセキュリティスキャンや静的解析などの様々なチェックを実施できる
- CloudFormation StackSets
- マルチアカウントや大規模なアプリケーションインスタンスを管理し、自動的に展開するネイティブな統合機能を備えたサービス
- AWS CodeBuild
私はこれまで Azure 畑だったということもあり、AWS の IaC /Devops ツールを使う機会がなかったのですが、今回の講義を聞いて一連の CI/CD サイクルを回してみてスキルアップをしようというやる気に満ち溢れてきました。
EXPO
EXPO では各企業のブースの他、AWS Village というものがあり AWS の各分野のエキスパートに質問できるコーナーがありました。日本語対応ブースもありました。
エキスパートへ質問できるコーナーでは、「7 月に Cloud9 の新規利用が停止したが、どのようなサービスを縮小するのかどうか方針はあるのか」という質問をしてみました。
回答としては、「AWS の中の人にもサービス縮小の情報は中々知らされないので具体的にどのサービスが縮小するのか答えることはできない。ただしサービスが終了する場合は代替・後継サービスが周知される。アップデートが多く周知されているサービスを選定すれば大丈夫だろう」とのことでした。
EXPO ではたくさんの SWAG が配られていましたが、不要なものは受け取らず本当に欲しいものだけを受け取るように心がけていました。これは、「サステナビリティチャレンジ」という AWS におけるサステナに関するクイズのスタンプラリーのようなイベントに参加したからかもしれません(笑)
ScyllaDB のキャラが可愛かったので、子供へのお土産にしました。
よかった点
今回の re:Invent は自身が初参加というだけではなく、周りに参加経験のある方がいない中去年の参加レポ記事などを参考に手探りで準備を進めていました。
結果的によかったと思った点をいくつかあげます。
-
メイン会場に近いホテル(カジノ無し)を取った
会場は全部で 5 つありましたが、メイン会場である Venetian と連結する Caesars Forum にいることが多かったです。公式ホテルにはそれらの会場からシャトルバスで移動する距離のところもいくつかありました。宿の予約をするのが遅く公式ホテルが取れなかったのですが、メイン会場から徒歩で帰れる距離のところだったので渋滞を気にせずスムーズに移動することができました。また、カジノがないホテルだったので静かに休むことができました。 -
日本から水を持ってきておいた
アメリカはペットボトルの水がすごく高いと聞いていたので、日本から何本か水を持ってきておきました。
会場ではウォーターサーバーが至る所にあり水不足にはならなかったのですが、ホテルや外出時に大変役に立ちました。
反省点
-
セッション間の移動時間の考慮が甘かった
会場間の移動は徒歩もしくはシャトルバスとなりますが、30 分もあれば移動できるだろうと見積もってセッションを予約していました。実際はシャトルバスの運行間隔や開始 10 分前に着いていないと予約が開放されてしまうなどがあり、お目当てのセッションが受けられないことがありました。間隔は余裕をもって 1 時間見ておいた方がよさそうでした。 -
Chalk Talk で一度も質問できなかった
Chalk Talk を 5 個程度受けたのですが、その場で内容を理解して疑問点をぶつけるということができず、後から翻訳スクリプトを見返して「これを聞いておけばよかった」と思うことが多々ありました。いつ英語が必要になるか分からないので、普段から継続して勉強しておこうと思いました。
帰国後
帰国後は熱の冷めないうちにブログや気になったサービスを試す・・とはいかずに 1 週間頑張ってくれた子供のケアに時間を注ぎました。
少し出遅れてしまいましたがアウトプットや re:Invent を通じて興味を持った分野でのスキルアップなど頑張っていきたいと思います。
記載されている会社名、製品名、サービス名は、各社の商標または登録商標です。