티스토리 뷰
💡 GPT가 소개해준 커리큘럼
- AWS Fargate 서비스 개요
- 서버리스 컨테이너 실행 방법
- ECS Fargate 작업 정의 작성 및 배포
AWS Fargate 서비스 개요
AWS Fargate란?
AWS의 관리형 컨테이너 오케스트레이션 서비스로, 개발자가 컨테이너 애플리케이션을 실행하고 관리할 수 있는 환경을 제공한다. Fargate는 개발자가 서버 인스턴스를 직접 관리하지 않아도 되므로 서버리스 컴퓨팅의 이점을 활용할 수 있다.
주요 기능
- 서버리스 컴퓨팅
- Fargate를 사용하면 개발자는 애플리케이션을 실행하기 위해 서버 인스턴스를 프로비저닝하거나 관리할 필요가 없다.
- 개발자가 인프라 관리에 신경쓰지않고 애플리케이션에 집중할 수 있도록 도와준다.
- 탄력적인 확장성
- 애플리케이션의 요구 사항에 따라 자동으로 컨테이너를 확장하거나 축소하여 트래픽에 대응할 수 있다.
- 애플리케이션의 성능을 최적화하고 사용자들에게 끊김없는 경험을 제공하는 데 도움이 된다.
- 컨테이너 관리
- 컨테이너 오케스트레이션 작업을 개발자로부터 추상화하여 컨테이너의 실행, 모니터링, 복구 등을 자동으로 처리한다.
- 개발자는 컨테이너 이미지를 정의하고 배포하는 것에만 집중할 수 있다.
- AWS 서비스 통합
- 다른 AWS 서비스와 통합이 가능하다. 예를 들어 ECR을 사용하여 이미지를 저장하고, ELB를 사용하여 트래픽을 분산시킬 수 있다.
- 애플리케이션을 더욱 강력하게 구축하고 운영할 수 있도록 도와준다.
이 다음부터는 AWS도 사용해야하고 Docker도 사용해봐야한다.
하지만 아직 AWS도 Docker도 잘 모르기 때문에 우선은 이론적으로 간략하게 알아만가고 조만간 실제로 사용할 때 다시 한번 이 글을 참고하여 사용해보자.
서버리스 컨테이너 실행 방법
- 컨테이너 이미지 작성
- 컨테이너 이미지는 애플리케이션과 필요한 종속성을 포함하고 있어야 한다.
- 일반적으로 Docker를 사용하여 컨테이너 이미지를 빌드하고 Docker 이미지 레지스트리에 업로드한다.
- 서버리스 환경에서 컨테이너를 실행하기 위해서는 먼저 컨테이너 이미지를 작성해야 한다.
- AWS Fargate 설정
- AWS 계정을 생성하고 필요한 권한을 설정해야한다.
- 그런다음 AWS Management Console 혹은 AWS CLI를 통해 Fargate를 구성한다.
- Amazon ECS 사용 설정 - Amazon ECS
- 애플리케이션 배포
- 컨테이너 이미지를 저장하는 Docker 이미지 레지스트리를 설정한다. AWS에서는 ECR을 사용할 수 있다.
- ECR에 컨테이너 이미지를 업로드한다.
- Fargate Task를 정의하고 실행할 컨테이너 이미지를 지정한다. 이때 리소스 요구사항을 설정할 수 있다.
- 필요한 경우 로드 밸런서를 설정하여 트래픽을 분산시킬 수 있다.
- 모니터링과 로깅
- 서버리스 컨테이너 실행에서는 모니터링과 로깅이 중요한 요소이다.
- AWS Fargate는 다양한 모니터링 및 로깅 도구와 통합될 수 있다.
- 예를 들어 Amazon CloudWatch를 사용하여 컨테이너 및 애플리케이션의 메트릭과 로그를 모니터링할 수 있다.
- 스케일링
- AWS Fargate는 수평 및 수직 스케일링을 자동으로 처리하므로 애플리케이션의 성능과 가용성을 유지할 수 있다.
- 서버리스 환경에서는 필요에 따라 자동으로 컨테이너를 확장하거나 축소하여 트래픽에 대응할 수 있다.
ECS Fargate Task Definitions 작성 및 배포
- Task Definitions 작성
- ECS Fargate 작업을 실행하기 위해서는 먼저 Task Definitions를 작성해야 한다.
- 컨테이너 실행에 필요한 정보를 정의하는 JSON 형식의 파일이다.
- 컨테이너 이미지, 리소스 할당량, 환경 변수, 네트워킹 설정 등의 정보를 포함해야 한다.
- 컨테이너 정의 추가
- Task Definitions에는 한 개 이상의 컨테이너 정의를 추가해야 한다.
- 각 컨테이너 정의는 컨테이너 이미지, 포트 매핑, 환경 변수 등 컨테이너 실행에 필요한 설정을 포함한다.
- 필요에 따라 여러 개의 컨테이너 정의를 작성할 수 있다.
- 작업 실행 구성
- Task Definitions을 생성한 후에는 작업 실행 구성을 생성해야 한다. 작업 실행 구성은 작업을 어떻게 실행할 지에 대한 구성을 정의한다.
- 작업 수, 작업 크기, 네트워킹 및 로깅 설정 등이 포함된다.
- 작업 배포
- 위 단계를 마치면 배포할 준비가 완료된다.
- 배포는 ECS 콘솔, AWS CLI, AWS SDK를 통해 수행할 수 있다.
- 배포 시에는 Task Definitions와 작업 실행 구성을 지정하고, 필요한 경우 로드 밸런서나 서비스 디스커버리 등의 추가 설정을 수행할 수 있다.
- 모니터링과 로깅
- 작업이 실행되면 모니터링과 로깅을 설정하여 애플리케이션의 상태를 볼 수 있다.
'Backend > AWS' 카테고리의 다른 글
[AWS] AWS CDK? (Feat. ChatGPT) (0) | 2023.07.06 |
---|---|
[AWS] AWS VPC? (Feat. ChatGPT) (0) | 2023.06.27 |
[AWS] ECS? (Feat. chatGPT) (0) | 2023.06.07 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- AWS Fargate
- strcut
- IOS
- docker
- SwiftUI
- frame과 bounds 차이
- ObservedObject
- CodingTest
- tabview
- kakao
- 의미있는이름
- 카메라
- MVVM
- AWS
- onTapGesture
- 곰튀김
- OCR
- rxswift
- Login
- Xcode
- ChatGPT
- enumerations
- delegate
- file private
- Swift
- Custom
- navigation
- Git
- Generic
- Protocol
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함