Cloud/AWS
[AWS] CodeBuild : Docker 이미지를 Build하고 ECR에 Push하기
CodeBuild란?AWS CodeBuild란, 클라우드 상의 완전 관리형 빌드 서비스이다. CodeBuild에서는 자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요가 없다. AWS의 CI(Continuous Integration) 서비스라고 보면 된다. CodeBuild 작동 방식CodeBuild는 다음 그림과 같이, 소스 공급자에 소스가 업로드되면 CodeBuild가 알아서 소스를 가져와 빌드를 진행한다. 그리고 빌드가 완료되면 아티팩트(빌드 결과물)를 아티팩트 저장소에 저장한다.CodeBuild에서 지원하는 소스 공급자는 다음과 같다.Amazon S3AWS CodeCommitGithubBitBucketGithub EnterpriseCodeBuild가 빌드 환경에 소스 코드를 다운로드한 다음, bu..
AWS를 이용한 HA(High Availability) wordpress 서비스 배포
💻주제 : AWS를 이용한 HA(High Availability) wordpress 서비스 배포 ✍️작성자 : nayoungs 📅진행 기간: 2022.04.06 ~ 2022.04.08 📌목차 1. 프로젝트 개요 1-1. 프로젝트 주제 선정 동기 및 목표 1-2. 프로젝트 특징 1-3. 프로젝트 환경 2. 프로젝트 과정 2-1. VPC 구성 2-2. 키 페어 생성 2-3. Bastion Host 구성 2-4. RDS 구성 2-5. EC2 인스턴스 생성 2-6. EC2에서 WordPress 구성 2-7. EC2 AMI 생성 2-8. Load Balancing 및 Auto Scaling 구성 2-9. CloudFront 배포 3. 프로젝트 최종 결과 1. 프로젝트 개요 1-1. 프로젝트 주제 선정 동기 및 목..
[AWS] CDN과 Amazon CloudFront + S3 연동
📌INDEX CDN이란? Amazon CloudFront S3를 이용한 정적 웹 호스팅 S3와 CloudFront 연동하기 ✔️ CDN이란? CDN은 Contenst Delivery Network 또는 Content Distribution Network의 약자로, 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템이다. 주요 ISP(Internet Services Provider)의 CDN 서버에 콘텐츠를 분산시키고 유저의 네트워크 경로 상 가장 가까운 곳의 서버로부터 콘텐츠를 전송받도록하여 트래픽이 특정 서버에 집중되지 않고 각 지역 서버로 분산되도록 하는 기술이다. 동작 원리 콘텐츠에 대한 요청이 발생하게 되면 사용자(End-User)와 가장 가까운 위치에..
[AWS] Amazon Auto Scaling
📌INDEX 가용성(Availability) Amazon Auto Scaling Auto Scaling과 Load Balancer 실습 ✔️ 가용성(Availability) 가용성이란, 해당 시스템이나 서비스가 가동 및 실행되는 시간의 비율을 말함 서버와 네트워크, 프로그램 등의 정보 시스템이 정상적으로 사용 가능한 정도 가동률이 높다는 것을 의미하며, 이러한 가용성은 보통 '9'로 측정 고가용성(High Availabiliy, HA) : 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질 세븐 나인 : 99.99999의 가용성, 상징적인 의미, 절대로 장애가 일어나면 안되는 서비스들 SLA(Service-Level Agreement) : SLA Calculator ✔️ Amazon..
[AWS] 배스천 호스트(Bastion Host)
📌INDEX 배스천 호스트(Bastion Host) AWS를 통해 Bastion Host 구현해보기 ✔️ 배스천 호스트(Bastion Host)란? Bastion Host란 침입 차단 소프트웨어가 설치되어 내부와 외부 네트워크 사이에서 일종의 게이트 역할을 수행하는 호스트이다. 내부 네트워크와 외부 네트워크 사이에 위치하는 게이트웨이 보안 대책의 일환으로 사용됨 내부 네트워크를 겨냥한 공격에 대해 방어하도록 설계됨 Bastion Host는 접근 제어 기능과 더불어 게이트웨이로서 가상 서버(Proxy Server)의 설치, 인증, 로그 등을 담당 위험에 노출되는 경우가 많기 때문에, Bastion Host는 네트워크 보안상 가장 중요한 방화벽 호스트임 ✔️ AWS를 통해 Bastion Host 구현해보기 ..
[AWS] Amazon RDS(Relational Database Services)란?
📌INDEX Amazon RDS란? Amazon RDS의 주요 특징 AWS에서 클라우드 데이터베이스 서비스 선택 실습 1. AWS 자습서 : RDS로 DB 구성 2. EC2에 DB 서버 직접 설치해서 구성하기 ✔️ Amazon RDS란? Amazon RDS는 Relational Database Services의 약자로, 클라우드에서 관계형 데이터베이스를 더욱 간편하게 설정, 운영 및 확장할 수 있는 서비스이다 주로 사용되는 6개의 데이터베이스 엔진 중에서 선택할 수 있는 아마존 관계형 데이터베이스 서비스 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화 비용 효율적이고 크기 조정 가능한 데이터베이스 서비스 제공 특징 관리 용이성 : 인프라의 프로비저닝/DB ..
[AWS] Amazon VPC : 리전(Region)간 VPC Peering
📌INDEX VPC Peering 리전(Region)간 VPC Peering으로 글로벌 통합 네트워크 환경 구축하기 ✔️ VPC Peering 서로 다른 VPC간의 네트워크 연결을 제공 VPC 피어링을 통해 동일한 네트워크에 속한 것과 같이 서로 다른 VPC의 인스턴스 간에 통신 가능 공식 문서 : VPC Peering이란? VPC 피어링이 지원되지 않는 경우 IPv4 CIDR 블록이 같은 경우(겹치는 경우) 전이적 피어링 PC A와 VPC B 사이, VPC A와 VPC C 사이에 VPC 피어링 연결이 있고 VPC B와 VPC C 사이에 VPC 피어링 연결이 없을 때, VPC A를 통해 VPC B에서 VPC C로 직접 패킷을 라우팅할 수 없음 게이트웨이 또는 프라이빗 연결을 통한 엣지 라우팅 ex) VP..
[AWS] Amazon VPC : Public 서브넷과 Private 서브넷 만들기
📌INDEX VPC 마법사를 통해 Public Subnet과 Private Subnet 만들기 VPC 삭제하기 수동으로 Public Subnet, Private Subnet 생성하기 ✔️ VPC 마법사를 통해 Public Subnet과 Private Subnet 만들기 Amazon VPC(Virtual Private Cloud)를 구성하고 퍼블릿 서브넷과 프라이빗 서브넷을 생성하여 NAT 게이트웨이를 통해 프라이빗 인스턴스가 인터넷에 연결되도록 실습을 진행할 예정 Amazon VPC는 비용이 발생하지 않으나, VPC 외부로 데이터를 송신하는 경우 사용량에 비례하여 Outbound 트래픽에 대한 비용이 발생할 수 있음 1) [로그인] - [VPC 페이지 접속] 글쓴이는 리전(Region)을 임의로 '시드니..
[AWS] VPC(Virtual Private Cloud)
📌INDEX VPN VPC VPC의 구성 요소 VPC와 서브넷(Subnet) 라우팅 테이블(Routing Table) VPC의 주요 서비스 ✔️ VPN(Virtual Private Network) VPN은 Virtaul Private Network의 약자로, 큰 규모의 조직이 여러 곳에 분산되어 있는 컴퓨터들을 연결하는 보안성이 높은 사설 네트워크(Private Network)를 만들거나, 인터넷을 활용하여 원격지 간에 네트워크를 서로 연결하고 암호화 기술을 적용하여 보다 안정적이며, 보안성 높은 통신 서비스를 제공하는 서비스 Amazon Web Services(AWS)는 VPC(Virtaul Private Cloud)와 VPC Gateway를 통해 On-Premise의 VPN 장비와 Amazon Web..
[AWS] Linux 서버의 파일을 Amazon S3로 백업하기
🔎함께 보면 좋은 글 1) VitaulBox, VMWare등을 이용하여 리눅스 서버 실행 글쓴이는 VirtaulBox로 실행 후 Windows Termainal에 ssh를 통해 연결 2) CLI 설치 파일 다운로드 후 압축 해제하여 설치 # curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" 3) 압축 해제 후 설치 # unzip awscliv2.zip # ./aws/install 4) 설치 확인 # aws --version aws-cli/2.5.0 Python/3.9.11 Linux/3.10.0-862.el7.x86_64 exe/x86_64.centos.7 prompt/off 5) IAM 사용자 생성 후 .c..
[AWS] PC(Windows 시스템)의 파일을 Amazon S3로 백업하기
1) AWS 로그인 2) S3 접속 3) backup을 위한 버킷 생성 4) AWS CLI 사용을 위해 IAM 계정 생성 그룹이 없다면 [사용자 그룹] - [그룹 생성] IAM - [사용자] - [사용자 추가] 5) [사용자 이름] - [프로그래밍 방식 액세스] 6) [그룹 이름] - [AdministratorAccess] 7) 그룹 생성 후 사용자 추가 사용자 만들기 및 .csv 파일 다운로드 csv 파일 구성 User namePasswordAccess key IDSecret access keyConsole login link 8) 링크에서 aws cli 버전 2 다운로드 9) cmd창 열기 aws --version :\Users\USER>aws --version aws-cli/2.0.30 Python..
[AWS] Amazon S3에 파일 업로드 및 삭제하기
📌INDEX 파일 업로드 파일 삭제 ✔️ 파일 업로드 1) AWS 계정에 로그인 2) AWS S3에 접속 3) 버킷 만들기 클릭 4) 버킷 이름 작성 및 리전(서울) 선택 S3 권한 확인을 위해 모든 퍼블릭 액세스 차단을 그대로 체크해둔 상태(default)로 진행 5) 이외에는 별도의 수정 없이 버킷 만들기 클릭 6) 버킷이 생성된 것을 확인할 수 있음 7) 버킷에 들어가서 업로드 클릭 8) 파일 추가 후 업로드 클릭 (글쓴이는 평소 좋아하는 영화 고양이의 보은 이미지 업로드) 9) 버킷에 파일이 업로드 된 것을 확인할 수 있음 10) 파일 클릭 후 객체 URL 확인 11) 객체 URL 로 접속시도 - 실패(AccessDenied) 버킷 액세스가 퍼블릭이 아니기 때문 S3는 default로 사용자가 S..