ハマログ

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

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日


関連記事

EC2のUbuntuでCloudWatch Logsにログを転送する

EC2のUbuntuにCloudWatchエージェントをインストールの続き。 同…

Google Compute EngineのVM CPU使用率のモニタリングとアラート

GCPのCPU使用率をモニタリングする設定のメモはじめに通知先チャンネルを設定し…

AWSでデフォルトのリージョンを固定する

AWSマネジメントコンソールにログインしたときに、普段使っているリージョン(大体…


← 前の投稿

次の投稿 →