infra
-
ECS 비용 최적화 VPC endpoint service vs NAT gatewayinfra 2024. 8. 9. 02:57
이번에 하려는 일은 ecs의 설정 시 비용 문제에 관해 다루어 보려고 한다. ecs를 사용하려고 비용을 보니까. ec2나 다른 기타 비용은 얼마 안나오는데 vpc비용이 과하게 크게 잡혔다. 이걸 확인해본 결과 ecs와 private subnet안에 있는 인스턴스와 연결을 위한 vpc endpoint에 관련하여 비용이 많이 나왔다는 것을 알 수 있었다. https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/vpc-endpoints.html 참고 자료 내가 연결한 vpc endpoint 목록 여기서 s3 gateway같은 경우 fargate를 사용할 때 연결하라고 되있고ssm은 aws parameterstore를 쓰기위해 등등 연결이 되어 ..
-
쿠버네티스를 공부하게 된 이유infra 2024. 4. 18. 01:00
ECS와 EKS에 대한 잡담 및 경험들난 예전부터 쿠버네티스에 대한 의구심? 또는 부정적인 의견이 있었다. AWS만 써본데다가 보통 회사에서 여러개의 IaSS를 쓰는 경우가 잘 없기 때문에 쿠버네티스가 필요한가 싶었다. 비용도 그렇고 개발하는 입장에서 러닝커브가 있는것도 사실이고 따라서 자연스럽게 공부도 ECS를 먼저 했었다. 하지만 지난 회사에서 느낀바가 있다. 예전 스프링을 주로 하던 회사에서 서비스를 이렇게 관리했다. (EKS X) 이렇게 하면 관리할 서버가 좀 적어진다는 장점이 있지만 스크립트가 복잡해지고 관리가 어렵다. 특히나 서버가 여러개가 될수록 관리가 이상해질것이다. 그리고 EKS를 본 사람으로써 아 이건 이렇게 관리하는구나를 잘 느끼게 되었다. 스크립트도 단순하고 추가적으로 로깅, 관리..
-
aws parameter store - 2 (스프링 부트)infra 2023. 3. 5. 05:18
이제 이어서 스프링 부트에서 설정하는 방법을 알아보자.아래는 application.yml이다 bootstrap.yml에서 이제 버전업이 되면서 변경되었다.대충 설명하자면 /{prefix}/{name}{profile-separator}{profile}여기서 테스트를 가져온다고 하면 /config/eureka_dev 이런식이 된다 이건 스프링 부트에서 configuration 하는 코드이다. 저걸로 하면 ec2에 권한이 있을 시 자동으로 잡아주고 불러온다.참고 자격증명) 마지막으로 잘 찍힌 것 확인 인증샷.
-
aws parameter store - 1infra 2023. 3. 4. 23:29
보통 spring을 올릴 때 민감한 정보 즉 설정 파일을 관리하게 된다. 스프링 부트는 클라우드 쪽에서 제공하는 모듈이 있는데 spring cloud config이다.이 모듈은 장점이 많은데 일단 서비스를 중지하지 않고 설정파일의 내용을 바꿀 수 있다. 또한 다른 s3, 데이터 베이스 등등과 연계가 가능하다. 다만 단점은 이것 자체가 하나의 서비스로써 띄워져야한다는 것이다. 보통의경우 설정파일의 내용을 서비스를 중지하지 않고 바꿀일이 있을까? 라고 생각해보면 글쎄 물론 좋은서비스지만 서비스를 띄워야하므로써 작은 서비스는 단점이 좀 더 크게 나타나는데 이것을 대체할 경량화 하는 방법이 aws parameter store이다 오늘 남길 기록은 파라미터 스토어에 대한 내용이다. 일단 이전에 만들어 놓은 테라..
-
github actions, ecs, ecr을 이용한 CI/CD - 3infra 2023. 2. 26. 16:27
ecs 설정 클러스터를 먼저 생성 해준다 이것을 테라폼으로 표현 해볼예정이다 ecs 클러스터 생성이다 resource "aws_ecs_cluster_capacity_providers" "aws_ecs_cluster_cps" { cluster_name = aws_ecs_cluster.jhc_cluster.name capacity_providers = [aws_ecs_capacity_provider.jhc-ecs-cp.name] default_capacity_provider_strategy { base = 1 weight = 100 capacity_provider = aws_ecs_capacity_provider.jhc-ecs-cp.name } } resource "aws_ecs_capacity_provid..
-
github actions, ecs, ecr을 이용한 CI/CD - 1infra 2023. 2. 25. 19:34
github actions는 따로 어려운 점이 없어서 스크립트만 올리고 넘어갑니다 전 다른 CI 툴보다 github actions를 더 좋아하는데 이유는 github에서 관리할 수 있는 점, 다른 설치가 필요 없다는 점 때문에 좋아합니다. - github actions script name: eureka on: workflow_dispatch: inputs: tags: description: required: false env: ECR_REPOSITORY: spring_boot_ecr ECS_SERVICE: test-dev-service ECS_CLUSTER: test-dev-ecs-cluster MODULE_ROOT_PATH: ./jinheung_eureka # 해당 모듈의 루트 MODULE_JAR: ..
-
aws 기초 네트워크 설정하기 - 2infra 2023. 2. 21. 17:57
aws에서 vpc 관련 설정을 설정 할 때 스크린 샷이다 요즘엔 이런 ui가 잘 되어 있어서 바로 클릭해서 만들 수 있는게 편하다 이제부터가 본론인데 이런 내용은 쉬운데 왜 스샷을 찍어서 올리느냐이다 위의 콘솔내용을 비교하면서 terraform에 적용할 것이기 때문이다 앞으로의 내용도 terraform 코드가 동봉 될 것이며 1달전 부터 공부한 내용들이 들어갈 것이다 시작해보자 일단 vpc를 만들기 위한 변수들을 설정한다. variable "aws_region" { type = string default = "ap-northeast-2" } variable "app_name" { type = string description = "Application Name" } variable "app_environ..