더보기
78일 차 회고.
이번 연휴에 일정이 다 차 있어서 공부를 많이는 하지 못할 것 같다. 그리고 연휴가 끝나면 단위 프로젝트를 시작해야 해서 이것도 준비해야 할 것 같다. 일단 연휴 동안 회고를 작성하고, 남은 시간에는 코딩테스트를 준비해야겠다.
1. AWS
1-1. EC2
인스턴스 생성 - ec2-mysql
- Name
- ec2-mysql
- Application and OS Images
- Amazon Linux 2023 AMI (64-bit x86)
- Instance type
- t2.micro (프리 티어)
- Key pair
- ec2-mysql-keypair (새로 생성)
- Network settings
- ec2-mysql-sg (보안 그룹 생성)
SSH 접속 - ec2-mysql (XSHELL)
- 세션 생성
- 이름
- ec2-mysql
- 호스트
- EC2의 Public IPv4 address
- 이름
- 사용자 인증 설정
- 사용자 이름
- ec2-user
- 방법
- Public Key
- 사용자 이름
- SSH 사용자 인증
- Public Key - 사용자 키
- ec2-mysql-keypair.pem
- 암호 저장
- Public Key - 사용자 키
- ec2-mysql 접속

yum 명령어
- 전체 업데이트
sudo yum update
- 보안 관련 패키지 업데이트
sudo yum update --security
SSH 설정
- ssh key 생성
ssh-keygen -t rsa
ls -l ~/.ssh
- authorized_keys
cat >> ~/.ssh/authorized_keys < ~/.ssh/id_rsa.pub
- 테스트
ssh localhost
AMI(Amazon Machine Image)
- EC2 인스턴스 설정을 이미지로 저장하여 나중에 동일한 인스턴스를 생성할 수 있도록 한다.
AMI 생성
- 이미지 이름을 지정하고 나머지 설정을 확인한 후, 이미지를 생성한다.

인스턴스 생성 - ec2-client
- 인스턴스 이름 및 OS 이미지를 지정한다.


- 인스턴스 타입을 지정한다.

- 기존의 Key Pair를 선택한다.

- 기존의 네트워크를 지정한다.

- 스토리지를 설정한다.

- 설정한 항목을 확인한 후, 인스턴스를 생성한다.

SSH 접속 - ec2-client (XSHELL)
- 세션 생성
- 이름
- ec2-client
- 호스트
- EC2의 Public IPv4 address
- 이름
- 사용자 인증 설정
- 사용자 이름
- ec2-user
- 방법
- Public Key
- 사용자 이름
-
- 설정
- 사용자 키
- ec2-mysql-keypair.pem
- 사용자 키
- 설정
- ec2-client 접속

- hosts 파일 편집
- 모든 세션 적용
- 도구 > 키 입력 보내기 > 모든 세션
- 모든 세션 적용
sudo vim /etc/hosts
...
# AWS Private IPv4
172.31.46.112 ec2-mysql
172.31.42.60 ec2-client
- hostname 변경
- 현재 세션 적용
- 도구 > 키 입력 보내기 > 현재 세션
- 현재 세션 적용
# ec2-mysql
sudo hostnamectl set-hostname ec2-mysql
# ec2-client
sudo hostnamectl set-hostname ec2-client
- EC2 간 SSH 접속
# ec2-mysql
ssh ec2-client
# ec2-client
ssh ec2-mysql
MySQL - ec2-mysql
sudo yum install https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm -y
- MySQL 설치
sudo yum install mysql-community-server -y
- MySQL 시작 및 상태 확인
sudo systemctl start mysqld
sudo ststemctl status mysqld
- MySQL Server 접속
# 임시 비밀번호 확인
sudo grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
# -> 임시 비밀번호 입력
- 비밀번호 변경
ALTER user 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Qwer1234!';
FLUSH PRIVILEGES;
exit
mysql -u root -p
- 사용자 생성
CREATE user 'ec2'@'%' identified by '';
- 외부아이피 허용
sudo vim /etc/my.cnf
...
port = 3306
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
- MySQL Server 재시작
sudo systemctl restart mysqld
sudo ststemctl status mysqld
- 외부아이피 허용 확인
sudo netstat -ntlp | grep mysqld
- MySQL Server 접속
# IP 확인
ifconfig
# IP로 접속
mysql -u ec2 -h <IP 주소> -P 3306 -p
# hostname으로 접속
mysql -u ec2 -h ec2-mysql -P 3306 -p
DBeaver 접속 - ec2-mysqlserver
- Security Group Inbound rules 설정

- DBeaver 설정
- Main
- Server
- Server Host
- EC2의 Public IPv4 address
- Server Host
- Authentication (Database Native)
- Username
- ec2
- Password
- ec2의 비밀번호
- Username
- Server
- Main
MySQL - ec2-client
- MariaDB 클라이언트 설치
sudo dnf install mariadb105
- MySQL Server 접속
sudo mysql -u ec2 -h ec2-mysql -P 3306 -p
Elastic IP
- Network border group을 ap-northeast-2(Seoul)로 지정하고, Elastic IP 주소를 생성한다.

- 생성한 Elastic IP address를 기존의 EC2 인스턴스에 연결한다.

- Elastic IP address를 삭제할 경우, 먼저 인스턴스와의 연결을 해제한 후에 삭제할 수 있다.
- Disassociate Elastic IP address > Release Elastic IP address
EC2 삭제
- EC2 인스턴스 삭제
- AMI 삭제
- 스냅샷 삭제
- Security Group 삭제
- Elastic IP 삭제
- Key Pair 삭제
'SK네트웍스 Family AI캠프 10기 > Daily 회고' 카테고리의 다른 글
| 80일차. AWS - Slack (0) | 2025.05.09 |
|---|---|
| 79일차. AWS - CodePipeline (0) | 2025.05.07 |
| 77일차. AWS - IAM & EC2 (0) | 2025.04.30 |
| 76일차. Django (0) | 2025.04.29 |
| 75일차. Django (0) | 2025.04.28 |