AWS - Intro
이 페이지는 다음에 대한 공부 기록입니다
JAVA(자바), Python(파이썬) 기반의
AI 활용 응용 소프트웨어 개발자 양성 과정
2021.11.10. ~ 2022.05.18.
찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요
83일차 수업
AWS 이용하기
centOS로 mysql 사용하기
-
관리 콘솔에서 ‘가상 머신 시작’ 클릭
-
AWS Marketplace탭에서 centos8 선택
-
t2.micro 유형으로 선택해서 생성 후
-
키페어를 생성, 키페어를 통해 실행
-
EC2 관리에서 네트워크 및 보안에 탄력적 IP 생성하기
-
내 centos인스턴스와 연결해주기
-
iterm을 열어서
# 키페어 pem파일을 ~/.ssh/로 복사하기
cp pem키파일 ~/.ssh/
# 복사 잘 됬는지 확인하기
cd ~/.ssh/
ll
# pem키의 권한 변경하기
chmod 600 ~/.ssh/pem키파일
# config 파일 생성하기
vi ~/.ssh/config
Host 원하는 서비스 이름
HostName 탄력적 IP
User centos
IdentityFile ~/.ssh/pem키파일
# config파일 권한 설정해주기
chmod 700 ~/.ssh/config
# 접속해보기
ssh keypair
파일 권한
리눅스는 총 10자리의 알파벳을 통해서 파일의 종류와 권한을 표시
첫번째 자리는 디렉토리, 파일을 구분, d : 디렉토리, - : 파일
그 뒤 3자리 씩 끊어서 해당 권한을 표시, (소유자, 그룹, 전체)
-
r : 읽기, w : 쓰기, x : 실행
-
숫자로도 표현 가능, 알파벳은 1, -은 0으로 표현
-
ex) drwxr-xr-x 변환하면 755
리눅스 명령어
명령어 | 설명 |
---|---|
ls | 목록보기 |
pwd | 현재 작업 디렉토리 경로 |
cd 경로 | 해당 경로로 작업 디렉토리 변경 |
cp 파일경로 복사경로 | 복사 경로에 파일 복사, 디렉토리의 경우 파일 경로 앞 -r 추가 |
rm 파일 | 해당 파일 삭제 |
mv 파일경로 복사경로 | 복사 경로에 파일 복사, 디렉토리의 경우 파일 경로 앞 -r 추가 |
touch 파일 | 최종 시간 변경 |
mkdir 디렉토리 | 디렉토리 생성 |
rmdir 디렉토리 | 디렉토리 삭제, 빈 디렉토리만 가능 |
cat / text 파일 | 파일 내용 보기 |
find 파일 | 파일, 디렉토리 찾기 |
~ | 홈 경로로 이동, 별도 지정 가능 |
su | 사용자 변경 |
docker mysql
# Repository 정보 사용할 수 있게 yum-utils 패키지 설치하기
sudo yum install -y yum-utils
# 오류 발생
# Failed to download metadata for repo ‘AppStream’ : Cannot prepare internal mirrorlist : NO URLs in mirrorlist
# centOS 8이 지원 종료되었다고 한다, 8 Stream으로 배포판 변경을 하는 과정이 필요하다
# yum의 레파지토리를 관리하는 디렉토리로 이동하고
cd /etc/yum.repos.d/
# 마이그레이션하기, 파일 세팅을 치환
sudo sed -i ‘s/mirrorlist/#mirrorlist/g’ /etc/yum.repos.d/CentOS-*
sudo sed -I ‘s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g’ /etc/yum.repos.d/CentOS-*
# 다시 yum-utils 패키지 설치 시도
sudo yum install -y yum-utils
# 성공, docker repos 설치하기
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
# sudo 입력하기 번거로워서 root 계정으로 해보자
# 비밀번호 설정해주고
sudo passwd root
# root 계정으로
su
# docker 야간 저장소 활성화
yum-config-manager --enable docker-ce-nightly
# docker test 채널 활성화
yum-config-manager --enable docker-ce-test
# docker 설치하기
yum install docker-ce docker-ce-cli contained.io --allowerasing
# docker 설치 확인
systemctl start docker
ps -ef | grepdocker
# docker 버전 확인
docker -v
# 실행해보기, 해당 이미지를 찾아서 run 해준다
docker run hello-world
# docker의 컨테이너 리스트를 확인해본다
docker ps -a
# hello-world가 생긴것을 확인해주고, 필요없으니까 지운다
docker rm 컨테이너ID
# mysql 실행하기
# 컨테이너 생성
# -d : 백그라운드 실행, -p : 호스트와 컨테이너 간의 포트 접속 설정, -e : 컨테이너 환경변수 설정
docker run -d -p 9876:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7
# 컨테이너 실행
# -it : 컨테이너 종료하지 않고, 터미널 입력을 계속 전달
docker exec -it 컨테이너아이디 /bin/bash
# mysql 실행, 위 환경변수로 설정한 pw 입력
mysql -u root -p
# databases 확인하기
show databases;
# 외부에서도 접속 가능하게 연결하기
# centOS 에도 mysql 설치하기
yum install mysql
# IP주소 확인하기, IPAddress 값을 확인
docker inspect 컨테이너ID
# mysql 실행하기, docker내부의 database 와 연동됨을 확인할 수 있다
mysql -u root -p --host 확인한IP--port 3306
# user 생성, 권한 설정 해보기
use mysql;
CREATE USER ‘test’@’%’ IDENTIFIED BY ‘1234’;
GRANT ALL PRIVILEGES ON *.* TO ‘test’@’%’;
FLUSH PRIVILEGES;
ubuntu oracle
동일하게 AWS에서 ubuntu 인스턴스를 생성한다
oracle 홈페이지에서 oracle 11gR2 리눅스 버전을 다운받는다
iterm 을 통해서 진행한다
# zip파일을 인스턴스에 전송해준다
scp -i [pem경로] [oracle zip 경로] ubuntu@[인스턴스 public DNS]:/home/ubuntu/
# ubuntu 인스턴스 접속 후 root계정으로, zip파일을 압축해제하기 위해 unzip 설치
apt install unzip
# 압축해제
unzip oracle*.zip
# 해당 폴더로 이동 후 rpm파일을 deb로 변환하기 위해 alien을 설치
apt -y install alien
# 변환
alien --scripts -d oracle*
# deb으로 변환된 프로그램을 설치
dpkg --install oracle*.deb
# 오라클 설정
/etc/init.d/oracle-xe configure
# 환경변수 설정
vim ~/.bashrc
# 설정 저장 후
source ~/.bashrc
# 리스너 확인
lsnrctl status
# sqlplus 실행
sqlplus 계정명
# 환경변수 목록
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH