[개인 웹사이트 만들기]

AWS+Django 기반 웹사이트 제작 8 (웹사이트 개발, codepipeline 4/5)

UtakerS 2024. 10. 22. 19:33
반응형
본격적으로 웹사이트를 만들고 꾸미기 전에 ec2 서버에 ssh로 접속해서 코드를 작성하기에는 한계가 있으니
작업 PC에서 개발환경을 구축하고 테스트한뒤 aws에서 제공하는 codepipeline 서비스를 이용해서 배포한다.

 

  • CodeCommit
  • repository 생성 & git 연동
  • CodeBuild
  • CodeDeploy
  • CodePipeline

CodeDeploy

어플리케이션 생성

이름 입력

컴퓨팅 플랫폼 [EC2/온프레미스] 클릭 후 [어플리케이션 생성] 클릭

 

 

CodeDeploy에 부여할 역할 생성

AWS 서비스 선택

사용 사례에서 CodeDeploy 선택

역할 이름과 설명 입력

역할 생성

IAM > 역할 > 역할 생성

 

 

배포 그룹 생성

배포 그룹 생성 클릭

생성한 역할 선택

Amazon EC2 인스턴스 선택 후 키와 값 입력

로드 밸런싱 비활성화 후 [배포 그룹 생성] 클릭

 

 

 

 

어플리케이션 배포

어플린케이션 배포 클릭

배포 그룹 선택

개정 유형 S3에 저장

개정 위치는 복사한 S3 URI 입력

개정 파일 형식은 .zip으로 저장

배포 설명 작성 후 [배포 만들기] 클릭

 

 

 

 

EC2에 부여할 역할 생성

EC2가 CodeDeploy에 접근하기 위해 알맞은 역할을 생성해 부여

AWSCodeDeployFullAccess & AmazoneS3FullAccess 정책 선택

추가된 정책을 확인하고 역할 생성 클릭

 

 

Django-Server-2a 인스턴스에 역할 부여

 

Access Key 발급

iam 사용자에서 엑세스 키 만들기 클릭

 

설명 태그 CodeDeploy 입력 후 엑세스 키 만들기 클릭

 

.csv 파일 다운로드해서 엑세스 키 보관

 

EC2에 CodeDeploy Agent 설치

putty를 사용해서 Bastion Host에 접속

ssh로 Django server에 root 계정 접속

apt -y update
apt -y install ruby
pip install awscli

 

aws configure에 앞서 발급한 Access Key 등록

aws sts get-caller-identity 으로 확인

aws configure
aws sts get-caller-identity
exit (unbuntu 계정으로 전환)

 

wget 명령어로 다운받은 install 파일 확인

install 파일에 대한 실행 권한 설정 후 실행 완료한 화면

서비스 실행 중인지 확인

 

cd /home/ubuntu
wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto
sudo service codedeploy-agent status

 

반응형