はじめに
この記事はAWS SAA試験勉強のための、AWSとGitを連携に関する知識のまとめです。
AWS CodeCommit
AWSのマネージドGitリポジトリサービスであるCodeCommitを使用すると、AWSリソースとの連携が簡単になる。
CodeCommitを使用すると、AWSの認証情報を使用してリポジトリにアクセスできる。
AWS CodePipeline
CodePipelineは、AWSのCI/CDサービスであり、異なるソースコードリポジトリ(たとえば、GitHubやCodeCommitなど)からソースコードを取得し、ビルド、テスト、デプロイなどのアクションを実行できる。
AWS Lambdaと組み合わせ
Lambda関数を使用して、特定のGitリポジトリの変更をトリガーにして自動化された処理を実行することができる。
GitHub WebhookやAWS CodeCommitのトリガーとしてLambda関数を設定することができる。
AWS CloudFormation
CloudFormationを使用して、インフラストラクチャのコード化を行い、Gitリポジトリにコードとして保存することができる。
インフラストラクチャの変更は、CloudFormationテンプレートの変更としてGitにコミットされる。
EC2上にGitLabサーバーを構築する
EC2で運用しているGitLabのリポジトリのバックアップを作成する最もシンプルな方法は、EC2にアタッチされているリポジトリを保存しているEBSボリュームのスナップショットを、Data Lifecycle Managerで毎日作成する方法。