
여러가지 CI/CD 툴을 찾아보다가 가장 많이 쓰이는 Jenkins는 어차피 레퍼런스가 많으니 언제든 해볼 수 있고, 레퍼런스가 아주 적은 툴인 Travis CI를 사용해봤다. github 레포에 최신화된 React.js 웹 코드를 올리고, s3 버킷에 build된 폴더를 올려 배포하는 형태로 진행했다. 코드 language: node_js node_js: - '16' install: - npm install script: - CI=false npm run build deploy: provider: s3 access_key_id: $AWS_ACCESS_KEY_ID secret_access_key: $AWS_SECRET_ACCESS_KEY bucket: 'test-s3-bucket' local_dir: b..

13번의 시도 동안 어떤 에러였는지 어떻게 해결했는지 써보겠다! 1. dory-test 대상 : AWS::EC2::EIPAssociation 에러 메시지 : The networkInterface ID 'eni-0b76d551207121168' does not exist (Service: AmazonEC2; Status Code: 400; Error Code: InvalidNetworkInterfaceID.NotFound; Request ID: 5ec40d3a-ccb6-42ce-a75c-f3049cfdd437; Proxy: null) 문제 : networkInterfaceId를 입력하는데 networkInterface는 EIP가 생성되고 나서 나오기때문에 지정하는 것이 불가능함 솔루션 : networkIn..
AWS의 관계형 데이터베이스인 Amazon RDS를 통해 관계형 데이터베이스를 생성해보자. DB 구성 과정에서 필요한 두가지의 항목을 먼저 준비해야 한다. 1. 데이터베이스 인스턴스의 인바운드, 아웃바운드 규칙을 제어하는 Security Group 2. 데이터베이스의 위치를 제어하게 될 Subnet Group 데이터베이스 인스턴스의 인바운드, 아웃바운드 규칙을 제어하는 Security Group 생성하기 RDS를 생성하는 과정에서도 SG를 만들 수 있지만 SG의 소스가 나의 IP로 자동 지정 되어서 SG 메뉴로 다시 돌아가 소스의 IP 대역을 다시 수정하는 번거로움이 있기 때문에 미리 RDS에서 사용하기 위한 SG를 만든다. VPC > SG > Create SG VPC는 내가 RDS를 만들 VPC 선택한..
Amazon RDS를 사용하여 MySQL 데이터베이스를 복수의 가용영역(AZ)에 이중화로 구성하고 Linux 기반의 가상 서버와 MySQL 데이터베이스를 연결해보자 RDS가 복수의 가용영역에 구성되게 되면 한 데이터베이스는 Master로, 한 RDS는 Standby로 구성되며, Master의 데이터베이스에 장애가 생기면 자동으로 Standby되어있는 데이터베이스로 대체되어 서로의 역할이 바뀌게 된다. 읽기 전용(Read Replica) 데이터베이스는 실시간으로 Master 데이터베이스와 싱크를 맞추며 변경사항을 업데이트 한다. 1. Amazon RDS를 통한 MySQL 데이터베이스 이중화(Multi-AZ) 구성 RDS용 SG 생성 Subnet Group 생성 복수의 AZ에 DB 생성 DB 엔진 DB 인스..

Launch Template과 Application Load Balancer로 Auto Scaling Group을 만들어보자 Launch Template과 Launch Configuration 두가지로 고를 수 있다. 버전 : 템플릿에서 변경사항이 발생 했을 때 새로운 버전을 만들 수 있음 Launch Template을 재정의해서 커스텀으로 인스턴스의 속성을 지정하거나 수동으로 인스턴스의 유형을 추가할 수 있다. Auto Scaling을 통해 생성되는 인스턴스 타입이나 종류를 더 상세하고 유연하게 설정할 수 있다. 인스턴스 속성 지정 : 인스턴스 속성을 기준으로 인스턴스의 CPU와 메모리 요구사항을 설정하여 인스턴스를 설정하는 옵션 수동으로 인스턴스 유형 추가 : 직접 인스턴스의 타입을 선택하여 인스턴스..

Auto Scaling 구성에 필요한 3가지 항목들을 먼저 준비해보자 1. 현재 Private subnet의 웹서버에 대한 Custom AMI 2. EC2 인스턴스를 미리 설정한 값에 따라 생성할수 있게 해주는 Launch Template 3. Auto Scaling에서 사용할 Application Load Balancer private-ec2-a1의 Custom AMI를 생성해보자 Custom AMI로 Launch Template을 만들어 보자 AWS에서는 미리 설정한 구성 값에 따라서 인스턴스를 생성할 수 있게 해주는 기능으로 Launch Configuration, Launch Template 두가지를 제공하고 있다. 이 두가지는 비슷하긴 한데 Launch Template이 더 상세하고 유연한 설정을..

가상 서버의 용량을 자동으로 증가 또는 축소하는 오토 스케일링 기능을 사용하여 인프라에 확장성과 탄력성을 구현해보자 클라우드 컴퓨팅의 가장 큰 장점이자 클라우드 컴퓨팅을 사용하는 이유 중 하나이다. 오토 스케일링은 서버에 설정한 특정값에 따라 규모를 조정하여 안정적으로 시스템이 운영되도록 하는 기능이다. 1. Auto Scaling을 위한 Launch Template 및 Application Load Balancer 구성 Private subnet의 EC2에 대한 Custom AMI 생성 Auto Scaling을 위한 Launch Template 생성 AMI Key pair Network Storage 등 Auto Scaling 용 Application Load Balancer 구성 (+ Target g..

private 영역의 ec2 인스턴스를 타겟으로 하는 ALB(Application Load Balancer)를 구성해보자 웹서버를 외부와 직접적인 통신이 가능한 public 영역에 그대로 두는 것은 실제 웹서비스를 제공하는데 있어 보안 측면에서 그렇게 적절한 방법은 아니다. 따라서 웹서버를 외부와 직접적인 통신이 제한되어 있는 private 영역에 두고, 이를 ALB를 통해 트래픽을 분산하고 웹 서비스를 제공할 수 있는 환경을 구성해보자 target group 생성 로드 밸런서 생성하기 로드밸런서의 타겟이 private subnet들인데 네트워크 맵핑이 public subnet인 이유는? ec2 인스턴스 같은 리소스들처럼 로드밸런서도 네트워크 인터페이스의 ip를 통해서 통신을 하게 되는데 외부 인터넷과 ..
- Total
- Today
- Yesterday
- 리액트
- Service
- subnet
- 로깅
- Grafana Alert
- 서버
- Grafana
- redux
- RDS
- CSS
- Hook
- javascript
- ALB
- springboot
- react
- ECS
- LOKI
- AWS
- ecr
- 모니터링
- VPC
- html
- github action
- 인프라
- EC2
- Docker
- ci/cd
- SG
- Workflow
- js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |