전체 글

김정태의 개발일기
· 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..
· AWS
오늘은 Github Actions를 이용하여 Github Repository에 새로운 코드가 push 되었을 때 ECS 서비스에 코드를 반영하는 워크플로를 만들어봅시다. 1. AWS 리소스 준비 Fargate를 사용하는 ECS Service와 ALB를 같이 준비합니다. Go 애플리케이션은 /v1/color에 접속하면 Red, Green, Yellow를 랜덤으로 반환하게 합니다. Docker Image를 생성하기 위해 Dockerfile을 작성합니다. 이미지를 가볍게 하기 위해 Multi Stage Build를 사용합니다. 빌드 후 실행파일을 Alpine으로 보내 애플리케이션을 실행합니다. FROM public.ecr.aws/docker/library/golang:alpine AS builder WORKD..
· AWS
GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼입니다. GitHub Actions는 DevOps 이상의 기능을 제공하며 저장소에서 다른 이벤트가 발생할 때 워크플로를 실행할 수 있게 해 줍니다. GitHub는 워크플로를 실행하기 위한 Linux, Windows 및 macOS 가상 머신을 제공하며, 자체 데이터 센터 또는 클라우드 인프라에서 자체 호스팅 실행기를 호스팅 할 수도 있습니다. 오늘은 Github Actions와 CodeDeploy를 이용하여 Github Repository에 새로운 코드가 push 되었을 때 EC2 서버에 코드를 반영하는 워크플로를 만들어봅시다. 1. AWS 리소스 준비 Amazon Linux를 사용하는 EC2 Instance..
· AWS
EC2 인스턴스가 SSH Brute-force 공격을 받을 때 관리자들은 빠르게 대처해야 합니다. 오늘은 SSH 활동 로그를 CloudWatch Logs에 기록한 뒤, CloudWatch Alarm으로 공격을 감지하여 SNS로 이메일에 알리는 서비스를 구축해 봅시다. 1. 인스턴스 준비 Amazon Linux AMI를 사용하며 SSH 액세스가 가능한 EC2 인스턴스를 생성합니다. EC2 인스턴스가 CloudWatch에 접근할 수 있도록 IAM Role 하나를 생성합니다. CloudWatchAgentServerPolicy를 가져야 합니다. IAM Role을 EC2 Instance와 연결합니다. Amazon Linux 2023은 SSH 활동 로그를 생성하는 Rsyslog가 없기 때문에 설치해줘야 합니다. A..
· Algorithm
오늘은 DP 문제 중 2xn 타일링 2편 문제를 풀어봅시다. 11727 결과 : 맞았습니다!! 풀이 시간 : 1시간 미만 성공 풀이 과정 2xn 타일링 1편 문제와 마찬가지로 패드를 이용하여 2x4 크기의 직사각형까지 그려서 규칙을 알아내고자 했습니다. 찾은 규칙은 다음과 같습니다. 전 단계의 직사각형에 추가로 2x1 직사각형을 그립니다. 두 단계 이전의 직사각형에 추가로 직사각형을 그립니다. 1x2 직사각형 2개 2x2 직사각형 1개 따라서 a[n] = a[n-1] + a[n-2] * 2입니다. 코드 비교 나의 코드 (PyPy3) n = int(input()) memory = [0, 1, 3] for i in range(3, n+1): memory.append(memory[i-2] * 2 + memor..
· Algorithm
오늘은 DP 문제 중 2xn 타일링 1편 문제를 풀어봅시다. 11726 문제 : https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 결과 : 맞았습니다!! 풀이 시간 : 1시간 미만 성공 풀이 과정 패드를 이용하여 2x4 크기의 직사각형까지 그려서 규칙을 알아내고자 했습니다. 전 단계의 직사각형에 추가로 2x1 직사각형을 그리고, 두 단계 이전의 직사각형에 추가로 1x2 직사각형 2개를 그리면 되는 규칙이 나오게 되었습니다. 따라서 a[n] = a[n-2] + a[n-..
KimJeongTae
개발정태