1. 구성
- Private EC2 에 Jenkins 설치
- ALB 이용하여 Jenkins 접근
2. Java 설치
1) yum 업데이트
sudo yum -y update
2) 자바 11 설치 후 버전확인
$ sudo amazon-linux-extras install java-openjdk11
$ java -version
$ sudo yum install -y java-11-openjdk-devel
$ javac -version
3. Jenkins 설치
1) Jenkins 리포지토리 및 GPG key추가
# jenkins 리포지토리 추가
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
# jenkins 리포지토리 GPG key 추가
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
2) 젠킨스 설치
$ sudo yum -y install jenkins
3) 젠킨스 실행 및 상태확인
$ sudo systemctl start jenkins
$ systemctl status jenkins
4. Jenkins 화면 띄우기
- 프라이빗 서버이기 때문에 일반적으로 공인ip:8080 으로 페이지를 띄울 수 없다.
여기서는 ALB 를 이용해 ALB DNS로 페이지를 띄울것이다
- 현재 jenkins 포트는 변경없이 8080 그대로 사용
- SG 인바운드에 8080 포트 오픈해줘야함
1) EC2 - 대상 그룹 생성
- jekins가 8080포트이므로 프로토콜 포트를 변경해준다
- VPC 선택
- 해당하는 대상 선택 후 등록
- 대상그룹 목록 확인 (아직 연결된 LB 없음)
2) ALB 생성
- EC2 - 로드밸런서 - 로드밸런서 생성 - ALB
- 외부통신이므로 Internal-facing 선택 (external)
- 보안그룹 선택
- 리스너 80, 8080 추가
3) Target Group 확인
- moon-alb와 연결됨
- 상태가 initial 에서 Healthy가 되어야함
- LB DNS:8080 으로는 jenkins 페이지가 뜸
(moon-alb-1138282951.ap-northeast-2.elb.amazonaws.com:8080)
- 오류 Health status는 unhealthy 상태 (Health checks failed with these codes: [403])
- 해결
URL 뒷부분을 상태검사 경로에 추가해준다.
- 젠킨스 서비스 재시작
$ sudo systemctl restart jenkins.service
- healty 로 바뀐것 확인
'AWS' 카테고리의 다른 글
[AWS] 터널링 (0) | 2022.11.03 |
---|---|
[AWS] svn 설치 (0) | 2022.11.03 |
[AWS] Bastion host 에서 Private EC2 접속하기 (0) | 2022.11.03 |
[AWS] Nat Gateway 생성하기 (0) | 2022.11.03 |
[AWS] Application Migration Service (MGN) 으로 마이그레이션하기 (0) | 2022.11.01 |