/ LECTURE

AWS - Intro

이 페이지는 다음에 대한 공부 기록입니다

JAVA(자바), Python(파이썬) 기반의

AI 활용 응용 소프트웨어 개발자 양성 과정

2021.11.10. ~ 2022.05.18.

찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요

83일차 수업

AWS 이용하기

centOS로 mysql 사용하기

  1. 관리 콘솔에서 ‘가상 머신 시작’ 클릭

  2. AWS Marketplace탭에서 centos8 선택

  3. t2.micro 유형으로 선택해서 생성 후

  4. 키페어를 생성, 키페어를 통해 실행

  5. EC2 관리에서 네트워크 및 보안에 탄력적 IP 생성하기

  6. 내 centos인스턴스와 연결해주기

  7. 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