【AWS re:Invent 2024】一人黙々と進めるワークショップと思ったらAWS JAM（チーム戦）だった話リターンズ

# はじめに

AWS re:Invent2024に参加する目的は様々と思いますが、個人的にはせっかく遥々ラスベガスまで来たからには、ハンズオンやGamedayにたくさん参加して手を動かすことで、スキルアップすることもできる良い機会だと考えています:muscle:

レベルの高いものも多々ありひるむ瞬間もありますが、思い切って飛び込んでいくことで、きっと自分の糧になるはずと信じています！

# 昨年こんなことがありました

https://qiita.com/masaki_seyama_POHD_CCoE/items/c921396a69061d67851b

# そして今回も・・・

ありました。

参加したWorkshopは「MAM311-R | The application modernization skills challenge」です。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3333262/bb38083e-6d1c-f627-82f9-c421d651b0bb.png)|
|:--|

概要は下記のとおりです。

トピック：DevOps & Developer Productivity, Migration & Modernization
所要時間：2時間
レベル：300 – Advanced
セッションタイブ：Workshop

>In this hands-on workshop, embark on a cloud-centric transformation journey and hone your modernization skills through a series of practical challenges. Decompose monolithic applications into microservices and deploy them using AWS Lambda. Move from a relational self-hosted data tier to fully managed, cloud-centric data tier. Containerize existing workloads and deploy them using Amazon ECS and Amazon EKS. Add observability and automate it with CI/CD pipelines using AWS CodePipeline, AWS CodeBuild, and AWS CodeDeploy. Join a team in the workshop, and score points by successfully completing modernization challenges using the accounts provided to you. Accelerate your efforts with Amazon Q Developer. You must bring your laptop to participate.

# やっぱり書いてありました

`Join a team in the workshop, and score points by successfully completing modernization challenges using the accounts provided to you`

（訳）`ワークショップのチームに参加し、提供されたアカウントを使用してモダナイゼーション チャレンジを正常に完了してポイントを獲得します`

# 内容

内容としては下記のとおりです。日本語表示が選択できたので日本語でチャレンジしました。

- リフトアンドシフトとアップグレードOS
- ARM64 あなたのデータベース
- 最新のDevOpsへの移行 - AWSによるCI/CDパイプライン
- App2Containerを使用してTomcatをコンテナ化する
- 移行しよう！しかし、迅速な発見を手伝ってくれませんか？
- コンテナASPによるモダナイゼーション
- サーバーレスでクラウドネイティブに移行 - マシン無しでモダナイゼーション！
- データをAWSに移動
- ECSとリファクタースペースの足とひげ
- Java Webアプリケーションのオブザーバビリティ
- このDBを管理対象に移動

「足とひげ」・・・？

# はまりました

最初に「ARM64 あなたのデータベース」に取り組みましたが、いきなり大いにはまってしまい、大半の時間を消費してしまいました・・・
せっかくなので、はまりポイントをご紹介します。

## `rds-monitoring-role`が作成できない
マネジメントコンソール上でインスタンスタイプをGraviton系に変更する操作をしたところ、`rds-monitoring-role`が作成できないというエラーが発生しました。
`rds-monitoring-role`とは下記のとおりです。
> RDS コンソールで拡張モニタリングを有効にすると、Amazon RDS は必要な IAM ロールを作成できます。ロールの名前は rds-monitoring-role です。RDS は、指定済み DB インスタンス、リードレプリカ、またはマルチ AZ DB クラスターに対してこのロールを使用します。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html

たしかにIAMロールを作成する権限は付与されていませんでしたが、拡張モニタリングは無効であったため、なぜこのエラーが発生するのかわかりませんでした。
正解としては「CLIを使う」必要がありました。
マネジメントコンソールからのインスタンス変更操作では、拡張モニタリングの利用有無に関わらず、拡張モニタリング用のIAMロールが作成される仕様であるようです。

# CLI実行時に認証エラーが発生する

CLIでインスタンタイプの変更をしたところ、認証エラーが発生しました。
自身のIAM情報を確認したところ、IAMロールを作成する権限はあるようでした。
`aws sts get-caller-identity`コマンドを実行してみると、クレデンシャルは取得できていました。
下記を参考にコマンドの構文を見直してみましたが、大丈夫そうでした。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Modifying.html#Aurora.Modifying.Instance

最終的には、SAさんに質問してひととおり確認いただいていたところ、インスタンスタイプに入力ミスがあることを見つけ、正しく書き直したところエラーを解消することができました。
冷静に細かく見直せば気づけたものだったかもしれませんが、認証エラーということもあり、ここでもまたはまることになりました・・・


# 結果

外国の参加者と同じチームになった場合、英語でのやり取りが語学の勉強になって良いですが、今回の私のチームは偶然ですが日本人のみで構成されたチームとなりました。

そうなると日本で行うのと状況があまり変わらないのでは？と思われる方もいらっしゃるかもしれませんが、異国の地で偶然巡り合った方々と即席のチームで競技を集中して必死になってやり切る体験は非常に貴重なものだと感じています。

日本語のコミュニケーションはスムーズに行えましたが、（知った後となっては）些細なポイントで躓いて多くの時間を費やしてしまい、自身としては1つの課題しか完遂できず、チームの順位も中間くらいでフィニッシュしました。

# さいごに

思っていたのとは違いましたが、チームで競い合うものなので寧ろより実践力が身に着く機会が得られて良かったと感じています。
ちょっとそうなると困るな・・・という方はぜひ説明文をちゃんと読むことをお勧めします。

# 弊社では一緒に働く仲間を募集中です

現在、様々な職種を募集しております。
カジュアル面談も可能ですので、ご興味のある方は是非ご連絡ください！

募集内容等詳細は、是非採用サイトをご確認ください。
https://engineer.po-holdings.co.jp/