자습서: AWS CLI을 사용하여 DB 클러스터 스냅샷에서 DB 클러스터 복원 - Amazon Aurora

자습서: AWS CLI을 사용하여 DB 클러스터 스냅샷에서 DB 클러스터 복원

이 자습서에서는 AWS CLI를 사용하여 DB 클러스터 스냅샷에서 DB 클러스터를 복원합니다. AWS CLI를 사용하여 스냅샷에서 DB 클러스터를 복원하는 데는 두 단계가 있습니다.

DB 클러스터 복원

restore-db-cluster-from-snapshot 명령을 사용합니다. 다음 옵션이 필요합니다.

  • --db-cluster-identifier - 복원된 DB 클러스터의 이름입니다.

  • --snapshot-identifier - 복원하는 데 사용되는 스냅샷의 이름입니다.

  • --engine - 복원된 DB 클러스터의 데이터베이스 엔진입니다. 소스 DB 클러스터의 데이터베이스 엔진과 호환되어야 합니다.

    선택할 수 있는 항목은 다음과 같습니다.

    • aurora-mysql – Aurora MySQL 5.7 and 8.0 호환.

    • aurora-postgresql – Aurora PostgreSQL과 호환됩니다.

    이 예제에서는 aurora-mysql을 사용합니다.

  • --engine-version - 복원된 DB 클러스터의 이름. 이 예에서는 MySQL-8.0 호환 버전을 사용합니다.

다음 예에서는 이라는 DB 클러스터 스냅샷에서 명명된 my-new-80-cluster Aurora MySQL 8.0 호환 DB 클러스터를 복원합니다.

DB 클러스터를 복원하려면
  • 다음 명령 중 하나를 사용합니다.

    대상 LinuxmacOS, 또는Unix:

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier my-new-80-cluster \ --snapshot-identifier my-57-cluster-snapshot \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.02.0

    Windows의 경우:

    aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier my-new-80-cluster ^ --snapshot-identifier my-57-cluster-snapshot ^ --engine aurora-mysql ^ --engine-version 8.0.mysql_aurora.3.02.0

다음과 유사하게 출력됩니다.

{ "DBCluster": { "AllocatedStorage": 1, "AvailabilityZones": [ "eu-central-1b", "eu-central-1c", "eu-central-1a" ], "BackupRetentionPeriod": 14, "DatabaseName": "", "DBClusterIdentifier": "my-new-80-cluster", "DBClusterParameterGroup": "default.aurora-mysql8.0", "DBSubnetGroup": "default", "Status": "creating", "Endpoint": "my-new-80-cluster.cluster-############.eu-central-1.rds.amazonaws.com", "ReaderEndpoint": "my-new-80-cluster.cluster-ro-############.eu-central-1.rds.amazonaws.com", "MultiAZ": false, "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.02.0", "Port": 3306, "MasterUsername": "admin", "PreferredBackupWindow": "01:55-02:25", "PreferredMaintenanceWindow": "thu:21:14-thu:21:44", "ReadReplicaIdentifiers": [], "DBClusterMembers": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-########", "Status": "active" } ], "HostedZoneId": "Z1RLNU0EXAMPLE", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:eu-central-1:123456789012:key/#######-5ccc-49cc-8aaa-############", "DbClusterResourceId": "cluster-ZZ12345678ITSJUSTANEXAMPLE", "DBClusterArn": "arn:aws:rds:eu-central-1:123456789012:cluster:my-new-80-cluster", "AssociatedRoles": [], "IAMDatabaseAuthenticationEnabled": false, "ClusterCreateTime": "2022-07-05T20:45:42.171000+00:00", "EngineMode": "provisioned", "DeletionProtection": false, "HttpEndpointEnabled": false, "CopyTagsToSnapshot": false, "CrossAccountClone": false, "DomainMemberships": [], "TagList": [] } }

기본(라이터) DB 인스턴스 생성

기본(라이터) DB 인스턴스를 만들려면 create-db-instance 명령을 사용합니다. 다음 옵션이 필요합니다.

  • --db-cluster-identifier - 복원된 DB 클러스터의 이름.

  • --db-instance-identifier - 기본 인스턴스의 이름.

  • --db-instance-class - 기본 인스턴스에 사용할 DB 인스턴스 클래스의 이름입니다. 이 예제에서는 db.t3.medium을 사용합니다.

    참고

    T DB 인스턴스 클래스는 개발 및 테스트 서버 또는 기타 비프로덕션 서버에만 사용하는 것이 좋습니다. T 인스턴스 클래스에 대한 자세한 내용은 DB 인스턴스 클래스 유형 섹션을 참조하세요.

  • --engine - 프라이머리 DB 인스턴스의 데이터베이스 엔진입니다. 복원된 DB 클러스터에서 사용하는 것과 동일한 데이터베이스 엔진이어야 합니다.

    선택할 수 있는 항목은 다음과 같습니다.

    • aurora-mysql – Aurora MySQL 5.7 and 8.0 호환.

    • aurora-postgresql – Aurora PostgreSQL과 호환됩니다.

    이 예제에서는 aurora-mysql을 사용합니다.

다음 예제에서는 my-new-80-cluster-instance라는 이름의 복원된 Aurora MySQL 8.0 호환 DB 클러스터에 이름이 my-new-80-cluster라고 지정된 기본(라이터) DB 인스턴스를 생성합니다

기본(라이터) DB 인스턴스를 생성하려면
  • 다음 명령 중 하나를 사용합니다.

    대상 LinuxmacOS, 또는Unix:

    aws rds create-db-instance \ --db-cluster-identifier my-new-80-cluster \ --db-instance-identifier my-new-80-cluster-instance \ --db-instance-class db.t3.medium \ --engine aurora-mysql

    Windows의 경우:

    aws rds create-db-instance ^ --db-cluster-identifier my-new-80-cluster ^ --db-instance-identifier my-new-80-cluster-instance ^ --db-instance-class db.t3.medium ^ --engine aurora-mysql

다음과 유사하게 출력됩니다.

{ "DBInstance": { "DBInstanceIdentifier": "my-new-80-cluster-instance", "DBInstanceClass": "db.t3.medium", "Engine": "aurora-mysql", "DBInstanceStatus": "creating", "MasterUsername": "admin", "AllocatedStorage": 1, "PreferredBackupWindow": "01:55-02:25", "BackupRetentionPeriod": 14, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-########", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.aurora-mysql8.0", "ParameterApplyStatus": "in-sync" } ], "DBSubnetGroup": { "DBSubnetGroupName": "default", "DBSubnetGroupDescription": "default", "VpcId": "vpc-2305ca49", "SubnetGroupStatus": "Complete", "Subnets": [ { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1a" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1b" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1c" }, "SubnetOutpost": {}, "SubnetStatus": "Active" } ] }, "PreferredMaintenanceWindow": "sat:02:41-sat:03:11", "PendingModifiedValues": {}, "MultiAZ": false, "EngineVersion": "8.0.mysql_aurora.3.02.0", "AutoMinorVersionUpgrade": true, "ReadReplicaDBInstanceIdentifiers": [], "LicenseModel": "general-public-license", "OptionGroupMemberships": [ { "OptionGroupName": "default:aurora-mysql-8-0", "Status": "in-sync" } ], "PubliclyAccessible": false, "StorageType": "aurora", "DbInstancePort": 0, "DBClusterIdentifier": "my-new-80-cluster", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:eu-central-1:534026745191:key/#######-5ccc-49cc-8aaa-############", "DbiResourceId": "db-5C6UT5PU0YETANOTHEREXAMPLE", "CACertificateIdentifier": "rds-ca-2019", "DomainMemberships": [], "CopyTagsToSnapshot": false, "MonitoringInterval": 0, "PromotionTier": 1, "DBInstanceArn": "arn:aws:rds:eu-central-1:123456789012:db:my-new-80-cluster-instance", "IAMDatabaseAuthenticationEnabled": false, "PerformanceInsightsEnabled": false, "DeletionProtection": false, "AssociatedRoles": [], "TagList": [] } }