문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
ci:jenkins:aws_plugin [2022/01/12 10:37] kwon37xi [ec2 plugin] |
ci:jenkins:aws_plugin [2022/07/07 10:38] (현재) kwon37xi [EC2 Fleet] |
||
|---|---|---|---|
| 줄 8: | 줄 8: | ||
| * https:// | * https:// | ||
| * AWS Credential 환경변수 자동 주입. | * AWS Credential 환경변수 자동 주입. | ||
| + | |||
| + | ===== EC2 Fleet ===== | ||
| + | * [[https:// | ||
| + | * [[ci: | ||
| + | * [[https:// | ||
| + | * **Autoscaling Group이나, | ||
| + | * **Spot Instance를 사용하지 말 것** : Job 실행중에 갑자기 종료될 수 있음. | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * **Required Role** : '' | ||
| - | ===== ElasticBeansTalk Deployment ===== | ||
| - | * [[aws: | ||
| - | * [[https:// | ||
| ===== ECS/Fargate ===== | ===== ECS/Fargate ===== | ||
| 줄 19: | 줄 26: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[https:// | + | * [[https:// |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | | + | * [[https:// |
| - | | + | * Fargate docker 이미지를 private repo 에서 가져올 수 있는 권한 설정 필요. |
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * Fargate 태스크에 AWS Role 을 지정할 수 있는 Role 필요. | ||
| + | * [[https:// | ||
| + | * Fargate 가 생각보다 빠르지 못한듯 하다. (TODO: 혹시 docker image를 외부에서 끌어올 경우? 내부로 변경하면? | ||
| + | * [[https:// | ||
| ===== ec2 plugin ===== | ===== ec2 plugin ===== | ||
| 줄 31: | 줄 44: | ||
| * **Jenkins Master** 에대한 IAM Role : '' | * **Jenkins Master** 에대한 IAM Role : '' | ||
| - | * **Security Group, Subnet** : Slave EC2가 SG, Subnet. 이름이 아니라 **ID**로 입력해야한다. 쉼표로 구분. 당연히 Master 에서 SSH 접근 가능한 SG와 Subnet 이어야 한다. | + | * **Security Group, Subnet** : Slave EC2에 지정할 |
| * **EC2 Key Pair's Private Key(Agent EC2 접속 SSH Private Key)**: AWS 에 등록된 pem private Key 를 Jenkins Credential 로 등록하면, | * **EC2 Key Pair's Private Key(Agent EC2 접속 SSH Private Key)**: AWS 에 등록된 pem private Key 를 Jenkins Credential 로 등록하면, | ||
| * Agent 용 AMI 는 JDK 가 깔려있고 PATH가 걸려있는게 좋다. 안그러면 JDK 설치까지도 EC2 Plugin 이 수행한다. | * Agent 용 AMI 는 JDK 가 깔려있고 PATH가 걸려있는게 좋다. 안그러면 JDK 설치까지도 EC2 Plugin 이 수행한다. | ||
| 줄 41: | 줄 54: | ||
| * **Launch Timeout in seconds** : SSH 접속 최대 대기시간(초), | * **Launch Timeout in seconds** : SSH 접속 최대 대기시간(초), | ||
| * **Host Key Verification Strategy** : '' | * **Host Key Verification Strategy** : '' | ||
| - | * **IAM Instance Profile** : Slave Agent EC2 인스턴스에 IAM Role을 지정하려면 IAM instance profile ARN을 지정해줘야하며, 또한 Master 자체에 '' | + | * **IAM Instance Profile** : Slave Agent EC2 인스턴스에 IAM Role을 지정하려면 IAM instance profile ARN을 지정해줘야한다. |
| + | * Slave EC2에 지정되길 원하는 IAM Role 의 Summary 화면에서 **Instance Profile ARNs**에 있는 '' | ||
| + | {{: | ||
| + | * 또한 Master 자체에 '' | ||
| + | <code json> | ||
| { | { | ||
| " | " | ||
| 줄 50: | 줄 67: | ||
| " | " | ||
| ], | ], | ||
| - | " | + | " |
| }] | }] | ||
| } | } | ||
| # 혹시 필요하면, | # 혹시 필요하면, | ||
| </ | </ | ||
| - | * Slave EC2에 지정되길 원하는 IAM Role 의 Summary 화면에서 **Instance Profile ARNs**에 있는 '' | ||
| - | {{: | ||
| ==== EC2 Plugin 참조 ==== | ==== EC2 Plugin 참조 ==== | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | |||
| - | ===== EC2 Fleet ===== | ||
| - | * [[https:// | ||
| - | * [[ci: | ||
| - | * [[https:// | ||
| - | * [[https:// | ||
| - | * [[https:// | ||
| + | ===== ElasticBeansTalk Deployment ===== | ||
| + | * [[aws: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| ===== 참조 ===== | ===== 참조 ===== | ||
| * [[https:// | * [[https:// | ||