오케스트레이션?
ecs
eks
msa
서브넷 표기
vpc - vpc - vpc 생성
vpc 생성을 하려면 root 계정 사용자가 권한을 줘야함
AmazonRoute53ResolverFullAccess
+ AmazonRoute53FullAccess
+ AmazonVPCFullAccess
나는 이렇게 생성했음
이름 태그: ecs-vpc-hg
IPv4 CIDR: 10.0.0.0/16
-> 10이므로 a클래스
생성완료 !
vpc - 서브넷 - 서브넷 생성
서브넷은 네트워크 망을 좁혀주는 것
일반적으로는 서브넷끼리 통신하려면 라우팅이 필요하지만, vpc의 경우에는 라우팅 없어도 통신이 가능
CIDR 표기: IP주소/네트워크 길이
네트워크 길이: /24 -> 256개 /20 -> 4096개
서브넷의 이름 -> ecs-public-subnet-1-hg, ecs-private-subnet-1-hg, ecs-public-subnet-2-hg, ecs-private-subnet-2-hg
서브넷의 CIDR블록-> 10.0.1.0/24(public), 10.0.2.0/24(private), 10.0.3.0/24(public), 10.0.4.0/24(private)
서브넷의 가용영역은 다 다르게 설정해야함
VPC - 인터넷 게이트웨이 - 인터넷 게이트웨이 생성
이름 태그만 바꿔서 생성한 다음 작업 - VPC에 연결 - 미리 만들어놓은 VPC 연결
생성할때는 탄력적 IP를 할당하면 됨
생성한 후 라우팅 편집 -> 라우팅 추가 -> 대상 IP는 모두 접속 가능하도록 0.0.0.0/0 -> 오른쪽 대상 부분에는 인터넷 게이트웨이 선택 -> 뜨는 인터넷게이트웨이 목록 중에 미리 만들어놓은 게이트웨이 선택 -> 변경사항 저장
서브넷 연결 -> 서브넷 연결 편집 -> 앞서 만든 public 서브넷 두개 선택 -> 연결 저장
다시 라우팅 테이블 생성 하나 더 이름은 ecs-private-route-table-hg
위의 라우팅 테이블과 동일하게 라우팅 편집 -> 라우팅 추가 -> 0.0.0.0/0 + nat 게이트웨이 -> 변경사항 저장
서브넷 연결 -> 서브넷 연결 편집 -> 앞서 선택하지 않은 private 서브넷 두개 선택 -> 연결 저장
결과로 라우팅 테이블이 (public, private) 두 개 생성되고, 각각 서브넷이 두 개씩 연결되어 있음
alb라는 이름의 보안그룹 생성
instance라는 이름의 보안그룹 하나 더 생성
위에서 만든 instance 보안그룹 선택 -> 작업 -> 인바운드 규칙 편집 -> 규칙 추가 -> 소스 부분에서 alb 보안그룹(맨 위에 만든 보안그룹) 선택 -> 규칙 저장
보안그룹은 방화벽 역할을 함. 80번 포트를 열겠다는 것.
alb 보안그룹에 있는 애들은 instance 보안그룹에 마음대로 접속이 가능하도록 설정함
앞서 만든 두 개의 public 서브넷 선택 -> 작업 -> 서브넷 설정 편집 -> 퍼블릭 IPv4 주소 자동 할당 활성화
(ecs-public-subnet-1-hg
랑 ecs-public-subnet-2-hg
이거 두 개 설정만 수정 !)
ec2 - 로드 밸런싱 - 로드밸런서
맨 첫번째 거 create
이름은 ecs-alb-hg
subnet은 둘다 public 선택
보안그룹은 기존거 삭제하고 방금 만든 alb 보안그룹(ecs-sg-alb-hg
) 선택
create target group 눌러서 새 창 들어가기
target group 생성
instance - name은ecs-target-group-hg
- HTTP:80 - VPC는 앞서 만든ecs-vpc-hg
- HTTP1 - 나머지는 그대로
- HTTP1아래에 있는 gRPC는 google에서 만든 오픈 소스 원격 프로시저 호출 시스템
생성한 target group 선택 !
로드 밸런서 생성 완료 !
root 계정 유저가 cloud9 user 권한을 부여해야 생성 가능
cloud 9 - 환경 생성
cloud 9이란 vscode 같은 존재로 이해하면 됨 !
aws 명령어를 ci 환경에서 입력할 수 있음