SlideShare a Scribd company logo
1 of 83
Download to read offline
AWS 설정
MADE by 숨.쉬.말.코
강성훈 강진광 김진원 배현준 전나영 최재욱
AWS 프리티어 가입
AWS 프리티어 가입
AWS 프리티어 가입
AWS 프리티어 가입
AWS 프리티어 가입
AWS 프리티어 가입
AWS EC2 인스턴스 생성
[리전 확인]
아시아 태평양 (서울)
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
임의의 구분가능한 값 입력
AWS EC2 인스턴스 생성
SSH는 내 IP로 지정해준다.
모든 IP주소로 지정해줄 경우(0.0.0.0 /0) 타인이 접속할 가능성이 있어 위험.
Apache에 대한 외부 접속 허용(포트 80)
Tomcat에 대한 외부 접속 허용(포트 8080, 8090)
HTTPS에 대한 외부 접속 허용(포트 443)
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
1
2
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
AWS EC2 인스턴스 생성
AWS EC2 탄력적 IP 할당
AWS EC2 탄력적 IP 할당
AWS EC2 탄력적 IP 할당
AWS EC2 탄력적 IP 할당
*(주의사항) 추후 EC2 인스턴스를 종료한 경우, 탄력적IP가 존재하면
요금이 부과되기 때문에 주소 릴리스로 탄력적 IP로 제거해줘야 한다.
AWS EC2 탄력적 IP 할당
생성한 EC2 인스턴스 id와 그 EC2의 프라이빗 IP 입력
(역삼각형을 누르면 자동으로 검색되어 있다.)
AWS EC2 탄력적 IP 할당
탄력적IP가 잘 연결되어있는 지 확인
AWS EC2 탄력적 IP 할당
AWS EC2 접속 (PuTTY)
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Windows 64-bit인 경우
AWS EC2 접속 (PuTTY)
EC2 생성시 다운받은 키 페어1
2
AWS EC2 접속 (PuTTY)
1
2
3
4
AWS EC2 접속 (PuTTY)
AWS EC2 Public IP(Elastic IP)
PuTTYgen으로 생성한 .ppk파일
1 2
AWS EC2 접속 (PuTTY)
1
2
3
EC2로 ubuntu를 생성하면
로그인시 기본적으로 사용자이름에
ubuntu를 입력하면 접속 가능
(linux의 경우, ec2-user를 입력하여 접속)
AWS EC2 접속 (PuTTY)
AWS RDS 생성
AWS RDS 생성
AWS RDS 생성
AWS RDS 생성
AWS RDS 생성
1
2
3
프리티어는 20G만 사용 가능
식별자, 마스터 사용자 이름, 마스터 암호는
외부에서 DB접속 시 사용 하므로 숙지 필요
AWS RDS 생성
최초에 생성될 임의의 데이터베이스 이름
AWS RDS 생성
DB가 생성되면 RDS – 인스턴스에서 사용가능 표시
AWS RDS 생성
[EC2 - RDS 연동 작업]
서비스 – EC2 – 보안 그룹 – EC2 보안 그룹 ID 복사 – 보안 그룹 생성
1
2
3
AWS RDS 생성
EC2의 보안그룹 ID
현재 접속중인 PC의 IP
AWS RDS 생성
서비스 – RDS – 인스턴스
AWS RDS 생성
생성한 RDS 보안그룹으로 변경 후
기존의 보안그룹(rds-launch-wizard) 삭제
그리고 하단 [계속] 버튼 클릭
AWS RDS 생성
[로컬PC에서 RDS 접근 확인] 서비스 – RDS – 인스턴스
클릭
호스트 주소 복사
AWS RDS 생성
[로컬PC에서 RDS 접근 확인] 다운로드 경로: https://www.heidisql.com/download.php
설치 시 주의사항: 한글처리를 위해 UTF-8 항목 체크
HeidiSQL 사용
복사한 엔드포인트 주소
RDS생성 시 설정한
사용자, 암호
AWS RDS 생성
[HeidiSQL]
RDB 생성시 입력한 DB
show variables like 'c%';
데이터베이스의 character-set 설정을 볼 수 있는 명령어
RDS 기본 설정에서 utf8이 아닌 부분이 있어 한글이 깨질 수 있다.
-> RDS의 파라미터 그룹에서 변경
AWS RDS 생성
서비스 – RDS – 파라미터그룹
AWS RDS 생성
AWS RDS 생성
AWS RDS 생성
완료 시 [변경 사항 저장] 클릭
collation 검색 후 아래 내용 수정
AWS RDS 생성
서비스 – RDS – 인스턴스
생성한 파라미터 그룹으로 변경 후
다음 페이지에서 ‘즉시 적용’ 후
[DB 인스턴스 수정] 클릭
AWS RDS 생성
서비스 – RDS – 인스턴스
AWS RDS 생성
재부팅 후, HeidiSQL
show variables like 'c%';
character-set 설정이 모두 utf8이 적용된 것을 확인
만약, 모두 적용되어 있지 않을 경우
ALTER DATABASE 데이터베이스명
CHARACTER SET = 'utf8'
COLLATE = 'utf8_general_ci';
위의 쿼리를 적용한 후, RDS – 인스턴스에서
[재부팅]하고 다시 결과를 확인
AWS RDS 생성
AWS RDS 생성
서비스 – RDS – 파라미터그룹 – 생성한 파라미터 이름 선택 – 편집
Linux에서 MariaDB(MySQL) 설치 시 테이블명의 대소문자를 구분하는 것이 default 이다.
따라서, 테이블명 대소문자 구분을 하지 않기 위해서 ‘lower_case_table_names=1’로 설정
유저가 만든 데이터베이스에 대해서는 super 권한을 행사할 수 있도록
‘log_bin_trust_function_creators=1’로 설정
(이 부분을 하지 않으면 외부접속에서 DB변경이 불가능)
해당 두 가지 파라미터를 수정 후, 변경 사항 저장
-> 재부팅
[EC2에서 RDS 접근 확인]
sudo apt-cache search mysql-server
# MySQL 버전 확인
# MySQL 5.7
sudo apt-get install mysql-server-5.7
앞 페이지 참고해서 PuTTY로 EC2 ubuntu 접속
Tip: 아래 명령어를 복사해서 ubuntu shell에 오른쪽 클릭하면 붙여넣기 가능
설치 중 [Y] 누른 후, ‘root’ 비밀번호에 대한 질문이 나오면 비밀번호를 입력 후 설치 완료
mysql -u 계정 -p -h Host주소
예) mysql –u greatfarmer –p –h RDS의 엔드포인트 주소
설치 후
1
2
3
4
5
AWS RDS 생성
RDS 생성시 만들어 준 DB가 존재함을 확인
mysql -u 계정 -p -h Host주소(RDS 엔드포인트 주소)
AWS RDS 생성
AWS EC2 ubuntu
java, apache, tomcat 설치
PuTTY로 EC2 ubuntu 접속 후
1. JDK 설치
1) Oracle Java(JDK)8을 설치하기 위해 webupd8team 레포지터리 추가
sudo add-apt-repository ppa:webupd8team/java
2) 업데이트
sudo apt-get update
3) 설치 - JDK 8을 설치
sudo apt-get install oracle-java8-installer
4) JDK 환경 변수 추가
vi에디터로 profile파일에 JAVA_HOME, PATH등을 export해도 되지만,
아래와 같이 명령을 입력하면 자동으로 환경변수를 추가해 준다.
sudo apt-get install oracle-java8-set-default
5) 환경변수 확인
sudo su - root -c 'printenv'
Tip: 아래 명령어를 복사해서 ubuntu shell에 오른쪽 클릭하면 붙여넣기 가능
sudo: add-apt-repository: command not found 라는 에러가 발생할 시,
sudo apt-get install python-software-properties
#1. python-software-properties 를 설치
#2. software-properties-common 를 설치
sudo apt-get install software-properties-common
python-software-properties와 software-properties-common 패키지 안에
repository에 대한 정보가 들어 있기 때문에
이 두 패키지가 설치가 되어 있지 않으면,
add-apt-repository명령어를 수행하지 못하는 것.
[출처] http://nancom.tistory.com/119
JDK설치경로: cd /usr/lib/jvm/java-8-oracle
AWS EC2 ubuntu - java, apache, tomcat 설치
2. 아파치(Apache) 설치
1) 설치
sudo apt-get install apache2
2) 서비스 시작
sudo service apache2 start
3) AWS EC2 Public IP로 apache2웹이 표시되는지 확인
표시되지 않는다면 [AWS 서비스 – EC2 – 보안그룹
– 해당 EC2 보안그룹 ID – 인바운드 – 편집]에서
아래 내용과 같이 80번 포트를 추가
AWS EC2 Public IP
정상 동작 화면
AWS EC2 ubuntu - java, apache, tomcat 설치
3. 톰캣(Tomcat) 설치
1) 설치
sudo apt-get install tomcat8
설치 중 아래와 같은 문구가 나온다면 JDK를 인식하지 못한 것이므로
* no JDK or JRE found - please set JAVA_HOME
아래와 같이 /usr/lib/jvm/java-8-oracle을 추가
sudo vi /etc/init.d/tomcat8
JDK_DIRS="/usr/lib/jvm/default-java ${OPENJDKS} /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-8-oracle"
로 파일을 열어
*sudo: vi: command not found 에러가 발생하면
sudo apt-get install vim 으로 설치 한 후 다시 실행
해당 JDK_DIRS 밑에 추가해준다.
*vim이 열리면 키보드 i를 눌러 insert모드에서 위의 내용을 입력하고, 완료되면 esc를 누르고 :wq로 저장 후 종료한다.
JDK인식 에러일 경우, 조치사항
sudo service tomcat8 start
2) 서비스 시작
*Warning: tomcat8.service changed on disk. Run ‘systemctl daemon-reload’ to reload units. 에러 발생 시,
systemctl daemon-reload 입력 후 다시 실행
AWS EC2 ubuntu - java, apache, tomcat 설치
3) 서비스 확인
http://AWS EC2 Public IP:8080/으로 tomcat8 웹이 표시되는지 확인,
표시되지 않는다면 [AWS 서비스 – EC2 – 보안그룹
– 해당 EC2 보안그룹 ID – 인바운드 – 편집]에서
아래 내용과 같이 8080번 포트를 추가 정상 동작 화면
AWS EC2 ubuntu - java, apache, tomcat 설치
4. libapache2-mod-jk 설치
아파치와 톰캣 연동을 위한 mod-jk를 설치
1) 설치
sudo apt-get install libapache2-mod-jk
2) 설정
sudo vi /etc/libapache2-mod-jk/workers.properties
workers.tomcat_home=/usr/share/tomcat8
workers.java_home=/usr/lib/jvm/java-8-oracle
아래 부분을 설치 경로에 맞게 수정
*vim이 열리면 키보드 i를 눌러 insert모드에서 위의 내용을 입력하고,
완료되면 esc를 누르고 :wq로 저장 후 종료한다.
AWS EC2 ubuntu - java, apache, tomcat 설치
5. 톰캣 설정
1) server.xml 수정
sudo vi /etc/tomcat8/server.xml
AJP를 이용하기 위해 아래 주석 해제
본 프로젝트에서는 톰캣 8090포트를 사용하므로 기존 8080 -> 8090 포트로 변경 선택사항
6. AJP 모듈 활성화
sudo a2enmod proxy_ajp
sudo service apache2 restart
apache2 재시작
AWS EC2 ubuntu - java, apache, tomcat 설치
7. 아파치 설정
000-default.conf 파일을 열어 수정
sudo vi /etc/apache2/sites-available/000-default.conf
DocumentRoot /var/www/html 아래에 다음을 추가
JkMount /* ajp13_worker
8. 서비스 재시작
sudo service tomcat8 restart
sudo service apache2 restart
정상 동작 화면
http://AWS EC2 Public IP:8090/으로 tomcat8 웹이 표시되는지 확인
AWS EC2 ubuntu - java, apache, tomcat 설치
Spring프로젝트에서 AWS RDS연동
Spring프로젝트에서 AWS RDS연동
1. AWS RDS MariaDB에 프로젝트 데이터베이스 추가 (HeidiSQL 사용)
1) 앞의 [AWS RDS 생성] 페이지 참고하여 HeidiSQL로 AWS RDS 엔드포인트에 접속
2) 작성된 SQL로 데이터베이스 구축
Spring프로젝트에서 AWS RDS연동
package site.corin2.dbtest;
import java.sql.Connection;
import java.sql.DriverManager;
import org.junit.Test;
public class MariaDBTest {
private static final String DRIVER = "org.mariadb.jdbc.Driver";
private static final String URL = "jdbc:mariadb://AWS RDS 엔드포인트 주소:3306/데이터베이스명";
private static final String USER = “사용자이름";
private static final String PASSWORD = “암호";
@Test
public void testConnection() throws Exception {
Class.forName(DRIVER);
try(Connection con = DriverManager.getConnection(URL, USER, PASSWORD)) {
System.out.println("성공");
System.out.println(con);
}catch(Exception e) {
System.out.println("에러발생");
e.printStackTrace();
}
}
}
src/test/java폴더에서 DB테스트 자바파일 생성
해당 자바파일 – 오른쪽 클릭
Run As - JUnit Test
2. Spring Test로 AWS RDS 연동 테스트
DB 연결성공 시 DB 연결실패 시
Spring프로젝트에서 AWS RDS연동
3. 테스트에서 DB연결 성공 후, root-context.xml에서 DB정보 변경
<bean id="driverManagerDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.mariadb.jdbc.Driver" />
<property name="url" value="jdbc:mariadb:// AWS RDS 엔드포인트 주소:3306/데이터베이스명" />
<property name="username" value=" 사용자이름" />
<property name="password" value=" 암호 " />
</bean>
이후 다음 작업 진행
AWS EC2 ubuntu 환경에서
Maven으로 프로젝트 배포
# tomcat8-admin 설치
sudo apt-get install tomcat8-admin
# tomcat-users.xml 수정
sudo vi /etc/tomcat8/tomcat-users.xml
tomcat-users.xml
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="관리자 계정명" password="비밀번호" roles="manager-gui,manager-script,manager-status,manager-jmx"/>
1. 톰캣 관리자 화면 활성화
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
# tomcat8 시작
sudo service tomcat8 start
http://AWS EC2 Public IP:8090/manager 로 접속 *톰캣 포트가 다른 경우 해당 포트번호로 접속
관리자 계정명
비밀번호
톰캣 관리자 화면
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
2. 메이븐을 이용해 톰캣에 배포
STS에서 pom.xml파일 수정
<!-- 메이븐을 통한 서버 배포 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warsourcedirectory>src/main/webapp</warsourcedirectory>
<webxml>src/main/webapp/WEB-INF/web.xml</webxml>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://EC2 Public IP주소:톰캣 포트번호/manager/text</url>
<path>/프로젝트명</path>
<username>관리자 계정</username>
<password>비밀번호</password>
</configuration>
</plugin>
pom.xml에 <plugins></plugins> 사이에 입력
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
[STS 설정]
해당 프로젝트에 마우스 우클릭
[Maven Build] – [New]
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
1
2
3
4
5
6
7
1. Name: 원하는 이름
2. Workspace… 클릭
3. 원하는 프로젝트 선택
4. 자동으로 생성됨
5. tomcat:deploy 입력
6. Apply
7. Run
[Maven Build 설정]
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
배포된 주소 (접속 주소)
[Maven Build Run 결과 콘솔화면]
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
http://AWS EC2 Public IP:8090/프로젝트명/
[배포결과]
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
http://AWS EC2 Public IP:8090/ 접속 설정
sudo vi /etc/tomcat8/server.xml
<Context docBase="프로젝트명" path="/" reloadable="true" />
<Host> ~ </Host> 사이에 아래를 입력 후 저장
sudo service tomcat8 restart
완료 후 tomcat 재시작
http://AWS EC2 Public IP:8090/ 접속확인
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
[재 배포 시, Maven Build 설정]
명령어를 사용해 기존 배포 파일을 삭제하고
새로 배포하기 위함
Tomcat:undeploy
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
[AWS EC2 ubuntu 환경에서 배포 후,tomcat 구동 시 웹 사이트가 느릴 경우 조치]
[조치 1]
## AWS EC2 ubuntu에서 tomcat 구동 시 느릴 경우 조치
ubuntu shell에서
먼저 패키지를 설치하기 전에 다음 명령어를 통하여 현재 entropy를 확인한다.
cat /proc/sys/kernel/random/entropy_avail
결과치가 1000 이하일 경우 haveged를 설치할 것을 권장하고 있다.
sudo apt-get install haveged
[출처] http://mikelim.mintocean.com/entry/Ubuntu에서-tomcat이-느리게-로드-될-때
[조치 2]
## AWS EC2 ubuntu에서 tomcat 구동 시 500에러와 함께 발생하는
handler processing failed; nested exception is java.lang.outofmemoryerror: java heap space 에러 조치
JVM heap memory 용량 부족 에러: ubuntu의 톰캣 설정에서 메모리 설정을 변경
ubuntu shell에서
sudo vi /usr/share/tomcat8/bin/catalina.sh
catalina.sh을 열어서 '#!/bin/sh' 바로 아래에 옵션 추가
JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx1024m -XX:MaxPermSize=128m"
[출처] http://mycup.tistory.com/215
AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
[출처]
---- 본문 출처 ----
## AWS EC2 생성 및 설정
> http://jojoldu.tistory.com/259
## Ubuntu 접속 후 java8, apache2, tomcat8 설치
> http://blog.moramcnt.com/?p=1061
## Ubuntu 환경에서 Maven으로 Spring 프로젝트를 Tomcat에 배포
> http://all-record.tistory.com/186
---- 추가 참고 사항 ----
## Spring & AWS S3 연동
> https://shj7242.github.io/2017/12/28/Spring34/
> https://docs.aws.amazon.com/ko_kr/sdk-for-java/v1/developer-guide/getting-started.html
> http://jojoldu.tistory.com/300
## Elastic IP가 존재할 경우, Route 53을 통해 도메인 연결
> http://wingsnote.com/57

More Related Content

What's hot

20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기Jongwon Han
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017Amazon Web Services Korea
 
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...Amazon Web Services Korea
 
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트Amazon Web Services Korea
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
Deep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerDeep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerAmazon Web Services
 
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...Amazon Web Services Korea
 
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...Amazon Web Services
 
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인Amazon Web Services Korea
 
Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인
Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인
Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인Amazon Web Services Korea
 
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례 - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례  - 박경표 AWS 솔루션즈 아키텍트 / 임상석...Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례  - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례 - 박경표 AWS 솔루션즈 아키텍트 / 임상석...Amazon Web Services Korea
 
オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法Amazon Web Services Japan
 
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...Amazon Web Services Korea
 
(2014년) Active Active 데이터센터
(2014년) Active Active 데이터센터(2014년) Active Active 데이터센터
(2014년) Active Active 데이터센터Gasida Seo
 
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatchAmazon Web Services
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1Amazon Web Services Korea
 
클라우드 네이티브 데이터베이스 서비스로 Oracle RAC 전환 - 김지훈 :: AWS 클라우드 마이그레이션 온라인
클라우드 네이티브 데이터베이스 서비스로 Oracle RAC 전환 - 김지훈 :: AWS 클라우드 마이그레이션 온라인클라우드 네이티브 데이터베이스 서비스로 Oracle RAC 전환 - 김지훈 :: AWS 클라우드 마이그레이션 온라인
클라우드 네이티브 데이터베이스 서비스로 Oracle RAC 전환 - 김지훈 :: AWS 클라우드 마이그레이션 온라인Amazon Web Services Korea
 
AWS IAM과 친해지기 – 조이정, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
AWS IAM과 친해지기 – 조이정, AWS 솔루션즈 아키텍트:: AWS Builders Online Series AWS IAM과 친해지기 – 조이정, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
AWS IAM과 친해지기 – 조이정, AWS 솔루션즈 아키텍트:: AWS Builders Online Series Amazon Web Services Korea
 

What's hot (20)

20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
 
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
 
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
Deep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerDeep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems Manager
 
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
 
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
(SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine |...
 
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
 
Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인
Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인
Aurora MySQL Backtrack을 이용한 빠른 복구 방법 - 진교선 :: AWS Database Modernization Day 온라인
 
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례 - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례  - 박경표 AWS 솔루션즈 아키텍트 / 임상석...Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례  - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
Kurly는 AWS를 어떻게 사용하고 있을까? - 성공적 리테일 디지털 트랜스포메이션 사례 - 박경표 AWS 솔루션즈 아키텍트 / 임상석...
 
オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法
 
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
 
(2014년) Active Active 데이터센터
(2014년) Active Active 데이터센터(2014년) Active Active 데이터센터
(2014년) Active Active 데이터센터
 
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
 
AWS Fargate on EKS 실전 사용하기
AWS Fargate on EKS 실전 사용하기AWS Fargate on EKS 실전 사용하기
AWS Fargate on EKS 실전 사용하기
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1
 
AWS for Backup and Recovery
AWS for Backup and RecoveryAWS for Backup and Recovery
AWS for Backup and Recovery
 
클라우드 네이티브 데이터베이스 서비스로 Oracle RAC 전환 - 김지훈 :: AWS 클라우드 마이그레이션 온라인
클라우드 네이티브 데이터베이스 서비스로 Oracle RAC 전환 - 김지훈 :: AWS 클라우드 마이그레이션 온라인클라우드 네이티브 데이터베이스 서비스로 Oracle RAC 전환 - 김지훈 :: AWS 클라우드 마이그레이션 온라인
클라우드 네이티브 데이터베이스 서비스로 Oracle RAC 전환 - 김지훈 :: AWS 클라우드 마이그레이션 온라인
 
AWS IAM과 친해지기 – 조이정, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
AWS IAM과 친해지기 – 조이정, AWS 솔루션즈 아키텍트:: AWS Builders Online Series AWS IAM과 친해지기 – 조이정, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
AWS IAM과 친해지기 – 조이정, AWS 솔루션즈 아키텍트:: AWS Builders Online Series
 

Similar to 초보자를 위한 AWS EC2, RDS 설정

Db프로그래밍 환경 설정(131062 장택순)
Db프로그래밍 환경 설정(131062 장택순)Db프로그래밍 환경 설정(131062 장택순)
Db프로그래밍 환경 설정(131062 장택순)TaekSoon Jang
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 finalGi Bong Kim
 
Aws개념 EC2로 API서버 구축
Aws개념 EC2로 API서버 구축Aws개념 EC2로 API서버 구축
Aws개념 EC2로 API서버 구축Gi Bong Kim
 
Internship backend
Internship backendInternship backend
Internship backendYein Sim
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea CloudJude Kim
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기JungHoon Lee
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
리눅스서버세팅-김태호
리눅스서버세팅-김태호리눅스서버세팅-김태호
리눅스서버세팅-김태호ETRIBE_STG
 
Elastic beanstalk 배포 환경 구축
Elastic beanstalk 배포 환경 구축Elastic beanstalk 배포 환경 구축
Elastic beanstalk 배포 환경 구축JoongSeob Kim
 
OpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudOpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudDennis Hong
 
Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온재현 신
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Steve Shim
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제Tae Young Lee
 
카산드라를 설치해서 테스트 해보자 with virtualbox
카산드라를 설치해서 테스트 해보자 with virtualbox카산드라를 설치해서 테스트 해보자 with virtualbox
카산드라를 설치해서 테스트 해보자 with virtualbox떠리 이
 
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHousejieun kim
 

Similar to 초보자를 위한 AWS EC2, RDS 설정 (20)

Db프로그래밍 환경 설정(131062 장택순)
Db프로그래밍 환경 설정(131062 장택순)Db프로그래밍 환경 설정(131062 장택순)
Db프로그래밍 환경 설정(131062 장택순)
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 final
 
Aws개념 EC2로 API서버 구축
Aws개념 EC2로 API서버 구축Aws개념 EC2로 API서버 구축
Aws개념 EC2로 API서버 구축
 
Amazed by aws 2nd session
Amazed by aws 2nd sessionAmazed by aws 2nd session
Amazed by aws 2nd session
 
Internship backend
Internship backendInternship backend
Internship backend
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
 
03.Ansible 소개
03.Ansible 소개03.Ansible 소개
03.Ansible 소개
 
테스트
테스트테스트
테스트
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Lam pstack
Lam pstackLam pstack
Lam pstack
 
리눅스서버세팅-김태호
리눅스서버세팅-김태호리눅스서버세팅-김태호
리눅스서버세팅-김태호
 
Elastic beanstalk 배포 환경 구축
Elastic beanstalk 배포 환경 구축Elastic beanstalk 배포 환경 구축
Elastic beanstalk 배포 환경 구축
 
OpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudOpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid Cloud
 
Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제
 
카산드라를 설치해서 테스트 해보자 with virtualbox
카산드라를 설치해서 테스트 해보자 with virtualbox카산드라를 설치해서 테스트 해보자 with virtualbox
카산드라를 설치해서 테스트 해보자 with virtualbox
 
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouse
 

초보자를 위한 AWS EC2, RDS 설정

  • 1. AWS 설정 MADE by 숨.쉬.말.코 강성훈 강진광 김진원 배현준 전나영 최재욱
  • 9. [리전 확인] 아시아 태평양 (서울) AWS EC2 인스턴스 생성
  • 16. 임의의 구분가능한 값 입력 AWS EC2 인스턴스 생성
  • 17. SSH는 내 IP로 지정해준다. 모든 IP주소로 지정해줄 경우(0.0.0.0 /0) 타인이 접속할 가능성이 있어 위험. Apache에 대한 외부 접속 허용(포트 80) Tomcat에 대한 외부 접속 허용(포트 8080, 8090) HTTPS에 대한 외부 접속 허용(포트 443) AWS EC2 인스턴스 생성
  • 22. AWS EC2 탄력적 IP 할당
  • 23. AWS EC2 탄력적 IP 할당
  • 24. AWS EC2 탄력적 IP 할당
  • 25. AWS EC2 탄력적 IP 할당
  • 26. *(주의사항) 추후 EC2 인스턴스를 종료한 경우, 탄력적IP가 존재하면 요금이 부과되기 때문에 주소 릴리스로 탄력적 IP로 제거해줘야 한다. AWS EC2 탄력적 IP 할당
  • 27. 생성한 EC2 인스턴스 id와 그 EC2의 프라이빗 IP 입력 (역삼각형을 누르면 자동으로 검색되어 있다.) AWS EC2 탄력적 IP 할당
  • 28. 탄력적IP가 잘 연결되어있는 지 확인 AWS EC2 탄력적 IP 할당
  • 29. AWS EC2 접속 (PuTTY)
  • 31. EC2 생성시 다운받은 키 페어1 2 AWS EC2 접속 (PuTTY)
  • 33. AWS EC2 Public IP(Elastic IP) PuTTYgen으로 생성한 .ppk파일 1 2 AWS EC2 접속 (PuTTY)
  • 34. 1 2 3 EC2로 ubuntu를 생성하면 로그인시 기본적으로 사용자이름에 ubuntu를 입력하면 접속 가능 (linux의 경우, ec2-user를 입력하여 접속) AWS EC2 접속 (PuTTY)
  • 40. 1 2 3 프리티어는 20G만 사용 가능 식별자, 마스터 사용자 이름, 마스터 암호는 외부에서 DB접속 시 사용 하므로 숙지 필요 AWS RDS 생성
  • 41. 최초에 생성될 임의의 데이터베이스 이름 AWS RDS 생성
  • 42. DB가 생성되면 RDS – 인스턴스에서 사용가능 표시 AWS RDS 생성
  • 43. [EC2 - RDS 연동 작업] 서비스 – EC2 – 보안 그룹 – EC2 보안 그룹 ID 복사 – 보안 그룹 생성 1 2 3 AWS RDS 생성
  • 44. EC2의 보안그룹 ID 현재 접속중인 PC의 IP AWS RDS 생성
  • 45. 서비스 – RDS – 인스턴스 AWS RDS 생성
  • 46. 생성한 RDS 보안그룹으로 변경 후 기존의 보안그룹(rds-launch-wizard) 삭제 그리고 하단 [계속] 버튼 클릭 AWS RDS 생성
  • 47. [로컬PC에서 RDS 접근 확인] 서비스 – RDS – 인스턴스 클릭 호스트 주소 복사 AWS RDS 생성
  • 48. [로컬PC에서 RDS 접근 확인] 다운로드 경로: https://www.heidisql.com/download.php 설치 시 주의사항: 한글처리를 위해 UTF-8 항목 체크 HeidiSQL 사용 복사한 엔드포인트 주소 RDS생성 시 설정한 사용자, 암호 AWS RDS 생성
  • 49. [HeidiSQL] RDB 생성시 입력한 DB show variables like 'c%'; 데이터베이스의 character-set 설정을 볼 수 있는 명령어 RDS 기본 설정에서 utf8이 아닌 부분이 있어 한글이 깨질 수 있다. -> RDS의 파라미터 그룹에서 변경 AWS RDS 생성
  • 50. 서비스 – RDS – 파라미터그룹 AWS RDS 생성
  • 53. 완료 시 [변경 사항 저장] 클릭 collation 검색 후 아래 내용 수정 AWS RDS 생성
  • 54. 서비스 – RDS – 인스턴스 생성한 파라미터 그룹으로 변경 후 다음 페이지에서 ‘즉시 적용’ 후 [DB 인스턴스 수정] 클릭 AWS RDS 생성
  • 55. 서비스 – RDS – 인스턴스 AWS RDS 생성
  • 56. 재부팅 후, HeidiSQL show variables like 'c%'; character-set 설정이 모두 utf8이 적용된 것을 확인 만약, 모두 적용되어 있지 않을 경우 ALTER DATABASE 데이터베이스명 CHARACTER SET = 'utf8' COLLATE = 'utf8_general_ci'; 위의 쿼리를 적용한 후, RDS – 인스턴스에서 [재부팅]하고 다시 결과를 확인 AWS RDS 생성
  • 57. AWS RDS 생성 서비스 – RDS – 파라미터그룹 – 생성한 파라미터 이름 선택 – 편집 Linux에서 MariaDB(MySQL) 설치 시 테이블명의 대소문자를 구분하는 것이 default 이다. 따라서, 테이블명 대소문자 구분을 하지 않기 위해서 ‘lower_case_table_names=1’로 설정 유저가 만든 데이터베이스에 대해서는 super 권한을 행사할 수 있도록 ‘log_bin_trust_function_creators=1’로 설정 (이 부분을 하지 않으면 외부접속에서 DB변경이 불가능) 해당 두 가지 파라미터를 수정 후, 변경 사항 저장 -> 재부팅
  • 58. [EC2에서 RDS 접근 확인] sudo apt-cache search mysql-server # MySQL 버전 확인 # MySQL 5.7 sudo apt-get install mysql-server-5.7 앞 페이지 참고해서 PuTTY로 EC2 ubuntu 접속 Tip: 아래 명령어를 복사해서 ubuntu shell에 오른쪽 클릭하면 붙여넣기 가능 설치 중 [Y] 누른 후, ‘root’ 비밀번호에 대한 질문이 나오면 비밀번호를 입력 후 설치 완료 mysql -u 계정 -p -h Host주소 예) mysql –u greatfarmer –p –h RDS의 엔드포인트 주소 설치 후 1 2 3 4 5 AWS RDS 생성
  • 59. RDS 생성시 만들어 준 DB가 존재함을 확인 mysql -u 계정 -p -h Host주소(RDS 엔드포인트 주소) AWS RDS 생성
  • 60. AWS EC2 ubuntu java, apache, tomcat 설치
  • 61. PuTTY로 EC2 ubuntu 접속 후 1. JDK 설치 1) Oracle Java(JDK)8을 설치하기 위해 webupd8team 레포지터리 추가 sudo add-apt-repository ppa:webupd8team/java 2) 업데이트 sudo apt-get update 3) 설치 - JDK 8을 설치 sudo apt-get install oracle-java8-installer 4) JDK 환경 변수 추가 vi에디터로 profile파일에 JAVA_HOME, PATH등을 export해도 되지만, 아래와 같이 명령을 입력하면 자동으로 환경변수를 추가해 준다. sudo apt-get install oracle-java8-set-default 5) 환경변수 확인 sudo su - root -c 'printenv' Tip: 아래 명령어를 복사해서 ubuntu shell에 오른쪽 클릭하면 붙여넣기 가능 sudo: add-apt-repository: command not found 라는 에러가 발생할 시, sudo apt-get install python-software-properties #1. python-software-properties 를 설치 #2. software-properties-common 를 설치 sudo apt-get install software-properties-common python-software-properties와 software-properties-common 패키지 안에 repository에 대한 정보가 들어 있기 때문에 이 두 패키지가 설치가 되어 있지 않으면, add-apt-repository명령어를 수행하지 못하는 것. [출처] http://nancom.tistory.com/119 JDK설치경로: cd /usr/lib/jvm/java-8-oracle AWS EC2 ubuntu - java, apache, tomcat 설치
  • 62. 2. 아파치(Apache) 설치 1) 설치 sudo apt-get install apache2 2) 서비스 시작 sudo service apache2 start 3) AWS EC2 Public IP로 apache2웹이 표시되는지 확인 표시되지 않는다면 [AWS 서비스 – EC2 – 보안그룹 – 해당 EC2 보안그룹 ID – 인바운드 – 편집]에서 아래 내용과 같이 80번 포트를 추가 AWS EC2 Public IP 정상 동작 화면 AWS EC2 ubuntu - java, apache, tomcat 설치
  • 63. 3. 톰캣(Tomcat) 설치 1) 설치 sudo apt-get install tomcat8 설치 중 아래와 같은 문구가 나온다면 JDK를 인식하지 못한 것이므로 * no JDK or JRE found - please set JAVA_HOME 아래와 같이 /usr/lib/jvm/java-8-oracle을 추가 sudo vi /etc/init.d/tomcat8 JDK_DIRS="/usr/lib/jvm/default-java ${OPENJDKS} /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-8-oracle" 로 파일을 열어 *sudo: vi: command not found 에러가 발생하면 sudo apt-get install vim 으로 설치 한 후 다시 실행 해당 JDK_DIRS 밑에 추가해준다. *vim이 열리면 키보드 i를 눌러 insert모드에서 위의 내용을 입력하고, 완료되면 esc를 누르고 :wq로 저장 후 종료한다. JDK인식 에러일 경우, 조치사항 sudo service tomcat8 start 2) 서비스 시작 *Warning: tomcat8.service changed on disk. Run ‘systemctl daemon-reload’ to reload units. 에러 발생 시, systemctl daemon-reload 입력 후 다시 실행 AWS EC2 ubuntu - java, apache, tomcat 설치
  • 64. 3) 서비스 확인 http://AWS EC2 Public IP:8080/으로 tomcat8 웹이 표시되는지 확인, 표시되지 않는다면 [AWS 서비스 – EC2 – 보안그룹 – 해당 EC2 보안그룹 ID – 인바운드 – 편집]에서 아래 내용과 같이 8080번 포트를 추가 정상 동작 화면 AWS EC2 ubuntu - java, apache, tomcat 설치
  • 65. 4. libapache2-mod-jk 설치 아파치와 톰캣 연동을 위한 mod-jk를 설치 1) 설치 sudo apt-get install libapache2-mod-jk 2) 설정 sudo vi /etc/libapache2-mod-jk/workers.properties workers.tomcat_home=/usr/share/tomcat8 workers.java_home=/usr/lib/jvm/java-8-oracle 아래 부분을 설치 경로에 맞게 수정 *vim이 열리면 키보드 i를 눌러 insert모드에서 위의 내용을 입력하고, 완료되면 esc를 누르고 :wq로 저장 후 종료한다. AWS EC2 ubuntu - java, apache, tomcat 설치
  • 66. 5. 톰캣 설정 1) server.xml 수정 sudo vi /etc/tomcat8/server.xml AJP를 이용하기 위해 아래 주석 해제 본 프로젝트에서는 톰캣 8090포트를 사용하므로 기존 8080 -> 8090 포트로 변경 선택사항 6. AJP 모듈 활성화 sudo a2enmod proxy_ajp sudo service apache2 restart apache2 재시작 AWS EC2 ubuntu - java, apache, tomcat 설치
  • 67. 7. 아파치 설정 000-default.conf 파일을 열어 수정 sudo vi /etc/apache2/sites-available/000-default.conf DocumentRoot /var/www/html 아래에 다음을 추가 JkMount /* ajp13_worker 8. 서비스 재시작 sudo service tomcat8 restart sudo service apache2 restart 정상 동작 화면 http://AWS EC2 Public IP:8090/으로 tomcat8 웹이 표시되는지 확인 AWS EC2 ubuntu - java, apache, tomcat 설치
  • 69. Spring프로젝트에서 AWS RDS연동 1. AWS RDS MariaDB에 프로젝트 데이터베이스 추가 (HeidiSQL 사용) 1) 앞의 [AWS RDS 생성] 페이지 참고하여 HeidiSQL로 AWS RDS 엔드포인트에 접속 2) 작성된 SQL로 데이터베이스 구축
  • 70. Spring프로젝트에서 AWS RDS연동 package site.corin2.dbtest; import java.sql.Connection; import java.sql.DriverManager; import org.junit.Test; public class MariaDBTest { private static final String DRIVER = "org.mariadb.jdbc.Driver"; private static final String URL = "jdbc:mariadb://AWS RDS 엔드포인트 주소:3306/데이터베이스명"; private static final String USER = “사용자이름"; private static final String PASSWORD = “암호"; @Test public void testConnection() throws Exception { Class.forName(DRIVER); try(Connection con = DriverManager.getConnection(URL, USER, PASSWORD)) { System.out.println("성공"); System.out.println(con); }catch(Exception e) { System.out.println("에러발생"); e.printStackTrace(); } } } src/test/java폴더에서 DB테스트 자바파일 생성 해당 자바파일 – 오른쪽 클릭 Run As - JUnit Test 2. Spring Test로 AWS RDS 연동 테스트 DB 연결성공 시 DB 연결실패 시
  • 71. Spring프로젝트에서 AWS RDS연동 3. 테스트에서 DB연결 성공 후, root-context.xml에서 DB정보 변경 <bean id="driverManagerDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="org.mariadb.jdbc.Driver" /> <property name="url" value="jdbc:mariadb:// AWS RDS 엔드포인트 주소:3306/데이터베이스명" /> <property name="username" value=" 사용자이름" /> <property name="password" value=" 암호 " /> </bean> 이후 다음 작업 진행
  • 72. AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 73. # tomcat8-admin 설치 sudo apt-get install tomcat8-admin # tomcat-users.xml 수정 sudo vi /etc/tomcat8/tomcat-users.xml tomcat-users.xml <role rolename="manager-script"/> <role rolename="manager-gui"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="관리자 계정명" password="비밀번호" roles="manager-gui,manager-script,manager-status,manager-jmx"/> 1. 톰캣 관리자 화면 활성화 AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 74. # tomcat8 시작 sudo service tomcat8 start http://AWS EC2 Public IP:8090/manager 로 접속 *톰캣 포트가 다른 경우 해당 포트번호로 접속 관리자 계정명 비밀번호 톰캣 관리자 화면 AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 75. 2. 메이븐을 이용해 톰캣에 배포 STS에서 pom.xml파일 수정 <!-- 메이븐을 통한 서버 배포 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <warsourcedirectory>src/main/webapp</warsourcedirectory> <webxml>src/main/webapp/WEB-INF/web.xml</webxml> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> <configuration> <url>http://EC2 Public IP주소:톰캣 포트번호/manager/text</url> <path>/프로젝트명</path> <username>관리자 계정</username> <password>비밀번호</password> </configuration> </plugin> pom.xml에 <plugins></plugins> 사이에 입력 AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 76. [STS 설정] 해당 프로젝트에 마우스 우클릭 [Maven Build] – [New] AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 77. 1 2 3 4 5 6 7 1. Name: 원하는 이름 2. Workspace… 클릭 3. 원하는 프로젝트 선택 4. 자동으로 생성됨 5. tomcat:deploy 입력 6. Apply 7. Run [Maven Build 설정] AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 78. 배포된 주소 (접속 주소) [Maven Build Run 결과 콘솔화면] AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 79. http://AWS EC2 Public IP:8090/프로젝트명/ [배포결과] AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 80. http://AWS EC2 Public IP:8090/ 접속 설정 sudo vi /etc/tomcat8/server.xml <Context docBase="프로젝트명" path="/" reloadable="true" /> <Host> ~ </Host> 사이에 아래를 입력 후 저장 sudo service tomcat8 restart 완료 후 tomcat 재시작 http://AWS EC2 Public IP:8090/ 접속확인 AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 81. [재 배포 시, Maven Build 설정] 명령어를 사용해 기존 배포 파일을 삭제하고 새로 배포하기 위함 Tomcat:undeploy AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 82. [AWS EC2 ubuntu 환경에서 배포 후,tomcat 구동 시 웹 사이트가 느릴 경우 조치] [조치 1] ## AWS EC2 ubuntu에서 tomcat 구동 시 느릴 경우 조치 ubuntu shell에서 먼저 패키지를 설치하기 전에 다음 명령어를 통하여 현재 entropy를 확인한다. cat /proc/sys/kernel/random/entropy_avail 결과치가 1000 이하일 경우 haveged를 설치할 것을 권장하고 있다. sudo apt-get install haveged [출처] http://mikelim.mintocean.com/entry/Ubuntu에서-tomcat이-느리게-로드-될-때 [조치 2] ## AWS EC2 ubuntu에서 tomcat 구동 시 500에러와 함께 발생하는 handler processing failed; nested exception is java.lang.outofmemoryerror: java heap space 에러 조치 JVM heap memory 용량 부족 에러: ubuntu의 톰캣 설정에서 메모리 설정을 변경 ubuntu shell에서 sudo vi /usr/share/tomcat8/bin/catalina.sh catalina.sh을 열어서 '#!/bin/sh' 바로 아래에 옵션 추가 JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx1024m -XX:MaxPermSize=128m" [출처] http://mycup.tistory.com/215 AWS EC2 ubuntu 환경에서 Maven으로 프로젝트 배포
  • 83. [출처] ---- 본문 출처 ---- ## AWS EC2 생성 및 설정 > http://jojoldu.tistory.com/259 ## Ubuntu 접속 후 java8, apache2, tomcat8 설치 > http://blog.moramcnt.com/?p=1061 ## Ubuntu 환경에서 Maven으로 Spring 프로젝트를 Tomcat에 배포 > http://all-record.tistory.com/186 ---- 추가 참고 사항 ---- ## Spring & AWS S3 연동 > https://shj7242.github.io/2017/12/28/Spring34/ > https://docs.aws.amazon.com/ko_kr/sdk-for-java/v1/developer-guide/getting-started.html > http://jojoldu.tistory.com/300 ## Elastic IP가 존재할 경우, Route 53을 통해 도메인 연결 > http://wingsnote.com/57