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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
toyo-da01
February 04, 2025
Technology
21
0
Share
AWS ハッカソン体験記~ゲーム開発で得られたAWSスキル紹介~
AWS Jr.Champions登壇資料。AWSハッカソン体験記紹介。
toyo-da01
February 04, 2025
More Decks by toyo-da01
See All by toyo-da01
AWSからLANケーブルへ!パブリッククラウドエンジニアのホームラボ挑戦
da01toyo
0
12
Amazon Connect コンタクトフローの大量移管?!
da01toyo
0
41
UTM (統合脅威管理; FortiGate) on AWSを構築するにはどんなネットワーク設定??
da01toyo
0
260
悪用厳禁! SQLインジェクションやってみた!
da01toyo
0
16
業務効率化したいのに時間がない??OSSとLambdaを用いたツールのスピード開発術
da01toyo
0
23
普通のやり方だとできない!?💦 Amazon Connect x Lambdaのレア?な連携のご紹介!
da01toyo
0
24
CI/CD ツール導入で達成した、開発と運用の協力関係強化とストレスフリーなリリースプロセスの実現に迫る!
da01toyo
0
20
CI / CDって具体的にどう動いている??
da01toyo
0
12
監視オペレータはもういらない?~Amazon Connectを用いたスペシャリスト自動手配システムの内製開発~
da01toyo
0
11
Other Decks in Technology
See All in Technology
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
300
OpenID Connectによるサービス間連携
takesection
0
140
layerx-fde-practices
cipepser
6
2.9k
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
180
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
110
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
1
290
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
620
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
140
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
930
Claude code Orchestra
ozakiomumkj
2
570
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
140
Fabric-cicd によるAzure DevOps デプロイ
ryomaru0825
0
140
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
My Coaching Mixtape
mlcsv
0
140
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Leo the Paperboy
mayatellez
7
1.8k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
300
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Statistics for Hackers
jakevdp
799
230k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
180
The untapped power of vector embeddings
frankvandijk
2
1.7k
Ethics towards AI in product and experience design
skipperchong
2
290
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
800
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