•
이유는 모르겠으나 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이 성공적으로 생성된 모습을 볼 수 있다.