본문 바로가기

반응형

AWS

(55)
[CICD] Terraform을 통한 AWS 3 Tier 구성 및 CI/CD 파이프라인 배포 #2 - Maven으로 SpringBoot Demo 앱 배포 - 참고 (Spring Initializr) https://start.spring.io/ SpringBoot로 Demo 프로젝트 생성 Project : Maven Packaging : War (Tomcat 서버를 통해 배포할 것이기 때문) Java : 8 Version 사용 Dependencies : Spring Web 간단한 Source 수정 및 index.html (Welcome Page) 생성 기본 뼈대에 index.html만 추가해준다. 그럼 기본 경로로 접속할 시 index.html로 리다이렉션이 된다. 실 서버에서 war 파일을 배포하기 전에 다음의 Test들을 진행하였다. Docker container, EC2에서 각각 war 파일 배포해보기 1. Local에서 Docker Container..
[CICD] Terraform을 통한 AWS 3 Tier 구성 및 CI/CD 파이프라인 배포 #1 - 아키텍처 및 CICD 흐름 소개 개요 Terraform을 통하여 AWS의 각종 자원들(VPC, EC2, ALB, NLB, AutoScaling Group, ..)을 생성하고 Application 배포 자동화를 위한 Jenkins + AWS CodeDeploy 구축 이후 WAR 파일 배포를 진행해 볼 예정이다. 요즘에는 WAR를 말아서 Tomcat에 직접 배포하는 것이 아닌 JAR 파일에 있는 내장 톰캣을 사용하지만 아직도 많은 회사에서는 Tomcat을 직접 구성하여 사용하고 있기 때문에 3 티어를 구현하여 인프라를 구현해 볼 예정이다. (SpringBoot는 처음 사용해보기 때문에 hello만 출력하는 페이지를 생성하였음) 어떠한 것들을 사용할 것인지 간략하게 소개해보겠다. 1. 인프라 - Terraform - Packer 2. CI/..
[Packer] Packer를 이용한 EC2 AMI 생성 Packer의 정의는 쉽게 VM의 Image를 생성해주는 Image Builder라고 생각하면 된다. Packer 설치 Packer는 yum, apt-get, choco 등 여러가지 방식으로 설치할 수 있지만 아래의 설치 방법은 wget을 이용하여 zip 파일을 다운로드 받은 후 설치한 방식이다. export PACKER_RELEASE="1.7.4" sudo cd /tmp/ wget https://releases.hashicorp.com/packer/${PACKER_RELEASE}/packer_${PACKER_RELEASE}_linux_amd64.zip sudo unzip packer_${PACKER_RELEASE}_linux_amd64.zip sudo mv packer /usr/local/bin pac..
[Ansible] AWS EC2 Dynamic Inventory 사용하기 개요 다수의 VM에 동일한 명령어를 수행하기 위해서 Configuration Management 툴인 Ansible을 많이 사용하게 된다. Ansible에서 접속 정보와 관련된 정보들은 보통 Inventory라고 하는 파일에 저장하게 된다. 접속 호스트, 접속 계정 정보, 그룹 설정, 그룹 간 별도의 변수 설정 등이 가능하다. 하지만 수십 ~ 수백대의 VM Host의 IP Address 및 Password, Key 파일 등을 설정하는 것도 많은 시간이 소요되기 마련이다. 그런데 잘 생각해보면 클라우드와 같은 서버 관련 정보를 API 형식으로 제공할 경우 일일이 호스트 정보를 파일로 수작업 저장할 필요가 없다. ⇒ 프로그래밍 관점으로 접근하여 서버 관련 정보를 동적으로 얻어올 수 있다 ⇒ Ansible에서..
AWS IAM을 통한 인증, 인가 IAM (Identity and Access Management) : AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다. IAM을 사용하여 리소스를 사용하도록 인증 및 권한 부여된 대상을 제어할 수 있다. ⇒ 인증 : 로그인 ⇒ 인가 : 권한 확인 IAM Group IAM User IAM Role IAM Policy IAM 정책 소개 IAM에서 자격 증명에 대한 권한을 설정할 경우 AWS 관리형 정책, 고객 관리형 정책 또는 인라인 정책 중 어떤 것을 사용할지 결정해야 한다. 자격 증명 기반 (Identity-based policies) AWS 관리형 정책 : AWS에서 제공하는 글로벌 적용 AWS 고객 관리형 정책 : 계정에서 직접 생성하여 사용 및 관리 AWS 인라인 정책 : 단일..
[AWS] IAM Policy JSON 알아보기 Example 먼저 아래의 예시를 살펴보자. 상위 레벨에는 Version, Statement가 있고 Statement는 List로 구성되어 있으며, 각 List의 Element에 Effect, Action, Resource, Condition, Principle 등으로 구성될 수 있다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BUCKET-..
[AWS] Root Volume을 다른 EC2 Instance에 붙이기 1. 개요 EC2에서 작업을 하다가 Critical한 이슈가 발생한 경우, EC2 Instance에 접근을 못하는 경우 등 여러가지 이유로 Root Volume을 다른 Instance에 붙여서 복구 작업을 진행해야 하는 경우가 있다 사람일은 누구나 모르기 때문에 Root Volume을 다른 Instance에 붙여서 원인을 파악한 이후 복구하는 방법에 대해 알아보도록 하겠다. 2. 실습 실습하기 전에 알아두면 좋은 내용들에 대해서 링크를 걸어둠 EC2에 Attach되는 Storage들은 타입이 무엇인지, Root Volume 전용인지 등에 따라 다르게 부여된다. 실습 환경 Public Subnet에 있는 EC2 Instance 2대 A : 접속이 불가능하며, 복구해야 할 EC2 ⇒ Root Volume을 ..
AWS와 Azure간 Transit Gateway을 통한 Site to Site VPN 연동 1. 개요 Public Cloud에서 가장 많이 사용되고 있는 AWS와 Azure간의 Site to Site VPN 연동 예제이며, Transit Gateway를 통해 진행하겠다. AWS Site to Site VPN Transit Gateway Customer Gateway Resource Access Manager Azure Virtual Network Gateway : Azure측 VPN 장비 Local Network Gateway : AWS의 CGW와 동일한 개념 Connection : Virtual Network Gateway와 Local Network Gateway를 연결하는 리소스 2. 아키텍처 AWS VPC : 10.0.0.0/16 Subnet : 10.0.0.0/24 EC2 Azure V..

반응형