Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS ハッカソン体験記~ゲーム開発で得られたAWSスキル紹介~
Search
toyo-da01
February 04, 2025
Technology
0
8
AWS ハッカソン体験記~ゲーム開発で得られたAWSスキル紹介~
AWS Jr.Champions登壇資料。AWSハッカソン体験記紹介。
toyo-da01
February 04, 2025
Tweet
Share
More Decks by toyo-da01
See All by toyo-da01
Amazon Connect コンタクトフローの大量移管?!
da01toyo
0
5
UTM (統合脅威管理; FortiGate) on AWSを構築するにはどんなネットワーク設定??
da01toyo
0
37
悪用厳禁! SQLインジェクションやってみた!
da01toyo
0
5
業務効率化したいのに時間がない??OSSとLambdaを用いたツールのスピード開発術
da01toyo
0
8
普通のやり方だとできない!?💦 Amazon Connect x Lambdaのレア?な連携のご紹介!
da01toyo
0
11
CI/CD ツール導入で達成した、開発と運用の協力関係強化とストレスフリーなリリースプロセスの実現に迫る!
da01toyo
0
8
CI / CDって具体的にどう動いている??
da01toyo
0
2
監視オペレータはもういらない?~Amazon Connectを用いたスペシャリスト自動手配システムの内製開発~
da01toyo
0
4
優良な技術サイトを「お気に入り」で終わらせないためのWebアプリケーション開発
da01toyo
0
3
Other Decks in Technology
See All in Technology
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
210
OpenHands🤲にContributeしてみた
kotauchisunsun
1
490
Lambda Web Adapterについて自分なりに理解してみた
smt7174
5
140
解析の定理証明実践@Lean 4
dec9ue
1
190
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
150
How Community Opened Global Doors
hiroramos4
PRO
1
130
Github Copilot エージェントモードで試してみた
ochtum
0
130
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
230
CursorによるPMO業務の代替 / Automating PMO Tasks with Cursor
motoyoshi_kakaku
2
720
2025-06-26 GitHub CopilotとAI駆動開発:実践と導入のリアル
fl_kawachi
1
220
5min GuardDuty Extended Threat Detection EKS
takakuni
0
180
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
210
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bash Introduction
62gerente
614
210k
Visualization
eitanlees
146
16k
What's in a price? How to price your products and services
michaelherold
246
12k
How STYLIGHT went responsive
nonsquared
100
5.6k
Six Lessons from altMBA
skipperchong
28
3.9k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Side Projects
sachag
455
42k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Transcript
/ AWS ハッカソン体験記 ~ゲーム開発で得られたAWSスキル紹介~ 2025/02/04 Jr. Champions第7回目勉強会 豊岡大地
/ /10 ―― 今回の内容 ―― 2 ハッカソンについて • devpost.com
AWS Game Builder Challenge ✓ 概要 Amazon Q Developer・生成AIのアシストを用いて、開発速度を向上さ せて、AWSサービスでゲーム開発をしてください ※1位の賞金は、$25,000!※ ✓ 提出物 ・Webホスティングをしていればゲームサイト ・コードレポジトリ(パブリック) ・生成AIをどのように用いたか [Optional] 動画、AWSフィードバック、AWS re:Postへのブログ投稿 AWSからAzure, GCP。 公式~有志開催まで諸々揃ってました!
/ /10 ―― 今回の提出した内容 ―― 3 Python Game Library
(pyxel) ✓ 概要 WAFの気持ちになって、悪意のあるパケットをさばくシュー ティングゲームです笑 (”Q”を自分で押さないと終わらないクソゲーです笑) ✓ 提出物(※皆さん、アクセスできます!) ・DevPost https://devpost.com/software/packet-shooting-game ・サイト https://gameday.pmda01.com/index.html ・コードレポジトリ(パブリック) https://gitlab.com/Toyo-Daichi/hackathon_aws_gameBuilderChallenge ※GitLab Duo(with Amazon Q)を使いたかったものの、まだ SaaS版では使えませんでした。 ・生成AIをどのように用いたか Amazon Nova Canvasを用いて、キャラクター作成を模索 Amazon Qに質問をすることで、トラブルシューティング こんな感じで作れます! 16x16 or 32x32
/ /10 ―― どんな感じで進めたか? ―― 4 スケジュール • 公開日:2024/11/02
• 提出日:2025/01/15 提出日 完成度 100% 0% 日程 12/18~20 12/23~28 12/30~1/3 1/6~10 1/13~1/15 1/15~1/17 Amazon Novaと格闘 締め切りドリブン発動 Pythonのライブラリが Webホスティングだと 限定されてる レコード登録だけして、 アップデートを続ける裏技 アーキ① アーキ② アーキ③ アーキ④ 本格始動は、 色々あって2024/12/18から実施
/ /10 ―― アーキテクチャの遷移(1/4) ―― 5 Pub (255.0/24) AWS Cloud
ap-northeast-1 VPC (192.168.0.0/16) AZ-1 AZ-3 Aurora servreless Pub (254.0/24) • Webホスティングしない • DBがパブリック ⇒いけてないので、 やっぱりWebホスティングしよう!
/ /10 ―― アーキテクチャの遷移(2/4) ―― 6 Pri (101.0/24) AWS Cloud
ap-northeast-1 VPC (192.168.0.0/16) Pub (192.168.255.0/24) AZ-1 AZ-3 Pub (192.168.253.0/24) Pub (192.168.254.0/24) Fargate Pri (192.168.1.0/24) Pri (192.168.2.0/24) Ex Application Load Balancer NAT Gateway Elastic Network Interface Elastic Network Interface ECS Task ECS Task Aurora servreless ECR Image scanning Pri (102.0/24) ここで突っかかります、、
/ /10 ―― アーキテクチャの遷移(2/4) ―― 6 Pri (101.0/24) AWS Cloud
ap-northeast-1 VPC (192.168.0.0/16) Pub (192.168.255.0/24) AZ-1 AZ-3 Pub (192.168.253.0/24) Pub (192.168.254.0/24) Fargate Pri (192.168.1.0/24) Pri (192.168.2.0/24) Ex Application Load Balancer NAT Gateway Elastic Network Interface Elastic Network Interface ECS Task ECS Task Aurora servreless ECR Image scanning Pri (102.0/24) 最近のPythonは、 HTMLタグでも動かすことができます! Pyodideはブラウザ向けのPythonランタイムで、 Pyxelもウェブホスティング機能もこの方法で提供。 ※関連ワード ”WebAssembly” <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.jsdelivr.net/pyodide/v0.24.1/full/pyodide.js"></script> </head> <body> <script> async function main() { let pyodide = await loadPyodide(); const code = ` from datetime import datetime now = datetime.now() now.strftime("ただいま%Y年%m月%d日 %H時%M分%S秒です") `; window.alert(pyodide.runPython(code)); }; main(); </script> </body> </html> ここで突っかかります、、 便利な一方、ライブラリが限定
/ /10 ―― アーキテクチャの遷移(3/4) ―― 7 Pri (3.0/24) Pri (101.0/24)
AWS Cloud ap-northeast-1 VPC (192.168.0.0/16) Pub (192.168.255.0/24) AZ-1 AZ-3 Pub (192.168.253.0/24) Pub (192.168.254.0/24) Fargate(Frontend) Pri (192.168.1.0/24) Pri (192.168.2.0/24) Ex Application Load Balancer NAT Gateway Elastic Network Interface Elastic Network Interface ECS Task ECS Task Aurora servreless ECR Image scanning Backend Pri (102.0/24) Pri (4.0/24) In Application Load Balancer Pri (5.0/24) Pri (6.0/24) ここで突っかかります、、
/ /10 ―― アーキテクチャの遷移(3/4) ―― 7 Pri (3.0/24) Pri (101.0/24)
AWS Cloud ap-northeast-1 VPC (192.168.0.0/16) Pub (192.168.255.0/24) AZ-1 AZ-3 Pub (192.168.253.0/24) Pub (192.168.254.0/24) Fargate(Frontend) Pri (192.168.1.0/24) Pri (192.168.2.0/24) Ex Application Load Balancer NAT Gateway Elastic Network Interface Elastic Network Interface ECS Task ECS Task Aurora servreless ECR Image scanning Backend Pri (102.0/24) Pri (4.0/24) In Application Load Balancer Pri (5.0/24) Pri (6.0/24) ここで突っかかります、、 ECSの異なるサービス間で通信をする場合は、 名前解決を意識する必要があります。 関連ワード:CloudMap
/ /10 ―― アーキテクチャの遷移(4/4) ―― 8 Pri (101.0/24) AWS Cloud
VPC (192.168.0.0/16) Pub (192.168.255.0/24) AZ-1 AZ-3 Pub (192.168.253.0/24) Pub (192.168.254.0/24) Ex Application Load Balancer NAT Gateway Elastic Network Interface Elastic Network Interface Aurora servreless ECR Image scanning Backend Pri (102.0/24) Pri (1.0/24) Pri (2.0/24) HTTPS ap-northeast-1 HTTPS • フロントエンドでは、pyxelをパッケージ化 してしまえば静的ファイルになったのでS3 ホスティングにできた!
/ /10 ―― 細かいTips集 ―― 9 1. Amazon Aurora Serverless
v2でゼロキャパシティ―が提供されました! ⇒バージョンによっては、最小キャパシティーが0.5のままなので注意が必要です。 (最初のデフォルトパラメータのバージョンではゼロキャパシティーは使えませんでした) 2. Amazon Nova Canpassはすごいですが、 細かい条件下*だと、それなりにスクリプト工夫してみも難しかったです *今回だと16x16 or 32x32 px)で描画してほしかった 明らかに情報量が多い、、
/ /10 ―― 今回のハッカソンを得られたこと・最後に ―― • 普段業務で使わないサービスを積極的にアーキテクチャに採用できて理解度を深められた点 • 普段業務で関りが少ないメンバーと交流ができる点+各々技術スタックを共有できた点 -
開発環境整備で気づいたTips ✓ メンバー毎のライブラリ整備が楽なように、開発環境EC2にSSH接続で潜って共同開発を検討 ⇒今回はアプリケーション描画が必要なもので、X11で転送する形になり、遅すぎた 「ssh x11 forwarding 遅い」でたくさんヒットしたが、暗号化の設定代えても改善なし ✓ Pythonでもpoetryのパッケージマネージャーがあり、JS/TSみたいにpackage.jsonの感じで使えた! AWSスキルの向上にはある程度の締め切りドリブンが必要だと思うので、ぜひAWS周りのハッカソンに 挑戦してみてはいかがでしょうか?! チームメンバー足りない場合は、ぜひ声かけてください!笑 10