Recap Series
- セッション 02:TerraformによるAWSコンプライアンス
- セッション 03:初心者からビルダーへ――素晴らしいクラウドの旅
- セッション 04:LaravelとBrefによるチームファーストのサーバーレスエンジニアリング
- セッション 05:イベント開会式:AWS Community Day Hong Kong 2025
- セッション 06:Agent-to-Agent:AWS 上で相互運用可能な AI を構築する
- セッション 07:別のテレメトリデータを AI エージェントで活用し、改善を加速する
- セッション 08:バイブコーディングからの卒業:Kiro による仕様駆動開発
- セッション 09:MCP と AI エージェントを活用した自動テスト
- セッション 10:通信セキュリティのモダナイゼーション:機械学習を活用したアプローチ
- セッション 11:GenAIエージェントの再考:RAGとMCP
- セッション 12:TAKとAWSを活用した災害・緊急対応
- セッション 13:テストの観点からサーバーレスアプリケーションのワークフローを再考する
- セッション 14:クラウド成功のための実践的なAWS FinOps
録画
https://www.youtube.com/watch?v=Rs0yu_fEgFQ
経歴
- AWSとの歩みを紹介した。
- クラウドコンピューティングの予備知識がない状態で、2023年に学習を始めた。
- AWS User Group Philippinesに参加し、AWS Creativesチームの一員になった。
- AWSを使ってサービスのデプロイ、コードの実行、プロジェクトの構築に取り組んだ。
- 6か月以内にクラウドコンサルタント、AWS User Group Philippinesのコミュニティリード、AWS Community Builderとなり、AWS Certified Cloud Practitioner認定も取得した。
AWS User Group Philippines
- ミートアップリードとしての役割を説明した。
- 学生、キャリアチェンジを目指す人、若手プロフェッショナルを対象に、無料のセミナーやウェビナーを毎月開催している。
- 学習とコミュニティ交流を促進するため、さまざまなイベントを主催している。
AWS Community Builderになるまで
- 自身の歩みを紹介した。
- UI/UXデザインの経験はあったものの、技術的なバックグラウンドがない状態でAWSに取り組み始めた。
- コミュニティのリソースを通じてAWSを学んだ。
- 6か月以内にAWSを使ったさまざまなアプリケーションの作成に関する記事を書き、AWS Community Builderに応募した。
リソースとコラボレーション
- [ 1 ] 参加者にフィードバックと協力を呼びかけた。
- フィードバックフォームへの回答を依頼した。
- Tutorials Dojoが提供するAWS模擬試験のQRコードを案内した。
- [ 2 ] 無料の模擬試験リソースを提供した。
- Tutorials Dojoの模擬試験を無料で受験できるバウチャーが参加者に提供されると発表した。
- AWS Certified Cloud PractitionerまたはSAA試験に向けた参加者の準備を支援することを目的としている。
まとめ
- 参加者がこのセッションに価値を見いだし、提供されたリソースを活用することへの期待を述べた。
- AWSコミュニティでのさらなる交流と協力を呼びかけた。
AWS LambdaとCORSを使ったPythonコードプレイグラウンドの作成
目的
- WebインターフェイスからPythonコードを実行できるコードプレイグラウンドを作成する。
アーキテクチャ
- フロントエンド:Amazon EC2上で稼働するWebサイト。
- バックエンド:Pythonコードを実行するAWS Lambda関数。
Pythonコードプレイグラウンドの作成手順
[ 1 ] AWS Lambda関数を作成する
- AWS Management Consoleを開く。
- Lambdaへ移動し、[関数の作成]をクリックする。
- [一から作成]を選択する。
- 関数名を入力する(例:UG_HK_PythonCodePlayground)。
- ランタイムとしてPythonを選択する。
- Lambdaの基本的な権限を持つ新しい実行ロールを作成する。
[ 2 ] CORSを使用する関数URLを設定する
- Lambda関数の設定で[関数URL]へ移動する。
- 関数URLを有効にする。
- 次のヘッダーを追加してCORSを設定する。
- 公開するヘッダー(Expose Headers):Content-Type
- 許可するヘッダー(Allow Headers):Content-Type
- 必要に応じて、キャッシュ用の有効期間(Max Age)を設定する。
[ 3 ] Lambda関数のコードを記述してデプロイする
- Lambda関数エディターでPythonコードを記述する。
- 関数を保存してデプロイする。
[ 4 ] フロントエンド(HTMLファイル)を作成する
- Visual Studio Codeを開く。
- フロントエンド用のHTMLファイルを作成する。
- Lambdaの設定から関数URLをコピーする。
- HTMLファイル内で関数URLを使用し、Lambda関数を呼び出して実行する。
[ 5 ] 構成をテストする
- フロントエンドがLambda関数と通信できるよう、CORSが正しく設定されていることを確認する。
- WebインターフェイスからPythonコードを実行するテストを行う。
要点
- CORS設定:フロントエンドとLambda関数の通信を可能にするために不可欠。
- 関数URL:Lambda関数に直接アクセスできるHTTP(S)エンドポイントを提供する。
- テスト:Pythonコードが正しく実行され、フロントエンドが結果を取得できることを確認する。
まとめ
- このPythonコードプレイグラウンドでは、バックエンドにAWS Lambda、フロントエンドにAmazon EC2を活用し、WebインターフェイスからPythonコードを実行できる。
トラブルシューティング手順
[ 1 ] HTTPエラー
- コードの実行時にHTTPエラーが発生した。
- 問題を特定するため、ブラウザーの開発者ツールで[ネットワーク]タブを確認した。
[ 2 ] CORSの設定ミス
- 次のヘッダーについて問題を特定した。
Access-Control-Allow-Origin
ヘッダーが`false`に設定されていた
- Allow Originヘッダーが適切に設定されていることを確認し、CORS設定を修正した。
[ 3 ] CORS設定の確認
- ブラウザーの開発者ツールを使用して、ネットワークリクエストを調べた。
- 次の2種類のリクエストを確認した。
- プリフライトリクエスト:ブラウザーがサーバーに問い合わせ、オリジン間リクエストが許可されているか確認する。
- 実際のリクエスト(PATCH):プリフライトリクエストでCORS設定が正しいと確認された後、サーバーからデータを取得する。
[ 4 ] 最終テスト
- CORS設定を修正した後、コードを再度実行した。
- Pythonコードが正常に実行され、フロントエンドが結果を取得できたことを確認した。
まとめ
- Pythonコードプレイグラウンドで、バックエンドにAWS Lambda、フロントエンドにAmazon EC2を活用し、WebインターフェイスからPythonコードを実行できるようになった。
- フロントエンドがLambda関数と通信するには、CORSを適切に設定することが極めて重要である。
Pythonコードプレイグラウンドの振り返り
- 関数URLを設定したAWS Lambdaを使用し、Pythonコードプレイグラウンドを作成する方法を実演した。
- 異なるWebサイトからでもオリジン間の問題なくLambda関数へアクセスできるよう、CORSを設定した。
- 異なるオリジン間で必要なリクエストとレスポンスをブラウザーが許可するようにした。
- Lambdaリソースと外部Webサイト間の安全な通信におけるCORS設定の重要性を強調した。
