본문 바로가기

Services/AWS

(9)
[AWS] RDS DB 인스턴스 시간대 변경 프로젝트를 진행하면서 현재 시간에 따라 상태를 표시하는 API를 작성했는데 로컬 환경에서는 정상적으로 동작하던 데이터가 EC2 서버에서는 올바르게 표시되지 않는 문제를 마주했다.원인은 RDS 데이터베이스의 시간대가 기본적으로 UTC로 설정되어 있어 발생한 오류였다. RDS의 시간대를 서울로 변경해보자.   1. 현재 데이터베이스 시간대 확인MySQL에서 현재 설정된 시간을 확인한다. 현재 날짜와 시간을 반환하는 MySQL 명령어SELECT NOW();  MySQL 서버의 시간대 설정을 확인하는 명령어SELECT @@global.time_zone, @@session.time_zone;//output: UTC  현재 시간과 9시간 차이가 나고 UTC로 설정되어 있다. 🔎 UTC(Coordinated Uni..
[AWS] 계정 보안 강화(w. Google Authenticator) 이 글을 통해 MFA에 대해서 알아보고, Google Authenticator를 통해 AWS 계정 보안을 강화해보자.  MFA(Multi-Factor Authentication)MFA는 사용자의 보안을 강화하기 위해 두 가지 이상의 인증 방법을 요구하는 시스템으로 단순히 비밀번호만 사용하는 것보다 보안이 안전하다.비밀번호첫 번째 인증 요소는 일반적으로 로그인할 때 입력하는 사용자가 설정한 비밀번호이다.추가 인증 요소두 번째 인증 요소는 사용자의 디바이스나 생체 인식 정보이다.스마트폰 앱: Google Authenticator와 같은 앱에서 생성된 코드SMS: 등록된 전화번호로 전송된 일회용 코드지문이나 얼굴 인식: 생체 인식 정보MFA를 사용하는 가장 큰 이유는 보안이다.비밀번호가 유출되어도 추가 인증 ..
[AWS] EC2 Git 설치 및 프로젝트 Clone EC2 인스턴스로 SSH에 접속 후 git을 설치하고 프로젝트를 Clone 받는 과정을 정리했다.   1. EC2 인스턴스 SSH 연결AWS 로그인 > EC2 > 인스턴스 > 실행할 인스턴스 선택 > 연결 > SSH 클라이언트 명령어 순서대로 터미널에 입력해준다.chmod 400 "my-keypair-name.pem"ssh -i "my-keypair-name.pem" ubuntu@my-public-DNS   2. Git 설치Git을 설치하기 전에 Git이 설치되어 있는지 확인한다.git --versiongit version이 출력되지 않는다면 git을 설치한다.  리눅스의 경우sudo yum install git 우분투의 경우sudo apt install git   3. SSH 키 생성3-1. SSH 폴..
[AWS] Caddy로 도메인 연동 및 HTTPS 활성화하기 기존에 클라우드 서버를 인스턴스 퍼블릭 IP 주소:3000으로 접근했다면, 이제 구매한 도메인으로 연결해보자도메인 구매 및 EC2 연결은2024.06.19 - [Services/AWS] - [AWS] Route53 네임서버 설정(+ gabia 도메인 구매) 글을 참고한다. :3000 포트를 없애고 도메인 이름과 SSL 인증서를 추가한다.   1. caddy 설치Caddy는 웹/앱을 호스팅하기 위해 사용되는 서버로, 설치하면 자동으로 systemd 서비스로 시작되고 실행된다. 1-1. Caddy 홈페이지 접속https://caddyserver.com/docs/ Caddy - The Ultimate Server with Automatic HTTPSCaddy is a powerful, enterprise-re..
[AWS] Amazon RDS 데이터베이스 생성하기 RDS(Relational Database Service)클릭 몇 번으로 데이터베이스를 사용할 수 있는 서비스설치 및 운영을 AWS가 대신 해주는 장점   1. 데이터베이스 생성데이터베이스 생성 버튼을 클릭한다.   1-2. 데이터베이스 생성 방식 선택 - 표준   1-3. RDS를 생성하려는 DB 언어 선택필자는 MySQL을 선택했다.   1-4. 템플릿 선택필자는 AWS 가입 1년 미만으로 프리 티어를 선택했다.   1-5. DB 이름, 보안 설정DB 이름을 입력하고 마스터 아이디, 비밀번호를 설정한다.   1-6. 인스턴스 구성기본값 유지   1-7. 스토리지좀 더 최신화인 gp3를 선택했다.   1-8. 연결보안 그룹에 EC2 보안 그룹을 추가한다.   1-9. 요금합계 금액은 나와있지만 프리 티..
[AWS] EC2 생성하기 EC2(Elastic Compute Cloud)단순 클릭으로 쉽게 즉시 구동 가능한 서버를 제공하는 서비스운영 서버에 필요한 대부분의 Operating System을 지원하고, 사용 목적에 맞는 사양을 제공AWS 내의 VPC, RDS, ELB 등 다양한 서비스들과 호환성이 뛰어나 연동이 잘 됨   1. 리전 선택어떤 지역에 있는 컴퓨터를 임대할 것인지 고른다. 필자는 나의 서비스 사용자와 가까운 서울을 선택했다.   2. 인스턴스 생성2-1. 인스턴스 이름 입력   2-2. AMI 선택  2-3. 인스턴스 유형 확인내가 빌리려고 하는 서버 사양을 확인할 수 있다. 필자는 가입한지 1년이 되지 않아 프리 티어를 사용했다.   2-4. 키페어 생성키페어 = 비밀번호(보안이 중요하기 때문에 일반 비밀번호가 아..
[AWS] S3 버킷 만들기 S3(Simple Storage Service)이름 그대로 파일을 쉽게 저장할 수 있는 공간을 제공하는 서비스이다.파일마다 고유 주소를 부여하여 S3에 저장한 파일을 웹상에서 쉽게 읽을 수 있다.주로 사이트상의 이미지들을 저장하고 사이트에서 읽어들여 렌더링 해주는데 사용한다.   1. 리전 설정AWS 리전을 확인한다.   2. 버킷(=가상 하드디스크) 만들기2-1. 일반 구성 - 버킷 이름 입력   2-2. 객체 소유권 - ACL 비활성화됨(권장)   2-3. 액세스 권한 - 퍼블릭 상태필요에 따라 액세스 권한을 차단할 수 있다. 필자는 우선 퍼블릭 상태로 만들었다.   2-4. 버킷 버전 관리 - 비활성화버킷 내 여러 버전을 저장할 수 있다.이 기능은 실수로 인한 데이터 손실을 방지할 수 있어 데이터 ..
[AWS] Route53 네임서버 설정(+ gabia 도메인 구매) Route53AWS에서 제공하는 DNS(Domain Name System) 서비스DNS(Domain Name System)란?사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 기계가 읽을 수 있는 IP주소(예: 192.0.2.44)로 변환마치 친구의 이름에 대해 전화번호를 알려주는 전화번호부와 같음가용성과 확장성이 뛰어나며 AWS 내의 다른 서비스들과의 호환성도 뛰어남   1. 도메인 구매무료 또는 저렴하게 도메인을 구매할 수 있는 서비스는 다양하다.필자는 가비아를 통해 도메인을 구매했다.구매 과정은 간단하다. 로그인 후 원하는 도메인을 입력하면 된다. 저렴한 도메인을 선택할 경우 1년에 천원도 안되는 금액으로 구매할 수 있다.   2. 호스트 영역 생성Route 53 - 호스트 영역..
[AWS] AWS 가입하기 AWS(Amazon Web Services)아마존이 물리적으로 구축해놓은 인프라스트럭쳐를 유저가 웹사이트를 통해서 선택하고 사용할 수 있게 만든 클라우드 서비스이다.서버, 데이터베이스 등 필요한 부분만 선택해서 사용하고 쓴 만큼만 비용 지불할 수 있다.적은 비용으로도 빠르게 누구나 서버를 구축하고 운영할 수 있어서 대부분의 스타트업 및 빠르게 성장하는 기업들이 사용한다. (요즘은 많은 대기업들도 사용하는 추세)   1/5단계이메일 주소, 암호, AWS 계정 이름을 작성한다.AWS 계정 이름은 해당 서버를 부를 명칭을 입력하면 된다.   2/5단계연락처 정보를 작성한다. 모두 영문으로 작성해야 한다. 예를 들어 주소가 [서울시 강남구 테헤란로 1길 1, A동 101호] 일 경우 아래처럼 작성해준다.주소테헤..