들어가며
이번 포스트는 책 내용을 참고하지 않고, AI를 통해 진행하였습니다.
AWS Cli를 통한 AWS EC2 & RDS 구축하기
1. AWS Cli 설치
- 해당 페이지에서 msi 파일을 받아 설치(Windows 환경)
- https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html
2. AWS Access Key ID와 Secret Access Key 설정
- 액세스 키 만들기를 통해 AWS Access Key ID와 Secret Access Key 생성
3. EC2 Free Tier 인스턴스 생성
3.1 보안 그룹 생성
1
| aws ec2 create-security-group --group-name my-sg --description "My security group"
|
3.2 보안 그룹에 SSH 접속 규칙 추가
1
| aws ec2 authorize-security-group-ingress --group-name my-sg --protocol tcp --port 22 --cidr 0.0.0.0/0
|
3.3 SSH 접속 용 key fair 생성
1
| aws ec2 create-key-pair --key-name my-key --query 'KeyMaterial' --output text | Out-File -Encoding ascii -FilePath my-key.pem
|
3.4 EC2 인스턴스 생성
- Free Tier에 적합한 t2.micro 생성 ``` aws ec2 run-instances –image-id ami-035233c9da2fabf52 –count 1 –instance-type t2.micro –key-name my-key –security-groups my-sg –tag-specifications “ResourceType=instance,Tags=[{Key=Name,Value=MyFreeInstance}]”
aws ec2 describe-instances –filters “Name=tag:Name,Values=MyFreeInstance”
1
2
3
|
## 4. RDS Free Tier 인스턴스 생성
### 4.1 RDS용 보안 그룹 생성
|
aws ec2 create-security-group –group-name my-rds-sg –description “RDS security group”
1
2
| ### 4.2 데이터베이스 포트 개방
- Mysql을 사용할 예정이므로 3306 포트 개방
|
aws ec2 authorize-security-group-ingress –group-name my-rds-sg –protocol tcp –port 3306 –source-group my-sg
1
2
|
### 4.3 VPC 및 서브넷 ID 확인
|
aws ec2 describe-vpcs aws ec2 describe-subnets
1
2
|
### 4.4 RDS 서브넷 그룹 생성
|
aws rds create-db-subnet-group –db-subnet-group-name my-db-subnet-group –db-subnet-group-description “My DB subnet group” –subnet-ids [자기 subnet id]
aws rds create-db-instance –db-instance-identifier my-mysql-instance –db-instance-class db.t2.micro –engine mysql –master-username [master id] –master-user-password [비밀번호]–allocated-storage 20 –vpc-security-group-ids [my sg-id] –db-subnet-group-name my-db-subnet-group –no-publicly-accessible –tags Key=Name,Value=MyFreeRDS
1
| - t2.micro와 mysql v8은 호환성이 맞지 않아 에러 발생
|
An error occurred (InvalidParameterCombination) when calling the CreateDBInstance operation: RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.t2.micro, Engine=mysql, EngineVersion=8.0.40, LicenseModel=general-public-license. For supported combinations of instance class and database engine version, see the documentation.
1
2
3
| #### 8.5.1 t2.micro와 조합 가능한 mysql 버전 찾기
- t2.micro에 해당하는 mysql 버전 확인 command 수행
|
aws rds describe-orderable-db-instance-options –engine mysql –db-instance-class db.t2.micro –query “OrderableDBInstanceOptions[].EngineVersion” ```
- 아무 결과가 없었음
- ec2 instance가 지원하는 DB 확인
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support-versions.html
- t2.micro를 지원하는 db가 없는 것으로 확인함
- H2 Database를 강제로 써야하는 상황!
결론
- AWS Cli 설치를 해보고 EC2, RDS 설치 시도까지 해봤음
- EC2와 RDS간의 호환성을 확인해볼 수 있는 기회였음