목록AWS (21)
DOing
S3 높은 내구성을 가진 데이터 저장소 Simple Storage Service, 이미지, 동영상과 같은 컨텐츠 파일, 각종 백업과 로그를 저장한다. 버킷 내에서 데이터를 키-값 형식의 객체로 저장한다. 하나의 AWS리전내에서 수 킬로미터 거리가 떨어져있는 최소 3개의 가용영역(AZ)에 자동 분산되어 저장되어 높은 내구성을 가진다. S3서비스는 스토리지 기술을 근간으로 하며 파일단위의 접근만 지원하여 EBS서비스를 대체할 수는 없다. URL을 통해 손쉽게 파일공유가 가능하다. 크게 두가지의 기능을 할 수 있다. 1) 파일 저장 2) 파일 공유 가능 : 누구나 URL로 접근이 가능하여 파일 공유가 가능하다. S3의 구성요소 1. 버킷 2. 버킷 안에 폴더 3. 폴더 안에 객체(파일) [ 버킷 생성 ] 1...
이전 포스팅과 이어지는 포스팅입니다. 2021.04.20 - [AWS] - [AWS] EC2에 스프링 프로젝트 배포 준비하기 [AWS] EC2에 스프링 프로젝트 배포 준비하기 EC2에 스프링 프로젝트를 배포하기 위해서는 우선 Java8을 설치하고, 자바환경 변수를 설정하고, 타임존을 변경해야한다. 이는 이전 포스팅을 참고하면 할 수 있다. 2021.04.12 - [분류 전체보기] - EC2 doing7.tistory.com [ Git으로 프로젝트 가져오기 ] 1. git 설치 깃헙에서 코드를 받아올 수 있게 EC2에 git을 설치한다. sudo yum install git 2. 새 디렉토리 생성 git clone으로 프로젝트를 저장할 디렉토리 생성하고 생성된 디렉토리로 이동한다. mkdir ~/app m..
EC2에 스프링 프로젝트를 배포하기 위해서는 우선 Java8을 설치하고, 자바환경 변수를 설정하고, 타임존을 변경해야한다. 이는 이전 포스팅을 참고하면 할 수 있다. 2021.04.15 - [AWS] - EC2 인스턴스에 접속하기 EC2 인스턴스에 접속하기 SSH는 유닉스 계열의 운영체제를 원격에서 제어하기 위한 방법이다. 리눅스와 Mac과 같은 유닉스 계열의 운영체제는 기본적으로 SSH 클라이언트가 설치 되어 있기 때문에 SSH를 이용하기 위해 doing7.tistory.com 스프링 부트 프로젝트를 배포할때와는 달리 스프링 프로젝트를 배포하기 위해서는 아래와 같은 작업이 더 필요하다. 1. 톰캣 설치 2. 메이븐 설치 *현재 EC2서버는 아마존 리눅스2를 사용하고 있다. [ 톰캣 설치 ] 스프링 부트..
AWS를 사용할때에는 항상 과금을 주의해야한다. 계정 자체를 해킹당해서 과금을 물수도 있지만, 인스턴스 관리를 잘못해서 비용이 청구 될 수도 있다. 사용하지 않는 인스턴스는 무조건 꺼두거나 삭제하는 것이 좋다. 1. 1년간만 프리티어 계정을 사용할 수 있다. 2. EC2 서버는 월 750시간만 사용할 수 있다. 이 두가지는 명시해야한다. 하지만 어디서나 예상치 못한 요금이 사용되고 있을 수 있으므로, Billing and Cost Management를 자주 확인해주는 것이좋다. [ Billing and Cost Management ] 결제 대시보드 1. 예상 청구 비용 프리티어를 사용하고 있다면 이런식으로 지불할 금액이 없다고 떠야한다. 2. 서비스 별 사용량 나는 현재 EC2, RDS 인스턴스를 만들어..
AWS를 사용할 때는 '보안'에 항상 유의해야한다. 실제로 AWS 계정이 해킹되어 과금이 나오는 사례들도 있다. 뿐만아니라 악의적인 사용자에 의해 AWS계정 내에 특정 리소스가 중지도거나 삭제될 수도 있고 회원정보와 같은 민감한 정보들이 유출될 수도 있다. 때문에 AWS에서는 하나의 AWS계정내에서 사용자별로 권한을 분리하고 인증 방식을 제어하는 통합관리체계 서비스인 IAM을 제공하고 있다. 이번 포스팅에서는 이러한 IAM에 대해서 알아보려고 한다. 💡 IAM Identity & Access Management(신원 및 접근관리) AWS IAM은 user, group, role을 만들고 관리하며 AWS 리소스에 대해 접근제어와 권한 관리를 제공한다. AWS 계정안에 IAM 사용자(user)를 생성하여 어..
RDS는 MariaDB를 사용 중이다. 스프링부트 프로젝트에서 이 MariaDB를 이용하기 위해선 몇가지 작업이 필요하다. 1. 테이블 생성 2. 프로젝트 설정 3. EC2(리눅스서버) 설정 1. RDS 테이블 생성 : 스프링부트에서 JPA-H2를 사용하면 자동으로 생성해주던 테이블들을 MariaDB에선 직접 생성해줘야한다. 여기서는 JPA가 사용하는 엔터티 테이블과 스프링 세션 테이블 두종류를 사용한다. 엔터티 테이블은 테스트 코드 수행시 로그로 생성되는 쿼리를 확인하면된다. nohup.out의 로그를 복사하여 RDS에 반영하면된다. 스프링 세션 테이블은 schema-mysql.sql파일에서 확인할 수 있고 그대로 복사하여 RDS에 반영하면된다. RDS에 접속하는 방법은 여러개 있지만, 그 중에서 my..
1. EC2서버에 git 설치 깃헙에서 코드를 받아올 수 있게 EC2에 git을 설치한다. sudo yum install git git --version git clone으로 프로젝트를 저장할 디렉토리 생성하고 생성된 디렉토리로 이동한다. mkdir ~/app mkdir ~/app/step1 cd ~/app/step1 2. git clone 깃헙 리포지토리에서 주소를 복사해온 후에 git clone을 진행한다. git clone (깃헙 리포지토리 주소) 3. 테스트 검증 gradlew 파일 덕분에 EC2서버에 gradle을 설치하지않아도된다. gradlew 파일은 그레이들이 설치되지 않은 환경에서도 해당 프로젝트에 한해서 그레이들을 쓸 수 있도록 지원하는 wrapper파일이다. 해당 파일을 직접 이용하기..
RDS 인스턴스에 접속하는 방법은 두가지가 있다. 1. 로컬PC에서 접속 (public access 허용했을시에만 가능) 2. EC2로 접속 [ 로컬 PC에서 직접 접속 ] 1. 생성한 데이터베이스의 보안그룹 수정 생성한 데이터베이스를 클릭해서 연결&보안 탭을 확인한다. (database port는 mysql이라 3306) 인바운드 : 데이터베이스 서버입장에서 안으로 들어오는것 아웃바운드 : 데이터베이스 서버입장에서 응답하는것 지금은 보안그룹의 인바운드를 수정할것이다. 상단의 보안그룹 클릭! 2. MySQL workbrench에 새Connection추가 로컬에서 원격 데이터베이스에 접근할때 GUI 클라이언트를 많이 사용한다 Workbrench, SQLyog 혹은 인텔리제이에서 Database 플러그인을 ..