TOP>コラム一覧>[BOA328] Manage your infrastructure with Terraform and GitHub Actions(Modernization)

[BOA328] Manage your infrastructure with Terraform and GitHub Actions(Modernization)

TerraformとGitHub Actionsを使用し、gitを介してインフラストラクチャの作成と更新を管理および自動化する方法について説明するこのセッションに参加しました。

GitOpsとは?

GitOpsは、アプリケーション開発に使用されるベストプラクティスをインフラストラクチャ自動化に適用した運用フレームワークです。コード型インフラストラクチャ(IaC)、Git Repository、CI / CDパイプライン(Github Actions)を使用して、インフラストラクチャのプロビジョニングとアプリケーションコードの展開を自動化する機能とフレームワークを提供します。

Github Actions

GitHub Actionsは、ビルド、テスト、および配布パイプラインを自動化するための継続的な統合および配布(CI / CD)プラットフォームであり、写真はECSベースのGitOpsケースです。

このように、GitHub Actionsはプッシュやプルなどのイベントを介して特定のタスクを実行、繰り返し、確認できます。たとえば、コードの変更後にプッシュ時にアプリケーションをビルドおよびデプロイしたり、プル時に変更されたコードに問題がないことを確認したりできます。

Github ActionsとAWS間の連携:OpenID Connect(OIDC)方式で認証

Github ActionsがGithub OICD Providerを介して一時的な認証情報を発行するように要求した場合、AWS Identity Providerが代わりに検証して配信する方法です。aws Identity ProviderとRoleは事前に作成されたリソースを使用しました。

ワークフローの作成

ワークフローは、Gitリポジトリへの.github / workflowsパスに作成するyamlファイルであり、1つ以上のJobで構成される一連の自動化されたワークフローを意味します。プル、プッシュなどのGitイベントによってトリガーされ、実行されます。

展開の進行

最後に、Gitプッシュ時にTerraformを使用したインフラストラクチャの展開の進行状況を確認できました。

Gitの利点を運用インフラにも適用できる利点があり(特に運用環境に問題が生じた場合はGit Revert機能を使用して復元が可能な点)、小規模な運用環境に適した運用モデルと考えられます。

お問い合わせ

引用元

TOP>コラム一覧>[BOA328] Manage your infrastructure with Terraform and GitHub Actions(Modernization)

pagetop