ハマログ

株式会社イーツー・インフォの社員ブログ

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インフラサーバーバックアップ自動バックアップ自動化

  kaneko tomo   2024年2月7日


関連記事

CentOS Stream 8のdnfがError: GPG check FAILEDになったときの対応

CentOS Stream 8のOSが標準インストールされている状態でdnf u…

Dockerについてあれこれ

最近Dockerでローカル環境を構築したりしてるので、ここまでに調べた事・気づい…

AWS CodeDeployでデプロイ対象のアプリケーションによって処理を制御する

AWS CodeDeployでアプリケーションをデプロイする際に、特定のサーバー…


← 前の投稿

次の投稿 →