GitHubとAWS Lambdaで始める体験型CI/CD入門ワークショップを公開しました

GitHubとAWS Lambdaで始める体験型CI/CD入門ワークショップを公開しました

2026.06.23

DX・AI・内製化の推進などにより、ソフトウェア開発に足を踏み入れる機会が増えています。

何もない状態からチーム開発しようとすると、以下の様な問題が発生します。

  • AWSコンソールを直接操作してデプロイしている
  • デプロイ作業が属人化されている
  • 開発中・デプロイのソースコードがうまく管理できていない
  • テストの自動化を仕組み化できていない

このような現場を支援する中で生まれたのが、今回公開した入門者向けワークショップです。
このワークショップでは、GitHubからAWS LambdaへのCI/CDパイプラインを数時間で構築します。

AWS LambdaのGitHub Actions CI/CD入門 | lambda-cicd-workshop

workshop_architecture

AWS Lambda関数をGitHubからAWSへデプロイするCI/CDを構築する中で以下を学べます。

  • aws login/OIDCによる一時認証の活用
  • IaC を活用したリソース作成
  • テスト(CI)・デプロイ(CD)の自動化

ワークショップのやりやすさ、わかりやすさを優先し、本番適用しにくい箇所もある点はご了承ください。

ステップ

ワークショップは10のステップに分かれています

かいつまんで紹介します

1. Lambda関数を準備する -- CloudFormationでLambda関数を準備

ステップ1では、ワークショップで使うAWS Lambda関数をAWSが提供するIaCサービスであるCloudFormationで構築します。

IaC化することで、コンソール操作に依存することなく、再現性のある形で同じリソースを作成できます。

このCloudFormationテンプレートには、インフラレイヤーとアプリレイヤーの両方が含まれています。

2. GitHubにコードを置く -- リポジトリ作成とpush

ステップ2では、ステップ1でデプロイしたリソースの内,頻繁に変わる(インフラとライフサイクルの異なる)アプリケーションコードのみをGitHubで管理します。

プログラムはPythonです。

3. CI(静的解析) -- ローカル環境で手動テスト

Lambda関数はPythonで書かれています。

uv を使い、ローカルで開発環境をセットアップし、静的解析ツール(リンター)のRuffを使えるようにします。

4. GitHub ActionsのCI -- GitHub Actionsで自動テスト

ローカル環境で実行した静的解析が、GitHub上でコードを変更する(Pull Requestを作る)たびに自動で実行されるようにGitHub Actionsを設定します。

5. AWS CLIで認証する -- aws loginで一時認証情報を取得

aws loginを使って、一時認証情報を取得し、AWSをCLI操作する準備をします。

6. 手動デプロイ -- ローカル環境からデプロイ

aws loginで発行した一時認証情報を利用し、AWS CLIを使って、ローカル環境からLambda関数をデプロイします。

永続的な認証情報の発行は不要です。

7. OIDC -- GitHubとAWSの信頼関係を構築する

フェーズ5・6では、人間がブラウザでログインしてAWSを操作しました。

このフェーズでは、GitHub Actionsが同じようにAWSを操作するための認証の仕組み(OIDC)を設定します。

aws login と同様に、永続的な認証情報の発行は不要です。

oidc_federation

8. GitHub ActionsのCD -- GitHub Actionsから自動デプロイ

フェーズ6で手動で行ったデプロイ操作を、フェーズ7で構築したOIDCの信頼関係を使ってシステム化します。

9. CI/CDパイプライン -- IssueからPRを経てAWSデプロイまで

ここまでで、CI/CDの仕組みはすべて整いました。このフェーズでは、実際の開発に近い流れでコード変更からデプロイまでを体験します。

特に、Issueに変更内容を記載し、GitHub Copilotの Coding Agent にコード修正を任せます。

agentはブランチを切ってコードを直し、draftの Pull Request を作ってくれます。そのPRに対してCIが走り、テストが通ればマージしてCDでデプロイ、という流れです。

10. まとめ -- 振り返りとこの先へ

このワークショップで構築したCI/CDパイプラインを元に、以下の様な拡張を試してみましょう。

  • 既存のAWS Lambda関数への適用
  • デプロイ先AWSアカウントの切り替え
  • CI用テストの追加
  • AWS Lambda以外のAWSサービスへの適用

最後に

このワークショップは、これまでAWS CLIやIaCを使わず、コンソールベースでAWS開発してきたユーザー向けに、数時間でGitHub×AWSのCI/CDを一通り体験できるように設計しました。

  • ローカル -> AWS 間の操作をGitHub Actionsに置き換える
  • 永続的な認証情報を一切払い出さずに、一時的な認証情報を利用
  • GitHub Copilot のcoding agentに移譲した開発

など、基本機能・考えを一通り網羅しています。

ぜひ一度お試しください。

AWS LambdaのGitHub Actions CI/CD入門 | lambda-cicd-workshop

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事