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
11
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
24
UTM (統合脅威管理; FortiGate) on AWSを構築するにはどんなネットワーク設定??
da01toyo
0
160
悪用厳禁! SQLインジェクションやってみた!
da01toyo
0
11
業務効率化したいのに時間がない??OSSとLambdaを用いたツールのスピード開発術
da01toyo
0
15
普通のやり方だとできない!?💦 Amazon Connect x Lambdaのレア?な連携のご紹介!
da01toyo
0
16
CI/CD ツール導入で達成した、開発と運用の協力関係強化とストレスフリーなリリースプロセスの実現に迫る!
da01toyo
0
13
CI / CDって具体的にどう動いている??
da01toyo
0
5
監視オペレータはもういらない?~Amazon Connectを用いたスペシャリスト自動手配システムの内製開発~
da01toyo
0
5
優良な技術サイトを「お気に入り」で終わらせないためのWebアプリケーション開発
da01toyo
0
4
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
340
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
850
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
370
Data Hubグループ 紹介資料
sansan33
PRO
0
2.5k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Next.js 16の新機能 Cache Components について
sutetotanuki
0
210
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
170
First-Principles-of-Scrum
hiranabe
3
1.5k
CQRS/ESになぜアクターモデルが必要なのか
j5ik2o
0
690
AWS re:Invent2025最新動向まとめ(NRIグループre:Cap 2025)
gamogamo
0
150
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
1
1.7k
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
54
Optimizing for Happiness
mojombo
379
70k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
30
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
100
Tell your own story through comics
letsgokoyo
0
770
Chasing Engaging Ingredients in Design
codingconduct
0
94
The Language of Interfaces
destraynor
162
26k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
Building Adaptive Systems
keathley
44
2.9k
BBQ
matthewcrist
89
9.9k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
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