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
10
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
12
UTM (統合脅威管理; FortiGate) on AWSを構築するにはどんなネットワーク設定??
da01toyo
0
57
悪用厳禁! SQLインジェクションやってみた!
da01toyo
0
5
業務効率化したいのに時間がない??OSSとLambdaを用いたツールのスピード開発術
da01toyo
0
12
普通のやり方だとできない!?💦 Amazon Connect x Lambdaのレア?な連携のご紹介!
da01toyo
0
15
CI/CD ツール導入で達成した、開発と運用の協力関係強化とストレスフリーなリリースプロセスの実現に迫る!
da01toyo
0
10
CI / CDって具体的にどう動いている??
da01toyo
0
3
監視オペレータはもういらない?~Amazon Connectを用いたスペシャリスト自動手配システムの内製開発~
da01toyo
0
4
優良な技術サイトを「お気に入り」で終わらせないためのWebアプリケーション開発
da01toyo
0
3
Other Decks in Technology
See All in Technology
リモートワークで心掛けていること 〜AI活用編〜
naoki85
0
140
Lambda management with ecspresso and Terraform
ijin
2
160
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2.3k
AI関数が早くなったので試してみよう
kumakura
0
280
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
720
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
3
340
相互運用可能な学修歴クレデンシャルに向けた標準技術と国際動向
fujie
0
240
Claude Codeは仕様駆動の夢を見ない
gotalab555
23
6.4k
生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
vaaaaanquish
15
8.3k
20250807 Applied Engineer Open House
sakana_ai
PRO
2
280
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
3
410
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
360
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Statistics for Hackers
jakevdp
799
220k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
How GitHub (no longer) Works
holman
314
140k
Become a Pro
speakerdeck
PRO
29
5.5k
Visualization
eitanlees
146
16k
Being A Developer After 40
akosma
90
590k
Site-Speed That Sticks
csswizardry
10
760
Testing 201, or: Great Expectations
jmmastey
45
7.6k
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