CodeBuildでEC2とAuroraのバックアップを取得する はじめに CodePipelineで製品をデプロイする前に、EC2とAuroraのバックアップを手動で取得していました。 たいした手間でもないのですが、塵も積もればというのと、自動化できるならしておきたいということで対応してみました。 ゴール これ 設定(EC2) 色々端折りますが、肝はBuildspecです。commandの1行目はAMIの作成、2行目が作成完了を待機しています。 version: 0.2 phases: install: runtime-versions: php: 8.2 commands: - IMAGE_ID1=$(aws ec2 create-image --instance-id i-99999999999999999 --name server-web-1-$(date +%Y%m%d%H%M%S) --no-reboot --output json | jq -r '.ImageId') - aws ec2 wait image-available --image-ids $IMAGE_ID1 IAMロールの設定 EC2のCreateImageとDescribeImagesが必要です。 設定(RDS Aurora) BuildSpec EC2とコマンドは違いますがやっていることは同じで、commandの1行目はAMIの作成、2行目が作成完了を待機しています。 version: 0.2 phases: install: runtime-versions: php: 8.2 commands: - SNAPSHOT_ID=$(aws rds create-db-cluster-snapshot --db-cluster-identifier prod-dbcluster --db-cluster-snapshot-identifier prod-dbcluster-$(date +%Y%m%d%H%M%S) --output json | jq -r '.DBClusterSnapshot.DBClusterSnapshotIdentifier') - aws rds wait db-cluster-snapshot-available --db-cluster-snapshot-identifier $SNAPSHOT_ID IAMロールの設定 CreateDBClusterSnapshotとDescribeDBClusterSnapshotsを許可します ということで 完成です。すごく楽になりました。 AWSbackupインフラサーバーバックアップ自動バックアップ自動化 Tweet