본문 바로가기

전체 글180

[AWS] IAM 그리고 AssumeRole vs PassRole란? 사내 AWS 인프라를 구성하다 보면 자주 마주치는 개념 중 하나가 IAM PassRole과 AssumeRole이다. PassRole은 사용자가 생성한 역할(Role)을 특정 서비스가 사용할 수 있도록 전달(Pass) 해주는 것이고, AssumeRole은 AWS 계정 혹은 서비스가 임시 자격 증명(Temporary Credentials)을 부여받아, 해당 역할에 정의된 권한을 임시로 행사하는 것을 의미한다. 현재는 이 정도로만 알고 있지만, 이번 포스팅을 통해 두 개념을 더 정확하게 이해해보자.Why Security?클라이언트가 AWS로 보내는 모든 조회/업데이트/생성/삭제 요청은 모두 API로 이루어지게 된다. 또한, AWS 자원들끼리 주고받는 요청과 응답도 모두 API 형태를 띄게 된다. 그렇다면 AW.. 2025. 3. 11.
[AWS] ECS 실행중인 Task에 Tag 지정(tag propagation)하기 AWS 비용 최적화를 진행하는 과정에서 ECS Task에 태그를 추가해야 하는 상황이 존재하였다. ECS의 Cluster, Service, Task Definition의 경우 콘솔에서 직접 태그를 설정할 수 있지만, 동적으로 실행되는 Task의 경우 CLI를 통해 태그 전파(Tag Propagation)를 설정해야 했다. 이번 글에서는 이러한 태그 지정 방식에 대해 간략히 살펴보겠다.01. ECS Service 생성 콘솔 접근ECS Cluster > ECS Service 선택 > 생성 클릭ECS Service를 생성하는 경우 기본적으로 태그 전파(Propagation) 옵션을 설정할 수 있다. 이미지와 같이 Amazon ECS 관리형 태그 켜기 설정을 True로 변경하고 전파할 리소스를 지정하면 된다. .. 2025. 3. 10.
[Network] DNS(Domain Name Server)란? 01. DNS(Domain Name Server)우선, DNS(Domain Name Server)란 무엇인지 그리고 DNS는 어떻게 동작하는지 알아야 한다고 생각한다. DNS란(Domain Name Server)란 사람이 이해하기 쉬운 도메인 이름(예: http://google.com">google.com)을 컴퓨터가 이해 할 수 있는 IP주소(예: 142.250.190.14)로 변환해주는 시스템을 의미한다. 또한, 인터넷에서 사용되는 주소록이라 볼 수 있습니다.그렇다면 DNS(Domain Name Server)를 왜 사용할까?만약 “naver.com” 같은 이름이 아닌 IP주소만 존재하는 경우, 수억개의 공인 IP가 있을텐데 사람은 이렇게 많은 IP를 일일이 기억할 수 없기 때문에 우리는 DNS를 사용.. 2025. 3. 7.
[Linux] sudo / su / su - 차이 이번 시간에는 Linux에서 사용되는 sudo / su / su - 의 차이점에 대해 알아보자. 위 명령어는 주로 일반 사용자가 관리자 권한을 통해 특정 행위를 수행해야 하는 경우 사용이되는 명령어다.01. sudo / su / su - ??리눅스에서는 특정 명령을 수행하기위해 관리자 권한(root)이 필요한 경우가 존재한다. 일반 사용자가 관리자 권한(root)을 사용하기 위해서는 su(switch user) or sudo(SuperUser Do) 명령어를 사용하면 된다.✅ 01-1. su(Switch User)su [option] [username]su 다음에 사용자명을 입력하지 않으면 root로 사용자 전환현재 계정을 로그아웃 하지 않고 다른 계정으로 전환하는 명령어사용자 전환 시 해당 사용자의 패.. 2025. 2. 18.
[k8s] Docker Desktop k8s vs Minikube? 현재 회사에서 담당하고 있는 서비스는 AWS ECS 기반으로 운영되고 있다. 추후 ECS 기반 서비스를 EKS로 이관할 가능성이 있어, Kubernetes(k8s) 환경을 로컬에서 테스트하려는 계획을 진행 중이다. 로컬 k8s 환경 구축을 위해 여러 옵션을 검토하는 과정에서, Docker Desktop의 k8s 설정과 Minikube 두 가지 옵션이 있는 것을 알게 되었다. 이에 대해 어떤 차이가 있는지 의문을 갖게 되었는데 이번 시간에는 위 2가지 옵션의 차이점에 대해 간략히 알아보는 시간을 갖는다.01. minikube?# minikuba의 단일 노드 구성┌─────────────────────────────────────────┐│ Minikube Cluster (단일 노드) ││.. 2025. 1. 24.
[AWS] EC2의 EBS 스토리지 재부팅 없이 늘리는 방법 서비스 진행중에, 검색엔진 데이터노드의 EBS 용량을 실시간으로 증설해야 하는 작업이 필요했다. EBS 볼륨 탭에서 EC2의 볼륨 사이즈를 증설만 하면 끝난다고 생각 할 수도 있지만, EC2가 사용하고 있는 볼륨의 파티션도 변경해줘야 하는 과정을 거쳐야 한다. 하여 이번에는 간단한 명령어를 통해 EBS의 용량 증설을 하는 방법에 대해 알아본다.01. AWS EBS Console에서 볼륨 수정AWS EC2 Console 접근스토리지 선택 후 볼륨 클릭해당 볼륨 선택 후 편집 클릭EBS 수정할 용량 지정02. EC2 서버 접속 후 파티션 크기 조정위에서 EBS의 볼륨 용량을 증설하였다고 가정하며, 현재 500GB -> 600GB로 증설한 상태이며 이제 파티션 크기 조절이 필요한다. 아래 명령어를 통해 해당 .. 2025. 1. 20.
[AWS] ECS Task Role vs Execution Role 차이 01. ECS Task Role vs Execution Role 차이 및 AWSServiceRoleForECS이번에는 Task에 적용이 되는 ECS의 Task Role 과 Task Execution Role에 대해 알아보자.Task Role과 Task Execution Role은 AWS에서 제공되는 개념으로 차이를 알아야 한다 생각한다.01-1. ECS Task Role# ECS Task가 S3, DynamoDB에 접근하기 위한 정책을 IAM Task Role에 부여# 아래는 우선 S3만 기재 하였다 -> ecsTaskRole{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action": "s3:Li.. 2025. 1. 20.
[AWS] VPC, Subnet, Routing Table, NAT 생성 과정 정리 이번 시간에는 VPC, Subnet, NAT, IGW와 같은 AWS의 네트워크 인프라를 생성하는 방법에 대해 정리 하였다. 개념 위주의 설명보다는 콘솔 상에서 AWS 리소스를 생성하는 방법 또는 순서를 정리 하였으며, 개념적인 내용은 다른 포스팅을 참고해주시면 감사하겠습니다.01. VPC 관련 몇 가지 알아둘점커스텀 VPC 생성 시 만들어지는 리소스라우팅 테이블(Routing Table)기본 NACL(Network Access Control List)기본 보안그룹(Security Group)커스텀 서브넷 생성 시모두 기본 라우팅 테이블로 자동 연동 (중요)AWS는 각 서브넷에서 총 5개의 IP를 미리 점유한다 ( ..0, ..1, ..2, ..3, ..255 )실제 서브넷 설계 시에는 사용하고자 하는 I.. 2025. 1. 20.
[AWS] AWS Cross Account Role Assume IAM 유저 생성 후 역할 전환이번 시간에는 사용자와 사용자 그룹을 만들고 해당 로그인 계정을 통해 A, B, C(서비스 계정)의 특정 역할(Role)로 전환하는 과정에 대해서 알아보자. 이러한 역할 전환을 위해서 우선 IAM 사용자 > 사용자 그룹 > 정책 생성 순으로 진행을 해보자.IAM 사용자 생성AWS 로그인을 위한 사용자 생성비밀번호의 경우 사용자가 다시 재설정 하도록 지정IAM 사용자 그룹 생성위에서 생성한 사용자를, 사용자 권한을 묶기 위해 test-group 생성 후 해당 그룹에 넣는다그룹에 넣는 이유는, 그룹별로 권한을 관리하기 위함(중요) IAM > 사용자 그룹 > test-group > 권한 Tab 클릭 > 정책(Policy) 추가 > 인라인 정책 생성# 사용자 그룹에 인라인 정책을 .. 2025. 1. 20.
[AWS] ECS Code 시리즈를 통한 CI/CD 파이프라인 구성기 ECS CI/CD 파이프라인 구성기VPC 설정은 따로 하지 않는다, VPC 생성의 경우 해당 링크를 참고구성 순서의 경우 아래와 같은 순서로 진행한다.1th) Code Commit2th) CodeBuild3th) CodePipeline4th) CodeDeploy5th) ECS Clustering6th) Configure Deploy State to Code Pipeline항목Jenkins + CodeDeploy (AWS EC2에서 Jenkins 운영)AWS CodePipeline + CodeBuild + CodeDeploy구현 복잡도- Jenkins 설정 및 관리 필요 - EC2 인스턴스 관리 부담 - 멀티 모듈(4개의 API)에 대한 파이프라인 구성 가능 - Blue/Green 배포를 위한 추가 설정 .. 2025. 1. 20.