GitHubActions

GitHub ActionsでAWS Lambdaを自動デプロイする手順

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

GitHub ActionsでAWS Lambdaを自動デプロイする手順

GitHub Actionsを使用してAWS Lambda関数を自動デプロイするには、開発環境の準備からワークフロー設定まで一連のステップが必要です。特にAWS CLIの資格証明設定Lambda関数のパッケージングがポイントとなるため、ここでは具体的な手順を解説します。


準備する環境と前提条件

GitHub ActionsでLambda自動デプロイを実現するには、以下の準備が必要です。

必要な環境リスト

  1. AWS CLIの導入:最新バージョンをインストールし、資格証明情報を設定済みであること
  2. Lambda実行環境:Node.jsやPythonなどのランタイムが導入されていること
  3. GitHubアカウント:リポジトリを作成・管理できる権限があること

AWS CLIのバージョン確認は、以下のコマンドで行うことができます。

注意: 公開リポジトリでは資格情報を直接配置しないこと。GitHub Secretsを使用して暗号化した方が安全です。
AWS CLI公式設定ガイド


AWS CLIの資格証明設定

AWS CLIを使用してリソース操作を行うには、AWSアカウントに所属するユーザーまたはロールの認証情報を登録する必要があります。このステップが無ければ、デプロイ時にアクセス権限エラーが発生します。

設定手順

  1. 以下のコマンドでInteractiveモードを起動します。
    bash
    aws configure

  2. プロンプトに応じて、AWS Access Key ID、Secret Access Key、リージョン(例: ap-northeast-1)、出力形式(デフォルトはjson)を入力します。

注意: 公開リポジトリでは資格情報を直接配置しないこと。GitHub Secretsを使用して暗号化した方が安全です。
AWS CLI公式設定ガイド


IAMロールの作成とアクセス許可設定

Lambda関数がAWSリソースにアクセスできるようにするには、IAMロールを作成し、適切な権限を割り当てます。

必要な権限の一例

権限名 説明 公式ドキュメント
AWSLambda_FullAccess Lambda関数の作成・編集に必要 AWS公式
IAMReadOnlyAccess IAMロール管理に必要 AWS公式
AWSCloudFormationFullAccess CloudFormationを使用する場合に必要 AWS公式

ロールを作成後、Lambda関数の実行時にアタッチします。


ワークフローのディレクトリ構成とYAMLファイルの作成

GitHub Actionsでワークフローを設定するには、.github/workflows/ディレクトリにYAMLファイルを作成します。このディレクトリ構成は、リポジトリのCI/CDパイプラインの基盤となるため、確実な配置が重要です。

.github/workflows/ディレクトリの基本構造

.github/workflows/配下には、ワークフローを定義するYAMLファイル(例: lambda-deploy.yml)を配置します。

ファイル名 説明
lambda-deploy.yml Lambda関数のデプロイに特化したワークフロー

ディレクトリ構成は以下のようになります。


GitHub Actions用YAMLファイルのテンプレート

以下は、AWS公式アクションを使用したワークフローYAMLの例です。

このYAMLファイルは、プッシュイベントが発生した際にLambda関数を自動デプロイします。

注意: 本例のARN(arn:aws:iam::123456789012:role/lambda-role)はプレースホルダーです。実際には自分のAWSアカウントIDを使用してください。
AWS IAMロール作成ガイド


Lambda関数のパッケージングとZIPファイルの作成

AWS Lambdaで実行するコードは、ZIP形式にパッケージングしてアップロードする必要があります。特にPythonやNode.jsなどのランタイムごとに手順が異なるため、注意が必要です。

依存ライブラリのインストール手順(Pythonの場合)


ZIP形式への変換コマンド例

Lambda関数を含むディレクトリをZIPファイルに圧縮するには、以下のコマンドを使用します。

この作業は、GitHub Actionsワークフローでも同様のコマンドで実行可能です。

ヒント:AWS SAM CLIやServerless Frameworkを使うと、パッケージングがさらに簡略化されます。
AWS SAM CLI公式ページ


AWS公式アクションでのLambda関数のデプロイ

AWS公式アクションaws-actions/deploy-lambdaを使用すると、Lambda関数のデプロイ手順をYAMLで宣言的に記述できるため、管理が簡単になります。

Deploy Lambda Functionアクションの使用例

ワークフローYAML内のstepsセクションに以下のように記述します。

このアクションは、指定した関数名とパラメータに従ってLambda関数を更新します。


環境変数の設定方法

環境変数は、GitHub Secretsから取得して設定できます。


ワークフローのテストとトラブルシューティング

ワークフローを実行する前には、ローカルでのテストとエラー対応を確認することが重要です。

GitHub Actionsでの実行手順

  1. リポジトリに変更をプッシュします(例: mainブランチへのコミット)
  2. GitHub Actionsのワークフロー実行履歴で、ステップごとのログを確認します
  3. エラーが発生した場合、ログから原因を特定し修正します

トラブルシューティング例

  • AWS CLIの資格証明に失敗 → GitHub Secretsの環境変数を再確認する
  • ZIPファイル作成エラー → zipコマンドが正しく実行されているか確認する
  • ロール権限不足 → IAMロールに適切なポリシーをアタッチする

まとめ

  • 準備環境:AWS CLI、Lambdaランタイム環境、GitHubアカウントが必要
  • ワークフロー構成.github/workflows/ディレクトリにYAMLファイルを作成し、ステップを宣言的に記述
  • パッケージング:依存ライブラリと関数コードをZIP形式に圧縮
  • デプロイアクション:AWS公式アクションを使用して簡潔に設定可能
  • テスト対応:ローカルでの確認やエラーログのチェックで安定性向上

GitHub Actions × AWS Lambdaによる自動デプロイ環境構築は、DevOpsエンジニアにとって必須スキルです。記事の手順を参考に、本日の実装を始めてみてください。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-GitHubActions