Cloud/AWS
-
[AWS] AMI를 이용하여 EC2 인스턴스 이미지 만들기Cloud/AWS 2021. 4. 9. 15:41
AWS AMI 사용하기 AWS에는 AMI라는 것이 존재합니다. Amazon Machine Image의 약자입니다. 어떤 역할을 할까요? 이름에서 알 수 있듯이 Image 라는 것의 개념인데요. Docker Image와 느낌이 비슷한 거 같습니다. 예를들어, 이번 글에서 실습해볼 것인 EC2 인스턴스를 이미지로 만들어 놓고, 이미지로 여러 개의 EC2 인스턴스를 만들 수 있는 것입니다. (Docker와 같이 아주 편리합니다. 나중에 Auto Scaling 할 때 사용됩니다.) 따라서 이번 글에서 EC2 인스턴스를 AMI를 사용해서 이미지화 하고 인스턴스를 복제하는 간단한 실습을 진행해보겠습니다. EC2 AMI 이미지 만들기 AWS에서 EC2로 들어간 후에 이미지로 만들 인스턴스를 체크한 후에 작업을 누르겠..
-
[AWS] Spring Boot, Jenkins, CodeDeploy로 CI/CD 하기Cloud/AWS 2021. 4. 6. 10:07
들어가기 전에 이번 글에서 CI/CD를 할 때는 위의 아키텍쳐로 진행하려고 합니다. (다만, Auto Scaling은 사용하지 않고 운영용 EC2 1대, Jenkins 빌드용 EC2 1대를 사용할 예정입니다.) 그래서 사용한 도구에 대해서 정리하면 아래와 같습니다. Spring Boot(gradle) EC2 Linux2 2대(운영용 프리티어 1대, 젠킨스 빌드용 RAM 16G 1대) Jenkins(CI) CodeDeploy(CD) S3 Bucket Docker Github Hook 이러한 기술들을 사용해서 CI/CD를 진행하는 글을 이어나가겠습니다. 추가로 이번 글에서 EC2 생성, S3 버켓 생성, CodeDeploy 생성, IAM 사용자 권한 부여 등등 같은 것들에 대해서는 다루지 않겠습니다. EC2..
-
[AWS] Elastic Load Balancer 적용해보기Cloud/AWS 2021. 4. 5. 11:28
AWS ELB 사용해보기 AWS EC2가 2대가 있다고 가정하고 로드 밸런서에 적용해보는 예제를 진행해보겠습니다. EC2 Linux2 웹 서버 설치 EC2 2대 모두 웹 서버 설치를 먼저 진행하겠습니다. sudo yum update -y sudo amazon-linux-extras install -y php7.2 sudo yum install -y httpd sudo systemctl start httpd (Apache 웹 서버 시작(d는 daemon 임)) sudo systemctl enable httpd (Apache 웹 서버가 매번 시스템이 부팅할 때마다 시작되도록 함) sudo systemctl is-enabled httpd (httpd 가 실행되고 있는지 확인하는 명령어) IP 주소 확인하는 페..
-
[AWS] Amazon Certificate Manager로 HTTPS 적용해보기Cloud/AWS 2021. 4. 4. 20:25
AWS 인증서로 HTTPS 적용해보기 HTTPS를 적용하려면 도메인 주소가 필요합니다. 만약 도메인 주소가 없다면 여기 에서 먼저 만들고 와야 합니다. (AWS Route 53을 이용해서 도메인을 만들었습니다.) AWS를 이용하지 않는다면 다른 인증 기관에서 SSL 인증서를 발급 받아서 등록하는 과정을 거쳐야 할 것입니다. 그런데 인스턴스가 여러 개라면 인스턴스마다 인증서를 받아 등록하는 과정이 매우 번거로울 것입니다. 또한 각 인증서마다 만료 기간을 알고 있어야 하기 때문에 매 번 그 기간엔 맞춰서 갱신을 해줘야 합니다. 재 기간에 갱신하지 못하면 사이트가 접속이 되지 않는 큰 문제가 발생할 수 있습니다. 그래서 이번 글에서는 이러한 것들을 편리하게 해주는 ACM(Amazon Certificate Ma..
-
[AWS] Route 53으로 DNS와 IP 주소 연결하는 법Cloud/AWS 2021. 4. 4. 02:00
Route 53으로 도메인 구입하기 AWS Route 53으로 접속한 후에 도메인 등록 버튼을 누르겠습니다. 위와 같이 원하는 도메인 이름을 적은 후에 장바구니 추가하고 도메인 기간, 가격을 확인한 후에 계속을 누르겠습니다. 그리고 아래 개인정보 보호 활성화도 체크 되어 있는대로 해놓고 계속을 누르겠습니다. 그리고 위와 같이 Default 설정 그대로 두고 주문 완료를 누르겠습니다. 그러면 위와 같이 도메인 등록 진행 중을 볼 수 있습니다. (어느정도 시간을 기다리면 도메인이 등록될 것입니다.) 그리고 필자 같은 경우는 한 10분 정도 기다리니 위와 같이 도메인 등록 성공으로 바뀌었습니다. 그리고 호스팅 영역을 들어가보면 Route 53에 의해서 자동으로 생긴 것을 볼 수 있습니다. 도메인 이름과 IP ..
-
[AWS] SpringBoot와 Docker를 사용하여 CI/CD 자동화 배포해보기Cloud/AWS 2021. 4. 3. 21:02
Docker를 사용하여 CI/CD 파이프라인 구축하기 위의 아키텍쳐와 비슷하게 예제를 진행해보려 합니다. EC2 인스턴스 내부에 Docker를 사용하여 Spring Boot jar 파일을 실행시켜보겠습니다. (이 글에서는 EC2, S3, CodeDeploy, Travis CI를 생성하고 연결하는 법에 대해서는 다루지 않겠습니다.) 사용하고자 하는 도구는 아래와 같습니다. Spring Boot(gradle) Travis CI(CI 담당) AWS S3 Bucket(CI 빌드 결과를 저장하기 위함) AWS CodeDeploy(CD, 자동화 배포를 담당) AWS EC2 Docker Travis CI 사용하기 Travis CI의 레포지토리, Github 연결은 했다고 가정하고 AWS IAM 사용자 키를 등록하는 ..
-
[AWS] VPC(Virtual Private Cloud)란 무엇일까?Cloud/AWS 2021. 4. 2. 15:31
AWS VPC(Virtual Private Cloud)란 무엇일까? 이번 글에서는 AWS VPC에 대해서 정리해보겠습니다. Amazon VPC 서비스는 EC2의 네트워크 계층이며, EC2 인스턴스를 비롯한 여러 AWS 서비스에 네트워크 리소스를 담을 수 있는 가상 네트워크입니다. 글로만 보면 정확하게 이해가 되지 않습니다. 그래서 만약 EC2 인스턴스들을 VPC를 적용하지 않고 서비스를 한다고 가정해보겠습니다. VPC를 사용하지 않고 여러 EC2 인스턴스를 사용하면 위와 같은 상황일 것입니다. 뭔가 그림으로만 봐도 복잡해보이고 서로 거미줄처럼 엉켜있는 듯한 느낌을 받을 수 있을 것입니다. 지금은 6개 정도의 인스턴스여서 그렇지 나중에 인스턴스가 엄청나게 많아지면 정말 관리하기 쉽지 않을 것이고 하나의 인..
-
[AWS] AWS CodeDeploy-CodePipeline을 통한 배포 자동화 해보기Cloud/AWS 2021. 3. 30. 17:25
간단한 자동화 배포 구축 해보기! 간단하게 CodeCommit, CodeDeploy, EC2 linux2, Apache를 이용하여 CI/CD 파이프라인을 구축하는 법에 대해서 알아보겠습니다. CodeCommit 레포지토리 생성하기 CodeCommit 레포지토리 만들기 위의 링크를 참고해서 CodeCommit 레포지토리를 만든 후에 로컬 PC에다 clone 받는 작업까지 해보겠습니다. 여기 에서 2단계를 보면 파일을 다운 받을 수 있는 곳이 있습니다.(SampleApp_Linux.zip으로 ) /tmp └-- MyDemoRepo │-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server..