본문 바로가기
반응형

개발/AWS46

AWS MFA(다중인증) 등록 방법 MFA는 Multi-Factor Authentication의 약어로 서비스에 액세스 할 때 최소 2가지 이상의 인증을 받게끔 한 액세스 제어 방식이다. 특히, AWS Root 계정 정보가 탈취당하면 제어권을 완전히 잃어버리고 과금 폭탄 등의 큰 문제가 발생할 수 있기 때문에 MFA 사용을 적극 권장하고 있다. 개인 테스트 용도로 사용하는 AWS환경 같은 경우 Root 계정에 대한 MFA 설정을 안해놓는 경우가 많은데 반드시 설정하도록 한다. Root계정으로 AWS IAM 메뉴에 접속해보면 보안 권장 사항에 MFA를 추가하라고 나와있다. MFA추가 버튼을 클릭한다. 다음 화면에서 상단의 MFA할당을 클릭한다. 다음으로 MFA 인증시 사용할 디바이스를 선택하는데 핸드폰으로도 쉽게 사용가능한 인증 관리자 앱으.. 2023. 7. 30.
AWS 외부 SSL 인증서 적용(인증서 가져오기 및 ALB 적용) AWS에서 SSL 인증서가 필요한 경우 ACM(Certificate Manager)에시 인증서 요청을 통해 AWS가 자동으로 관리해주는 인증서를 쉽게 사용할 수 있다. 하지만 가끔 외부에서 발급받은 인증서를 등록해서 사용해야 하는 경우가 있는데 이 방법을 정리해본다. 먼저 ACM(AWS Certificate Manager)에 접속하고 가져오기 버튼을 클릭한다. 인증서 세부 정보 입력에서 외부 인증서 내용을 복사 붙여 넣기한다. 문제가 없는 경우 아래와 같이 인증서 등록된다. 다음으로 이 인증서를 ALB(Application Load Balancer)에 적용한다. 아래와 같이 ALB Listener에 443 port를 등록하고, Secure listener에서 From ACM을 선택 후 인증서를 선택해준.. 2023. 6. 12.
AWS ALB 도메인(호스트) 기반 라우팅 규칙 설정 AWS ALB사용 시 하나의 ALB로 여러 개의 도메인(서브도메인)을 처리해야 할 경우가 있다. 이럴 때 ALB의 Rule(규칙)에서 설정하는 방법을 알아본다. 먼저 ALB의 타켓이 되는 대상그룹과 ALB를 생성해둔다. 그리고 해당 ALB의 Listeners 탭에서 설정을 원하는 포트를 클릭한다. 다음 화면에서 ALB생성 시 기본으로 설정한 규칙이 나오는데 여기서 Rules탭의 Manage rules버튼을 클릭한다. 아래와 같이 '+'탭을 클릭하면 규칙을 정의하고 추가할 수 있다. IF에서는 호스트 헤더의 원하는 도메인을 입력하고, THEN에는 라우팅할 대상 그룹을 선택한다. 규칙을 저장하고 도메인으로 테스트 하면 완료된다. 기존의 규칙들을 수정 및 삭제는 '+' 옆의 편집 및 '-' 탭을 클릭하면 된다. 2023. 6. 7.
Kubernetes AWS ECR 이미지 pull 받기 Kubernetes에서 ECR의 이미지를 pull 받을 경우 secret을 생성하고, deployment나 pod yaml 작성 시 imagePullSecrets을 설정해줘야 한다. 아무 설정을 하지 않은 상태에서는 아래와 같은 Unauthorized 에러가 발생한다. rpc error: code = Unknown desc = failed to pull and unpack image 사실 ECR 뿐만 아니라 Private Image 리파지토리를 사용하게 되면 secret 및 imagePullSecrets 설정이 필요하다. 여기서는 ECR을 기준으로 방법을 알아본다. 먼저 secret 생성을 위한 환변변수들을 설정해준다. ACCOUNT=xxxxxxx # AWS ECR 이미지 URL 맨 앞 숫자 REGION.. 2023. 3. 11.
EKS error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" 에러(kubectl, helm) EKS에서 kubectl과 helm 사용하는데 아래와 같은 에러가 발생 했다. EKS버전은 현재 1.24.10을 사용 중이다. error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" kubectl 최신 kubectl 버전이 EKS 버전과 문제가 있는 상황이고, kubectl v1.23.6으로 재설치하면 해결이 된다. # kubectl v1.23.6 설치 curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.23.6/bin/linux/amd64/kubectl 재설치 후 버전 정보를 확인해보면 아래와 같고, kubectl 명령어도 잘 동작한다. # ku.. 2023. 3. 11.
AWS EKS 구성 및 컨테이너 웹 어플리케이션 배포 - 1 유튜브 AWS EKS 워크샵 자료를 보면서 핸즈온한 EKS 구성 및 간단한 웹 애플리케이션 배포하는 과정을 복습하면서 다시 정리해본다. 1. IAM 생성 당연한 얘기지만 앞으로의 작업을 위한 AWS IAM 계정을 생성한다. 권한은 아래와 같이 AdministratorAccess로 설정한다. 2. Cloud9 환경 설정 테스트의 편의를 위해 Cloud9 환경을 사용한다. New EC2 instance를 선택하고 인스턴스 타입은 t3.medium으로 선택했다. 다음으로 Cloud9이 사용할 수 있는 Role을 생성한다. IAM Role생성에서 EC2인스턴스의 정책은 'AdministratorAccess'로 선택하고, Role이름은 'eks-workspace-admin'으로 한다. 다음으로 생성한 Role을 .. 2023. 2. 6.
AWS CodePipeLine ECS 배포 구성 AWS Code PipeLine을 사용하여 ECS에 배포하는 구성을 정리해본다. 어플리케이션은 nginx 이미지를 사용한다. 1. 소스 준비(CodeCommit) 배포 테스트를 위해 nginx용 테스트 컨테이너 소스를 작성한다. index.html 파일은 기본 index.hml 파일을 대체하기 위한 테스트용도이다. Docker Container Nginx Dockerfile은 다음과 같이 작성한다. FROM nginx:1.21.1 COPY ./index.html /usr/share/nginx/html/index.html EXPOSE 80 CodeBuild 사용을 위해 buildspec.yml 파일을 작성한다. env 항목의 AWS_ACCOUNT_ID는 각자의 ID로 등록한다. version: 0.2 en.. 2022. 8. 26.
AWS ECS 구성하기 AWS ECS 구성을 테스트하면서 진행했던 과정을 정리해본다. ECS(Elastic Container Service)는 AWS에서 제공하는 완전관리형 컨테이너 오케스트레이션 서비스이다. 최근에 EKS를 많이 사용하는 추세인것 같기는 하지만 컨테이너 관리의 난이도나 복잡도 측면에서 EKS는 직접 관리해줘야 하는 부분이 많아 ECS사용도 고려해볼만 하다고 생각한다. 물론, ECS를 사용하면 EKS 보다는 AWS에 종속성은 많이 생긴다. ECS 주요 구성 요소 - Cluster: 관리할 컨테이너 리소스들의 논리적인 그룹 단위 - Task Definition: 사용할 컨테이너들에 대한 작업 정의, 컨테이너 이미지/CPU/Memory/네트워킹모드/로깅구성/호스팅인프라 등 정의 - Task: Task Definit.. 2022. 6. 4.
반응형