Search

RDS

이유는 모르겠으나 SubnetGroup은 CRD에 없어서 직접 생성 해줘야 한다.
apiVersion: ec2.aws.crossplane.io/v1beta1 kind: SecurityGroup metadata: name: skills-db-sg spec: forProvider: region: ap-northeast-2 vpcId: <VPC_ID> groupName: skills-db-sg description: Enable rds access egress: # AWS will treat it as all ports any protocol - ipProtocol: '-1' ipRanges: - cidrIp: 0.0.0.0/0 ingress: - fromPort: 3306 ipProtocol: tcp ipRanges: - cidrIp: 0.0.0.0/0 toPort: 3306 tags: - key: Name value: skills-db-sg providerConfigRef: name: aws-provider --- apiVersion: rds.aws.crossplane.io/v1alpha1 kind: DBInstance metadata: name: skills-aurora-mysql-instance-1 spec: forProvider: region: ap-northeast-2 dbInstanceClass: db.t3.medium engine: aurora-mysql dbClusterIdentifier: skills-aurora-mysql-cluster publiclyAccessible: false availabilityZone: ap-northeast-2a providerConfigRef: name: aws-provider deletionPolicy: Delete --- apiVersion: rds.aws.crossplane.io/v1alpha1 kind: DBCluster metadata: name: skills-aurora-mysql-cluster spec: forProvider: region: ap-northeast-2 engine: aurora-mysql allowMajorVersionUpgrade: true # unset per default (Note: dbClusterParameterGroup with correct dbParameterClusterGroupFamily may needed, before majorVersion upgrade possible) # for majorVersion upgrade via Cluster - depending on the setup - instances may need adjustments: before (e.g. supported instanceClass) or after (e.g. matching dbParameterGroup) the upgrade masterUsername: admin masterUserPasswordSecretRef: name: skills-aurora-mysql-cluster namespace: crossplane-system key: password databaseName: dev skipFinalSnapshot: true vpcSecurityGroupIDRefs: - name: skills-db-sg dbSubnetGroupName: skills-aurora-subnet-group # dbClusterParameterGroupName: skills-cluster-parametergroup applyImmediately: true providerConfigRef: name: aws-provider --- apiVersion: v1 kind: Secret metadata: name: skills-aurora-mysql-cluster namespace: crossplane-system type: Opaque data: password: U2tpbGw1MyMj # Skill53##
YAML
복사
aws rds create-db-subnet-group \ --db-subnet-group-name skills-aurora-subnet-group \ --db-subnet-group-description "Subnet group for Aurora MySQL cluster" \ --subnet-ids <SubnetID1> <SubnetID2> \ --region ap-northeast-2
Shell
복사
kubectl apply -f db-aurora-cluster.yaml
Shell
복사
kubectl get dbcluster.rds
Shell
복사
RDS Cluster가 성공적으로 생성된 모습을 볼 수 있다.
kubectl get securitygroup
Shell
복사
RDS에 사용할 SecurityGroup이 성공적으로 생성된 모습을 볼 수 있다.