반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ AWS EKS NodeGroup 설치를 위한 사전 작업을 준비한다.

    ˙ EKS Cluster의 NodeGroup이 사용할 Service Role 생성한다.

    ˙ 생성한 IAM Service Role에 정책(policy)을 부여한다.

         - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
         - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
         - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly

 

3. 적용

    ① IAM 역할을 생성한다.

 

    ② 신뢰할 수 있는 엔터티 유형을 설정한다.

        - 방법 1) "AWS 서비스" → 사용 사례로 "EC2" 선택

 

        - 방법 2) "사용자 지정 신뢰 정책" → 직접 입력

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"ec2.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}

 

    ③ Policy를 추가한다.

        - "eks" 키워드로 필터링해서 "AmazonEKSWorkerNodePolicy"와 "AmazonEKS_CNI_Policy" 추가

        - "ec2container" 키워드로 필터링해서 "AmazonEC2ContainerRegistryReadOnly" 추가

 

 

    ④ Role 이름을 부여한다.

 

    ⑤ 생성된 역할(Role)을 클릭한다.

 

 

 

4. 결과

    ˙ 역할에 부여된 정책(policy)을 확인한다.

        - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
        - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
        - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ AWS 웹 콘솔에 접속하여 EKS Cluster를 설치한다.

 

3. 적용

    ① EKS Control Plane에서 사용할 역할(Role)을 생성한다.

        - 참고 : https://languagestory.tistory.com/275

 

EKS Control Plane 사용을 위한 IAM Role 생성

1. 시험환경 ˙ AWS EKS ˙ AWS Web Console 2. 목적 ˙ AWS EKS Cluster 설치를 위한 사전 작업을 준비한다. ˙ EKS Cluster의 Control Plane이 사용할 Service Role 생성한다. ˙ 생성한 IAM Service Role에 정책(policy)을 부여한

languagestory.tistory.com

 

    ② EKS Control Plane에서 사용할 보안그룹(Security Group)을 생성한다.

        - 참고 : https://languagestory.tistory.com/277

 

EKS Cluster 사용을 위한 보안그룹(Security Group) 설정

1. 시험환경 ˙ AWS EKS ˙ AWS Web Console 2. 목적 ˙ EKS Cluster 설치를 위한 사전 준비 작업이다. ˙ EKS Cluster 생성시 Control Plane에서 사용할 보안그룹을 생성한다. 3. 적용 ① EKS Cluster에 적용할 보안 그룹을

languagestory.tistory.com

 

    ③ EKS Cluster 이름 / 버전 / 역할 등 구성정보를 입력한다.

 

    ④ EKS NodeGroup이 위치할 VPC / 서비스 / 보안그룹 등을 설정한다.

        - 서브넷은 반드시 2개의 이상의 Multi AZ로 구성해야 EKS Cluster가 생성된다.

        - production에서는 보통 private Subnet으로 운영한다.
        - 여기서는, 테스트 목적이므로 public subnet 사용한다.

 

    ⑤ EKS Cluster 엔드포인트를 설정한다.

        - EKS ControlPlane ENI를 "Public Subnet"으로 설정한 경우,

        - "퍼블릭 및 프라이빗"으로 허용하는 것이 NodeGroup과 통신할 때 원활하다.

 

    ⑥ 로깅을 구성한다.

        - ControlPlane의 로그를 CloudWatch로 전송 설정

        - EKS Cluster가 생성되면 Container를 배포하고 실행시키는 Data-Plane 뿐만 아니라,
        - EKS Cluster를 기동 및 운영하기 위한 요소들이 AWS에서 자체적으로 관리되어 사용자들에게는 접속 및 접근이 제한된

           Control-Plane 영역으로 분리 되어 있다.

        - Control-Plane에서 장애가 발생하면 AWS에서 자동적으로 조치되는 경우도 있지만,
           일반 사용자는 조치가 어렵기 때문에 AWS에 Case-Open 요청을 위해 로깅 부분을 활성화한다.

        - 여기서는 비용 문제로 비활성화 상태로 설정한다.

 

    ⑦ 추가 기능을 선택한다.

 

    ⑧ 선택한 추가기능의 버전을 선택한다.

 

    ⑨ 현재까지 구성한 설정정보 검토 및 EKS Cluster를 생성한다.

 

    ⑩ EKS Cluster 생성을 완료하려면 10분 이상 소요된다.

 

4. 결과

    ˙ EKS Cluster가 활성화된 것을 확인한다.

 

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ EKS Cluster 설치를 위한 사전 준비 작업이다.

    ˙ EKS Cluster 생성시 Control Plane에서 사용할 보안그룹을 생성한다.

 

3. 적용

    ① EKS Cluster에 적용할 보안 그룹을 생성한다.

 

    ② 보안그룹 인바운드/아웃바운드 규칙을 설정한다.

        - 충분하게 설정해 놓고 EKS 서비스 구축이 완료되면 인바운드/아웃바운드 규칙을 보안 규정에 맡게 좁혀서 설정한다.

 

4. 결과

    ˙ 여기서, 생성된 보안그룹은 EKS 설치시 참조된다.

        -  참고 : https://languagestory.tistory.com/276

 

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ AWS EKS Cluster 설치를 위한 사전 작업을 준비한다.

    ˙ EKS Cluster의 Control Plane이 사용할 Service Role 생성한다.

    ˙ 생성한 IAM Service Role에 정책(policy)을 부여한다.

         - arn:aws:iam::aws:policy/AmazonEKSClusterPolicy
         - arn:aws:iam::aws:policy/AmazonEKSVPCResourceController

 

3. 적용

    ① IAM 역할을 생성한다.

 

    ② 신뢰할 수 있는 엔터티 유형을 설정한다.

        - 방법 1) "AWS 서비스" → 사용 사례로 "EKS" 선택

 

        - 방법 2) "사용자 지정 신뢰 정책" → 직접 입력

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"eks.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}

 

    ③ EKS 선택시 기본적으로 추가된 Policy를 확인한다.

 

    ④ Role 이름을 부여한다.

 

    ⑤ 생성된 역할(Role)을 클릭한다.

 

    ⑥ "정책(policy) 연결"을 클릭한다.

 

    ⑦ "AmazonEKSVPCResourceController" 정책을 추가한다.

 

4. 결과

    ˙ 역할에 부여된 정책(policy)을 확인한다.

        - arn:aws:iam::aws:policy/AmazonEKSClusterPolicy
        - arn:aws:iam::aws:policy/AmazonEKSVPCResourceController

반응형
반응형

1. 시험환경

    ˙ AWS

    ˙ AWS Web Console

 

2. 목적

    ˙ EKS Cluster를 구성하기 전에 AWS Infra를 구축하는 방법을 알아보자.

AWS EKS Structure

 

3. 적용

    ① 인프라 구축을 위한 VPC를 별도로 생성한다.

 

    ② Subnet을 생성하고, 태그 Key-Value 설정값을 부여한다.

        - Name : [subnet-이름]

        - kubernetes.is/cluster/[eks-cluster-이름] : shared

ap-northeast-2a ap-northeast-2c

 

    ③ IGW를 생성한다.

 

    ④ 생성한 IGW를 VPC에 연결한다.

 

    ⑤ 라우팅 테이블에 서브넷을 연결한다.

        - study-eks-routing1과 study-eks-subnet1 간 연결

 

        - study-eks-routing3과 study-eks-subnet3 간 연결

 

    ⑥ 라우팅 테이블에 IGW를 연결하여 Public Subnet을 구성한다.

        - study-eks-routing1과 IGW 간 연결

 

 

 

        - study-eks-routing3과 IGW 간 연결

 

 

 

    ⑦ Security Group을 생성한다.

        - 여기서는 In/Out Bound 모든 트래픽 허용을 하지만, product에서는 철저한 보안 규정에 따라 설정한다.

 

4. 결과

    ˙ 설계안과 비교하여 구축된 사항을 검토한다.

 

반응형
반응형

1. 시험환경

    ˙ SpringBoot

    ˙ IntelliJ

 

2. 목적

    ˙ 개발/스테이징/배포 등 배포 환경에 따라 application.yaml 파일을 설정한다.

    ˙ 개발/스테이징/배포 등 배포 환경에 작성한 application.yaml 파일을 적용한다.

 

3. 적용

    local 환경을 설정한다.

        - 파일명 : application-local.yaml

        - ex) mariadb와 연결 설정

1
2
3
4
5
6
spring:
  datasource:
    driver-class-name: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://localhost:3307/sample?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
    username: root
    password: 1q2w3e4r
cs

 

    prd 환경을 설정한다.

        - 파일명 : application-prd.yaml

        - ex) mariadb와 연결 설정

1
2
3
4
5
6
spring:
  datasource:
    driver-class-name: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://13.234.08.2:3306/location_review?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
    username: root
    password: 1q2w3e4r
cs

 

    application.yaml에서 적용할 프로파일을 설정한다.

        - postfix(local 또는 prd) 설정

1
2
3
spring:
  profiles:
    active: prd
cs

 

4. 결과

    ˙ spring.profiles.active "local" 설정 후 Application 실행

 

    ˙ spring.profiles.active "prd" 설정 후 Application 실행

 

반응형
반응형

1. 시험환경

    ˙ 윈도우

    ˙ aws cli

 

2. 목적

    ˙ aws configure 명령어를 이용하여 IAM 사용자 자격증명하는 방법을 알아보자.

    ˙ 여러 개의 자격 증명을 등록하고 기본값을 설정하는 방법을 알아보자.

 

3. 적용

    ① AWS CLI에서 유지되는 파일에 자주 사용되는 구성 설정과 보안 인증을 저장한다.

        -  명령어 : aws configure

        -  IAM User ID [입력]

        -  IAM User PW [입력]
        -  ap-northeast-2 [입력]
        -  json [입력]


    ② 현재 저장된 구성 설정 및 보안 인증 정보를 확인한다.

        - 명령어 : aws sts get-caller-identity


    ③ 여러 개의 구성 설정과 보안 인증을 저장하기 위해 --profile 옵션을 사용한다.

        -  명령어 : aws configure --profile [user]

 

    ④ 현재 저장된 구성 설정 및 보안 인증 정보를 확인하면 최초 등록된 사용자 정보(default IAM 사용자)가 출력된다.

        -  명령어 : aws sts get-caller-identity


    ⑤ --profile 옵션을 이용하여 등록한 사용자 정보를 확인할 수 있다.

        -  명령어 : aws sts get-caller-identity --profile [user]

    ⑥ default IAM 사용자를 변경하려면 AWS_PROFILE 환경변수를 변경한다.

        -  명령어 : set AWS_PROFILE=[user]

 

반응형
반응형

1. 시험환경

    ˙ 윈도우

    ˙ puttygen, putty

 

2. 목적

    ˙ puttygen을 사용하여 pem(privacy enhanced mail)을 ppk(PuTTY private key)로 변환한다.

    ˙ putty에서 ppk 파일을 Auth에 등록한다.

 

3. 적용

    ① puttygen.exe 프로그램에서 pem 확장자를 갖는 key 파일을 Import 한다.

        - Conversions → Import key : pem 확장자를 갖는  key 파일을 import 한다.

        - Save private key : Imported key를 ppk 확장자로 저장한다.

 

    ② putty 설정창에서 변환된 ppk 파일을 등록한다.

        - 위치 : Connection → SSH → Auth →Browse...

ppk 등록

 

4. 결과

    ˙ pem(privacy enhanced mail)

          - Base64 로 인코딩한 텍스트 형식의 파일

          - AWS 에서 EC2 Instance 를 만들때 접속용으로 생성하는 개인키의 형식

 

    ˙ ppk(PuTTY private key)

           - putty에서는 지원되는 개인키 형식이므로 pem 파일을 변환해서 사용

반응형

+ Recent posts