Post

사이드 프로젝트를 위한 AWS 구축 해보기6

사이드 프로젝트를 위한 AWS 구축 해보기6

들어가며

이번 포스트는 책 내용을 참고하지 않고, 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

SSH 접속 규칙 추가

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}]”
1
### 3.5 인스턴스 상태 확인

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]

1
### 4.5 RDS 인스턴스 생성

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
    • db 확인
      • t2.micro를 지원하는 db가 없는 것으로 확인함
  • H2 Database를 강제로 써야하는 상황!

결론

  • AWS Cli 설치를 해보고 EC2, RDS 설치 시도까지 해봤음
  • EC2와 RDS간의 호환성을 확인해볼 수 있는 기회였음
This post is licensed under CC BY 4.0 by the author.