ec2 centos code-deploy-agent파일 설치 커맨드 및 실습

홍태경·2021년 5월 25일
0
post-custom-banner

sudo yum update
sudo yum install ruby
sudo yum install wget
wget https://aws-codedeploy-ap-northeast-2.s3.amazonaws.com/latest/install

pwd

[ec2-user@ip-172-31-10-59 ~]$ ll
합계 20
-rwxrwxr-x 1 ec2-user ec2-user 17482 5월 14 17:07

install
chmod +x install

sudo ./install auto

sudo service codedeploy-agent status # 설치된 것 확인.
The AWS CodeDeploy agent is running as PID 3498

Iam > 사용자 만들기

권한 >


기존 정책 직접 연결

  • AWSCodeDeployFullAccess
  • S3FullAccess

엑세스 키 아이디와 비밀 키가 발급 되었다.

임의로 만든 유저 계정으로 접속한다 . ( aws 가 아닌 내 로컬에서 접속하기 위해 )
터미널을 킨다
[ec2-user@ip-172-31-10-59 ~]$ aws configure

AWS Access Key ID [None]:
AKIASKSQNKILN7WJNxxxxxx # iam > 사용자 > 보안자격그룹 확인
Secret Access Key [None]: xxxxxx
Default region
name [None]: ap-northeast-2
Default output format [None]:

  • 코드 디플로이를 이용해서 이름을 하나 만들건데 이름은 mywebapp이다

vim ~/.aws/credentials 로 잘 들어갔나 확인

[ec2-user@ip-172-31-10-59 ~]$ aws deploy create-application --application-name mywebapp

혹시 이런 에러가 나온다면 aws configre 계정 잘못 누른것이다.
An error occurred (UnrecognizedClientException) when calling the CreateApplication operation: The security token included in the request is invalid.

다시 쳐봐라

[ec2-user@ip-172-31-10-59 ~]$ aws deploy create-application --application-name mywebapp
{
"applicationId": "4a43a0e8-aaa4-43d9-8712-7cb6ab17c0c3"
}

이 파일을 s3 버킷에 올려라?이미 올라가있는데..?

aws deploy push --application-name mywebapp --s3-location s3://aws-learner-code-deploy-bucket123/mywebapp.zip --ignore-hidden-files

잘 나왔을 떄,

(base) hongtae@user:~/다운로드/mywebapp$ aws deploy push --application-name mywebapp --s3-location s3://aws-learner-code-deploy-bucket123/mywebapp.zip --ignore-hidden-files
To deploy with this revision, run:
aws deploy create-deployment --application-name mywebapp --s3-location bucket=aws-learner-code-deploy-bucket123,key=mywebapp.zip,bundleType=zip,eTag=547d5094adf0b83387cfc0655f6d489d --deployment-group-name <deployment-group-name> --deployment-config-name <deployment-config-name> --description <description>

s3 프라이빗 환경에서 버킷 생성

에서 생성 날짜 시간이 바뀌었다?.

aws-learner-code-deploy-bucket123

s3 버킷에 mywebapp.zip이라는 압축파일을 업로드 해놨다


s3://aws-learner-code-deploy-bucket123/mywebapp.zip
/home/ec2-user/appspec.yml was not found

code deploy에 어플리케이션이 생성된 것을 확인할 수 있다.

이제 코드 디플로이와 s3 버켓를 연동시켜

s3에 업로드 되는 파일을 따라 배포할 수 있는 기능을 구현했다.

이제 배포를 시작해보자

배포 그룹을 생성

호스트를 생성?

배포그룹 생성 필수!

배포 그룹 이름
aws_learner_deploy_group

서비스 역할
자동으로 뜸

배포 유형은

롤형과 블루/그린이 있다

롤형은 배포가 되면 기존에 시스템이 멈추므로 시스템에 영향이 있지만
블루/그린은 새로운 ec2를 추가해 따로 진행 하고 배포가 완료되면 지워지는 것으로 블루/그린이 안정적이다

하지만 인스턴스를 과하게 쓰는 단점이 있다
처음 배포 할 때는 롤링이 좋고 그 다음부터는 안전하게 블루/그린으로

환경 구성은 아직 Ec2 인스턴스 밖에 해놓은게 없다 클릭!

태그는 기존에 있던거 누르면 된다 .

에이전트는 원래 필수로 해야 하지만 이미 Ec2에 다운 받았고 하나밖에 없기에 안함을 설정한다 . 혹시 여러개 인스턴스를 사용한다면 지금 업데이트 및 업데이트 일정 예약

배포 설정을 한번에 할꺼냐 , 반만 할거냐, 한번씩 할거냐를 선택하며 우린 처음이니까 AllAtOnce를 누르고

프러덕트에서는 롤백을 신경써 HalfAtATime을 권장한다

로드 밸런서는 배포 프로세스 중 수신 트래픽을 관리할 로드밸런스를 선택 하지만 우린 만들지 않았으니 패스한다!

profile
나의 에고를 인정하고 사랑하자
post-custom-banner

0개의 댓글