본문 바로가기

AWS

(8)
[배포를 진행해보자] Jenkins를 통한 CI/CD 구축 Xshell을 통해 EC2 접속 이제 EC2에 접속하여 실제 배포 환경을 만들어보자. 나는 윈도우 환경에서 EC2에 접속하기위해 Xshell을 활용하였다. Xshell에서 접속하기 위해 다음과 같이 설정을 진행한다. 호스트에는 자신의 퍼블릭 IP을 입력해주고 해당 세션에 대한 이름을 지정해준다.(이름은 임의로 지정해주면 된다.) ​ 그리고 우리는 EC2를 생성할 때 SSH로 접근하기 위한 키 페어를 생성했다. 이를 적용시켜주기 위해 사용자 인증 탭에서 Public Key를 체크해주고 설정 버튼을 누른다. ​ 그리고 가져오기를 통해 해당 키 페어를 가져오고 비밀번호를 입력한다. 비밀번호를 지정하지 않았을 경우 빈 상태로 진행하고 다시 해당 페이지로 돌아와 아래 사진에서 보이는 등록 정보를 클릭해 비밀번호를..
[배포를 진행해보자] EC2와 RDS를 생성하기 EC2 생성하기 어느 정도의 프로젝트 베이스가 마련되어 실질적인 배포를 진행해보려고 한다. 이를 위해 이전에 AWS에 대해 학습한 바 있고 이를 실제 프로젝트로 적용하려고 한다. 먼저, 배포를 위한 EC2를 생성해보자. (AWS에 가입되어 있다고 가정한다.) AWS에서는 프리 티어로 EC2를 무료로 사용할 수 있다. 나는 프리 티어로 이번에 진행을 해볼 것이다. 먼저, EC2에 들어왔다면 인스턴스 시작을 눌러 실제 EC2를 생성해보자. AWS 서비스에서 EC2를 들어가 인스턴스 탭에서 인스턴스 시작을 누르자. ​ 그렇다면 다음과 같이 AMI을 선택하는 화면이 나오게 된다. 여기서 우리는 프리 티어를 사용하여 EC2 환경을 구축할 것이기 때문에 다음과 같이 선택해준다. ​ 프리 티어 용으로 선택하고 넘어가..
[AWS] Lambda, CloudFront AWS Lambda Serverless의 주축을 담당 Events를 통하여 Lambda를 실행시킴 NodeJS, Python, Java, GO 등 다양한 언어 지원 Lambda Function 비용 Lambda Function이 실행될때만 돈 지불 매달 1,000,000 함수 호출 시 무료 (그 후로는 유료) ### 기타 최대 300초(5분) 런타임 시간 허용 512MB의 일시적인 디스크 공간 제공 (/tmp/) 최대 50MB Deployment Package 허용 초과시 S3 버켓 사용 사용 용례 S3 Put Object -> Lambda(데이터 변환) -> DB IoT(Topic) -> Lambda -> SNS AWS CloudFront 정적, 동적, 실시간 웹사이트 컨텐츠를 유저들에게 전달 Edge..
[AWS] CloudWatch CloudWatch AWS 리소스 사용의 실시간 모니터링 기능 지원 다양한 이벤트들을 수집하여 로그파일로 저장 여기서 말하는 이벤트란? S3버켓 파일 업로드 & 삭제 S3버켓 접근 시 접근거부 발생 RDS 데이터베이스에 접속 시도 이벤트 & 알람 설정을 통해 SNS, AWS Lambda로 전송 가능 [CloudWatch 사용 가능 서비스툴] : EC2, RDS, S3, ELB 등등 CloudWatch 모니터링 종류 Basic Monitoring 무료 5분 간격으로 최소의 Metrics 제공 CPU 사용량, 디스크 사용량, 네트워크 I/O Detailed Monitoring 유료 1분 간격으로 자세한 Metrics 제공 Alarm 임의로 정해놓은 값에 도달할 시 Alarm을 울림 Alarm이 울릴 시 특정..
[AWS] S3 S3(Simple Storage Service) S3 특징 안전하고 가변적인 Object 저장공간을 제공 (ex Google Cloud) 편리한 UI 인터페이스를 통해 어디서나 쉽게 데이터를 저장하고 불러올 수 있음 파일 크기는 0KB부터 5TB까지 지원 저장공간 무제한 Bucket이라는 이름을 사용함 (디렉토리와 유사함) Bucket은 보편적인 namespace를 사용함 S3 Object 구성요소 Key - Value Version ID Metadata CORS (Cross Origin Resource Sharing) S3 Data Consistency Model Read After Write Consistency (PUT) 삽입 후 즉시 사용 가능 Eventual Consistency (UPDATE,..
[AWS] RDS RDS(Relational DB Service) 관계형 데이터베이스 데이터베이스 테이블 데이터 필드 Data Warehousing Business Intelligence 리포트 작성, 데이터분석시 사용 매우 방대한 분량의 데이터 로드시 사용 OLTP VS OLAP OLTP (Online Transaction Processing) INSERT와 같이 종종 사용되어지는, 혹은 규모가 작은 데이터를 불러올때 사용되는 SQL쿼리가 필요할때 사용 복수의 사용자 PC에서 발생되는 트랜잭션(Transaction)을 DB서버가 처리하고, 그 결과를 요청한 사용자PC에 결과값을 되돌려주는 과정 자주 업데이트되어 데이터 무결성을 중요시여겨야하기에 테이블을 정규화 Order # 210에만 해당되는 Customer 이름, 주..
[AWS] EC2 EC2(Elastic Compute Cloud) 지불방식 On-demand - 시간 단위로 가격이 고정되어 있음 오랜시간동안 선불을 내지 않고 최소한의 비용을 지불하여 EC2인스턴스를 사용하고 싶ㅇ르 때, 특히 앱/프로그램 개발시 최초로 EC2인스턴스에 deploy할때 유용 개발시작과 끝이 정해지지 않았지만 단기간에 끝낼 수 있을 때 유용 Reserved - 한정된 EC2 용량 사용 가능, 1-3년동안 시간별로 할인 적용 받을 수 있음 안정된, 예상 가능한 workload시 Reserved 사용 권장, 선불로 인한 컴퓨팅 비용 대폭 감소 개발시작과 끝이 정해졌을 때 유용 spot - 입찰 가격 적용. 가장 큰 할인률을 적용받으며 특히 인스턴스의 시작과 끝 기간이 전혀 중요하지 않을 때 유용 단순히 비용 ..
[AWS] IAM AWS(Amazon Web Service) - 웹에서 지원하는 서비스 클라우드 컴퓨팅 - 원격 상의 서버가 직접 작동되고 동작되는 형태 서버리스(Serverless) 기능 지원 As You Pay Go 서비스 Free-tier 서비스 루트(Root) 사용자 IAM(Identitiy and Access Management) 유저를 관리하고 접근 레벨 및 권한에 대한 관리 접근 키와 비밀 키를 이용해 접근 접근 키를 ID, 비밀 키를 PW와 같이 생각하면 된다. 매우 세밀한 접근 권한 부여 기능 (Full Access 혹은 DynamoDB의 테이블에 대한 생성 삭제 복사 등에 대한 권한 부여) 비밀번호를 수시로 변경 가능케 해줌 (보안적인 이유 - 분기별로) Multi-Factor Authentication..