ハマログ

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

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日


関連記事

Auroraのマスターユーザー名もマスターパスワードも忘れた

Auroraのマスターユーザー名、パスワードを両方忘れました。 それぞれ、救済方…

AWS Lambdaのトリガーが作成できない(Configuration is ambiguously defined~)

AWS LambdaでS3のPUTイベントをトリガーにして、ある関数を呼び出して…

sendmailからaws sesへのリレー

なぜsendmailからSESか 以下の理由でタイトルのようなことをやった ・S…


← 前の投稿

次の投稿 →