[AWS] CLI 를 활용한 RDS Cluster snapshot Restore


AWS 에서 제공되는 관리형 DB 서비스인 Aurora DB 를 활용하면
아래 림과 같이 자동으로 클러스터 스냅샷이 생성 되게 됩니다.

image


이때  콘솔을 통해서 Restore Snapshot 을 진행하게 되면 클러스터와  RDS 인스턴스가 자동으로 생성되게 됩니다.
image



동일한 작업을 AWS CLI로 진행하고자
아래  명령어를 통해 RDS 를 생성해 보았습니다. 


 restore-db-cluster-from-snapshot
[--availability-zones <value>]
--db-cluster-identifier <value>
--snapshot-identifier <value>
--engine <value>
[--engine-version <value>]
[--port <value>]
[--db-subnet-group-name <value>]
[--database-name <value>]
[--option-group-name <value>]
[--vpc-security-group-ids <value>]
[--tags <value>]
[--kms-key-id <value>]
[--enable-iam-database-authentication | --no-enable-iam-database-authentication]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
cs



Snapshot을 통해 DB가 정상적으로 만들어진 것 처럼 표출 되지만
아래와 같이 빈 클러스터만 생성되고 instance 가 생성되지 않습니다.
image

아무리 찾아봐도 Cluster를 동시에 생성할수 가 없어서 검색을 하다보니
CLI를 통해 Cluster Snapshot 을 복원하게 되면 추가적으로 인스턴스 생성작업을 다시 진행해 주어야 했습니다.
AWS 콘솔에서 클러스터 스냅샷을 복원하면

클러스터 생성  –> 클러스터 내부에 인스턴스 생성

위의 두가지  작업을 순차적으로 자동으로 진행해 주지만 CLI는 수동으로 진행을 해주어야 합니다.

아래 명령어를 통해 DB 인스턴스를 생성합니다.


  create-db-instance
[--db-name <value>]
--db-instance-identifier <value>
[--allocated-storage <value>]
--db-instance-class <value>
--engine <value>
[--master-username <value>]
[--master-user-password <value>]
[--db-security-groups <value>]
[--vpc-security-group-ids <value>]
[--availability-zone <value>]
[--db-subnet-group-name <value>]
[--preferred-maintenance-window <value>]
[--db-parameter-group-name <value>]
[--backup-retention-period <value>]
[--preferred-backup-window <value>]
[--port <value>]
[--multi-az | --no-multi-az]
[--engine-version <value>]
[--auto-minor-version-upgrade | --no-auto-minor-version-upgrade]
[--license-model <value>]
[--iops <value>]
[--option-group-name <value>]
[--character-set-name <value>]
[--publicly-accessible | --no-publicly-accessible]
[--tags <value>]
[--db-cluster-identifier <value>]
[--storage-type <value>]
[--tde-credential-arn <value>]
[--tde-credential-password <value>]
[--storage-encrypted | --no-storage-encrypted]
[--kms-key-id <value>]
[--domain <value>]
[--copy-tags-to-snapshot | --no-copy-tags-to-snapshot]
[--monitoring-interval <value>]
[--monitoring-role-arn <value>]
[--domain-iam-role-name <value>]
[--promotion-tier <value>]
[--timezone <value>]
[--enable-iam-database-authentication | --no-enable-iam-database-authentication]
[--enable-performance-insights | --no-enable-performance-insights]
[--performance-insights-kms-key-id <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
cs

cs

여기서 가장 중요한게 아래 옵션 입니다.

--db-cluster-identifier ClusterName
cs

cs

ClusterName 부분에 위에서 생성한 클러스터 이름을 입력하게 되면 클러스터 설정값을 기본으로 DB 클러스터가 생성되게 됩니다.

콘솔에서 확인해 보면 아래와 같이  지정된 클러스터 내부에 정상적으로 인스턴스 가 생성되는 것을 확인할 수 있습니다.

image



참고 : RDS CLI 구성
http://docs.aws.amazon.com/cli/latest/reference/rds/index.html

댓글

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #1

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #2

안드로이드에서 당겨서 새로고침(SwipeRefreshLayout) 쉽게 구현하기