전체 글

김정태의 개발일기
· AWS
ArgoCD Image Updater는 Kubernetes 워크로드와 함께 배포된 컨테이너 이미지의 새 버전을 확인하고, ArgoCD를 사용하여 허용되는 최신 버전으로 자동 업데이트 할 수 있습니다. 오늘은 ECR을 활용하여 ArgoCD Image Updater를 사용해봅시다. 사전 준비 ECR에 새로운 Repository를 만들고, 1.0.0 태그를 가진 이미지를 Push합니다. Kubernetes 리소스 yaml이 위치할 CodeCommit Repository도 하나 생성합니다. ArgoCD 설치 애플리케이션 배포 및 관리를 자동화하는 ArgoCD를 먼저 설치해줍니다. 오늘은 Helm으로 설치하겠습니다. values.yaml을 먼저 준비해줍니다. configs: params: server.insecu..
· AWS
전에 AWS Load Balancer Controller에 대해 소개드린 적이 있습니다. AWS Load Balancer Controller를 이용해 ALB를 생성하면 기본적으로 HTTP 리스너를 사용합니다. 더 보안적인 HTTPS 리스너를 사용하려면 추가적인 설정이 필요합니다. 준비 EKS - AWS Load Balancer Controller 실습에서 ALB 생성까지 진행합니다. https://arcozz.tistory.com/14 [AWS] EKS - AWS Load Balancer Controller EKS에서 Service를 생성할 때마다 외부 트래픽을 받기 위해 ALB나 NLB를 생성해야 합니다. 이것은 매우 귀찮은 일이고, AWS WAF 같은 리소스가 추가로 붙으면 더 까다로워질 것입니다. ..
· AWS
1편에 이어서 output stream을 설정해 봅시다. https://arcozz.tistory.com/31 [AWS] Managed Service for Apache Flink로 스트리밍 데이터 분석 - Studio notebooks (1) Amazon Managed Service for Apache Flink를 사용하면 스트림 처리 애플리케이션을 쉽게 구축하고 Apache Flink를 통해 스트리밍 데이터를 실시간으로 분석할 수 있습니다. 그 중 Studio notebooks를 사용하면 Apache arcozz.tistory.com 1. 준비 output stream을 추가적으로 생성해 줍니다. 로그를 저장할 S3 Bucket도 생성해 줍니다. Source가 output-stream이고, Desti..
데이터센터의 단점 데이터센터를 운영하면 다음과 같은 단점이 생깁니다. 하드웨어, 네트워킹 장비, 전기 시스템, 운영 인력 등이 필요하기 때문에 운영 비용이 많이 소요됩니다. 한번 구매하면 수요에 상관없이 계속 보유해야 합니다. 구축에 많은 시간이 필요하여 장애 대응이 어렵습니다. 이런 단점을 해결하고자 기업들은 서버를 클라우드로 이전시키기 시작했습니다. 클라우드 클라우드(Cloud)란, 광대한 네트워크를 통하여 접근할 수 있는 가상화된 서버와 서버에서 작동하는 프로그램과 데이터베이스를 제공하는 IT 환경을 의미합니다. 클라우드를 이용하면 필요한 컴퓨팅 자원을 인터넷으로 쉽게 이용할 수 있습니다. 클라우드 컴퓨팅 클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하..
컨테이너 컨테이너는 소프트웨어 서비스를 실행하는 데 필요한 특정 버전의 프로그래밍 언어 런타임 및 라이브러리와 같은 종속 항목과 애플리케이션 코드를 함께 포함하는 경량 패키지입니다. 리눅스는 원래 프로세스별로 자원을 격리해서 사용하는 cgroup과 특정 디렉터리로 권한을 제한하는 chroot 등으로 격리 환경을 구성할 수 있었습니다. 여기에 디스크의 파일 변경 사항을 레이어 형태로 저장하는 파일 시스템을 합해 컨테이너라는 개념이 탄생했습니다. 컨테이너 VS 가상 머신 가상 머신은 하이퍼바이저 위에 가상 머신마다 게스트 운영체제가 있고 그 위에 앱이 위치합니다. 반면, 컨테이너는 호스트 운영체제 위에 도커와 같은 컨테이너 엔진이 있고 그 위에 앱이 위치합니다. 즉, 가상 머신은 하드웨어 수준에서 가상화되지..
· AWS
오늘은 Terraform을 이용해 코드로 EC2 Instance를 생성해봅시다. VPC가 생성된 상태에서 진행하며, Instance에 쓰일 Security group, IAM Role, key pair도 같이 만들겠습니다. 1. Security group resource "aws_security_group" "bastion" { name = "bastion_sg" description = "Allow SSH traffic" vpc_id = aws_vpc.main.id ingress { from_port = 22 to_port = 22 protocol = "tcp" cidr_blocks = ["0.0.0.0/0"] ipv6_cidr_blocks = ["::/0"] } egress { from_port = ..
· AWS
AWS Config는 AWS, 온프레미스 및 기타 클라우드에서 리소스의 구성과 관계를 지속적으로 진단, 감사 및 평가합니다. 리소스를 지속적으로 감시하여 상태가 변하지 않고 유지되게 만들 수 있습니다. 오늘은 security group을 감시하여 inbound rule이 추가되거나 제거되지 않게 해 봅시다. 1. Config를 제외한 리소스 준비 inbound rule로 22번(SSH) 포트만 허용합니다. 인스턴스로 SSH 연결만 한다는 가정으로 ssh inbound rule만 유지되게 만드는 것입니다. Python 런타임을 사용하여 Lambda Function을 생성합니다. 다음 글을 참고하여 Lambda 코드를 작성합니다. https://aws.amazon.com/ko/blogs/security/ho..
· AWS
오늘은 Github Actions를 이용하여 Github Repository에 새로운 코드가 push 되었을 때 ECS 서비스에 코드를 반영하는 워크플로를 만들어봅시다. 대략적인 진행은 ECS Rolling Update와 같습니다. https://arcozz.tistory.com/39 [AWS] Github Actions로 ECS 서비스에 배포 (Rolling Update) 오늘은 Github Actions를 이용하여 Github Repository에 새로운 코드가 push 되었을 때 ECS 서비스에 코드를 반영하는 워크플로를 만들어봅시다. 1. AWS 리소스 준비 Fargate를 사용하는 ECS Service와 ALB를 같이 arcozz.tistory.com 1. AWS 리소스 준비 ECS Servic..
KimJeongTae
개발정태