• 프로필사진
    Home
  • Portfolio
  • github [#ffffff] Created with Sketch.
    Github
  • linkedin
    Linkedin
  • Setting
  • Posting
    • 분류 전체보기 (105)
      • Aws (96)
      • Backend (3)
      • Extension (1)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • EKS Fargate
        wngnl05:
        Fargate Profile Role- 역활에서 EKS - EKs Pod 선택하고 생성하기  Create Service Account더보기먼저 IAM 콘솔에서 정책을 생성해줍니다.정책에는 App에서 사용할 권한을 추가해주세요. eksctl create iamserviceaccount \ --cluster= \ --namespace= \ --name= \ --attach-policy-arn= \ --override-existing-serviceaccounts \ --approve deployment.yamlcurl -o deployment.yaml https://raw.githubusercontent.com/wngnl-dev/AWS/main/EKS/Manifest/Deployment/..
        • 2024-12-24 14:58:36
      • EKS Loadbalancer Controller
        wngnl05:
        Albcontroller를 생성하기전에Public subnet Tag = kubernetes.io/role/elb : 1Private subnet Tag = kubernetes.io/role/internal-elb : 1  Loadbalancer-Role 을 생성해줍니다.CLUSTER_NAME=""eksctl utils write-kubeconfig --name $CLUSTER_NAMEeksctl utils associate-iam-oidc-provider --approve --cluster $CLUSTER_NAMEACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)CLUSTER_OIDC=$(aws eks describe-clus..
        • 2024-12-24 14:58:14
      • EKS Cluster 만들기
        wngnl05:
        Install EKSctl & Kubectlaws configure EKS Install LinkARCH=amd64PLATFORM=$(uname -s)_$ARCHcurl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gzsudo mv /tmp/eksctl /usr/local/bin Kubectl Install Linksudo chmod +x ./kubectlsudo mv ./kubectl /usr/local/bin Eks 클러스터 설정Inbound : 80, 443Out..
        • 2024-12-24 14:57:46
      • 같은 IP로 3번 접속 시 Revoke 하기
        wngnl05:
        useradd  ssh @ -p2220  login.sh#!/bin/bashIP=/var/log/ip.logIP_ADDR=$(who -m | awk '{print $NF}' | sed 's/[()]//g')cat > $IP$IP_ADDREOFIP_COUNT=$(grep -c "$IP_ADDR" $IP)if [ $IP_COUNT -eq 3 ] then curl https://ppppul5018.execute-api.ap-northeast-2.amazonaws.com/revoke-functionfi .bashrcsh /home/user1/login.sh
        • 2024-12-24 14:57:19
      • 시작템플릿으로 Docker 배포하기
        wngnl05:
        #!/bin/bash# ENVEC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")EC2_ID=$(curl -s -H "X-aws-ec2-metadata-token: $EC2_TOKEN" "http://169.254.169.254/latest/meta-data/instance-id")EC2_NAME=$(aws ec2 describe-instances --instance-ids $EC2_ID --query 'Reservations[0].Instances[0].Tags[?Key==`Name`].Value' --output text)ECR_URL=""ECR_T..
        • 2024-12-24 14:56:40
      • EKS - NetworkLoadBalancer
        wngnl05:
        Service.yamlapiVersion: v1kind: Servicemetadata: name: namespace: annotations: service.beta.kubernetes.io/aws-load-balancer-type: "nlb" service.beta.kubernetes.io/aws-load-balancer-subnets: , alb.ingress.kubernetes.io/load-balancer-name: alb.ingress.kubernetes.io/scheme: #internet-facing #internal alb.ingress.kubernetes.io/healthcheck-path: spec: selector: : ports: ..
        • 2024-12-24 14:56:18
      • Docker로 Java ( jar, war ) 배포하기
        wngnl05:
        참고 코드더보기package com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@SpringBootApplicationpublic class { public static void main(..
        • 2024-12-24 14:53:12
      • EKS - Grafana
        wngnl05:
        Grafana를 설정하기 전에더보기AWS EKS Console에 접속하여 "추가기능"에서 EBS CSI Driver를 추가해줘야 합니다 EBS CSI Driver를 추가하면 이런 JSON형태가 뜨는데:sub 뒤에 "system:serviceaccount:kube-system:ebs-csi-controller-sa"를 추가한뒤 저장해주세요더보기Eks Cluster에서 사용하는 모든 퍼블릭 서브넷에 태그를 추가해줍니다.kubernetes.io/role/elb Eks Cluster에서 사용하는 모든 프라이빗 서브넷에 태그를 추가해줍니다.kubernetes.io/role/internal-elb  Helm으로 Grafana를 설치해줍니다helm repo add grafana https://grafana.githu..
        • 2024-12-24 14:52:41
      • Lambda Revoke
        wngnl05:
        보안그룹에 포트를 추가하거나 삭제하면 22, 2220포트를 제외한 포트를자동으로 삭제되도록 만들어보겠습니다.  Lambda CodeIAM Role : EC2 FULL ACCESSLambda 실행시간 : 30초더보기import boto3def lambda_handler(event, context): # 보안 그룹 ID security_group_id = '' # EC2 클라이언트 생성 ec2 = boto3.client('ec2') #보안 그룹의 현재 인바운드 규칙 가져오기 response = ec2.describe_security_groups(GroupIds=[security_group_id]) security_group = response['SecurityGroups..
        • 2024-12-24 14:51:53
      • Lambda를 이용한 Kinesis firehose 레코드 변환
        wngnl05:
        Stream에 데이터 전송json_data='{"name": "wngnl", "age": 18}'aws kinesis put-record \ --stream-name \ --data "$(echo -n $json_data | base64)" \ --partition-key "" Lambda 코드더보기import base64import jsonfrom datetime import datetime, timedeltadef lambda_handler(event, context): # 현재 날짜&시간 now = datetime.today() now = now + timedelta(hours=9) year = now.year month = now.month day = now..
        • 2024-12-24 14:51:20
      • Lambda를 대상으로 한 ALB 생성하기
        wngnl05:
        "EC2" - "대상그룹" 으로 가서 Lambda를 대상으로 한 대상그룹을 생성해줍니다.Lambda의 별칭이나 버전으로 대상을 선택하고로드밸런서로 이동하여 ALB를 생성해줍니다.  아래에 있는 람다의 코드를 사용하면/red 경로는 {color: red}/blue 경로는 {color: blue}그 이외의 경로는 {message: Invalid path}를 반환합니다.import jsondef lambda_handler(event, context): path = event['path'] if path == '/red': response_body = {'color': 'red'} elif path == '/blue': response_body = {'color': 'b..
        • 2024-12-24 14:50:53
      • EC2에서 SQS에 메세지 전송하는 코드
        wngnl05:
        SQS를 생성한 다음앤드포인트로 연결해줘야 합니다.  msg="this time is :$(date)"aws sqs send-message --queue-url --message-body "$msg" --endpoint-url https:// --region ap-northeast-2위의 코드는 현재의 시간을 SQS로 전송하는 코드 입니다.메시지를 보낸 다음에는 SQS에서 "메시지" - "메시지 폴링" 으로 메시지를 확인 할 수 있습니다
        • 2024-12-24 14:50:20
      • EC2에 로그인 시 특정 명령어 실행하는 방법
        wngnl05:
        # 사용자의 홈 디렉토리로 이동cd ~ # 텍스트 에디터(vi, nano, 등)를 사용하여 셸 설정 파일 편집vi .bashrc # 또는 vi .bash_profilebashrc에 접속 후제일 밑에 실행할 명령어를 작성해준 후 저장해줍니다. source .bashrc # 또는 source .bash_profile로그인 한 것 처럼 테스트 할 수 있는 코드
        • 2024-12-24 14:49:52
      • EC2 Linux시간을 한국 시간으로 변경하는 코드
        wngnl05:
        sudo rm -rf /etc/localtimesudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime한국 사간으로 변경하는 코드   sudo rm -rf /etc/localtimesudo ln -s /usr/share/zoneinfo/ /etc/localtimetimedatectl list-timezones변경할 수 있는 시간대의 나라 리스트
        • 2024-12-24 14:49:26
      • Docker에서 Golang 실행하기
        wngnl05:
        RUN go mod init .goRUN go getRUN go build -o  # Go 어플리케이션을 빌드하는 데 사용할 베이스 이미지를 선택합니다.FROM golang:latest# 컨테이너 내부의 작업 디렉토리를 설정합니다.WORKDIR /app# 호스트의 모든 파일을 컨테이너의 /app 디렉토리로 복사합니다.COPY . .# curl을 설치합니다.RUN apt-get update && apt-get install -y curl# 애플리케이션을 실행합니다.CMD ["./"]
        • 2024-12-24 14:49:02
      • RDS SecretManger 생성하기
        wngnl05:
        aws secretsmanager create-secret --name --description "My Secret" \--secret-string '{"username": "", "password": "", "engine": "mysql", \"host": "", "port": 3306, "dbClusterIdentifier": "", "dbname": ""}'DB를 생성하고 명령어를 실행시키면 SecretManger가 생성 및 연결됩니다."--secret-string"을 수정하고 "mysql"이 아닌 다른 DB를 사용할려면 engin도 수정해줘야 합니다. sudo yum install mariadb105 -ymysql -h -u -pdb="mysql -h -u -p"
        • 2024-12-24 14:48:36
      • Blue&Green을 이용해서 CodeCommit 업데이트 시 ECS의 서비스 업데이트 하기
        wngnl05:
        Buildspec.ymlcurl -o buildspec.yml https://raw.githubusercontent.com/jinhyeokhyeok/Aws/main/ECS/Blue%26Greeen/buildspec.yml taskdef.jsoncurl -o taskdef.json https://raw.githubusercontent.com/jinhyeokhyeok/Aws/main/ECS/Blue%26Greeen/taskdef.json Codecommit에 "buildspec.yml", "taskdef.json"을 추가하고CodeBuild를 실행하면 ECR에 현재 한국시간을 태그로 이미지를 업로드 하고 ECS의 작업정의의 내용도 변경해줍니다.  - ECS Service를 생성할때 꼭!! "Blue&Gree..
        • 2024-12-24 14:48:08
      • RollingUpdate로 CodeCommit 업데이트 시 ECS 서비스 업데이트 하기
        wngnl05:
        Link Codecommit 특정 브런치에 업로드 이벤트가 발생하면CodePipeline이 감지하고 Codedeploy, Codebuild 실행해서ECS의 서비스를 업데이트 해주도록 구축해보겠습니다.   우선 ECS에서 클러스터를 생성하고 서비스를 ALB와 연결해서 배포해주세요. 이제 Codecommit을 생성하고 Instance에서 "git clone"으로 접속해줍니다.2023.09.30 - [Aws] - Codecommit에 Push 하는 방법Codecommit에서 브런치를 하나 생성하고 Dockerfile이랑 buildspec.yml파일을 작성해줍니다.Dockerfile은 사용자의 앱에 맞게 작성하고 version: 0.2phases: pre_build: commands: - ..
        • 2024-12-24 14:47:19
      • Codebuild에서 CodeCommit ID를 태그로 ECR에 업로드
        wngnl05:
        version: 0.2phases: pre_build: commands: - - ECR_URL=885074404314.dkr.ecr.ap-northeast-2.amazonaws.com/test-ecr - COMMIT_ID=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7) - echo $COMMIT_ID - LATEST=${COMMIT_ID:=latest} build: commands: - docker build -t $ECR_URL:$LATEST . post_build: commands: - docker push $ECR_URL:$LATEST
        • 2024-12-24 14:46:47
      • S3에서 이벤트 발생시 람다를 이용해서 CloudFront 무효화 하기
        wngnl05:
        import datetimeimport boto3def lambda_handler(event, context): aws_region = '' distribution_id = '' # CloudfRont 무효화 paths_to_invalidate = ['/*'] # 무효화 경로 cf_client = boto3.client('cloudfront', region_name=cf_aws_region) korea_time = datetime.datetime.now() + datetime.timedelta(hours=9) korea_time_str = korea_time.strftime("%Y-%m-%d %H:%M:%S") # 원본 무효화 요청 생성 i..
        • 2024-12-24 14:46:25
      • Kinesis Stream에 레코드 전송
        wngnl05:
        json_data='{"name": "jinhyeok", "age": 17}'aws kinesis put-record \ --stream-name \ --data "$(echo -n $json_data | base64)" \ --partition-key ""
        • 2024-12-24 14:45:53
      • EC2에서 RDS 접속
        wngnl05:
        MySQL더보기데이터베이스 모듈 설치sudo yum install mariadb105 -y 데이터베이스 접속mysql -h -u --port=3306 -p 단축키 $db 명령어를 작성하면 바로 데이터베이스로 접속합니다.db="mysql -h -u -p"PostgreSQL더보기모듈 설치sudo yum install postgresql 데이터베이스 접속psql -h -u -p 단축키 $db 명령어를 작성하면 바로 데이터베이스로 접속합니다.db="psql -h -u -p"
        • 2024-12-24 14:45:29
      • Terraform 설치하는 방법 및 기본 코드
        wngnl05:
        LinkWinodw - AMD64 를 다운 받아 주시고 압축을 풀어주세요."C:\terraform" 폴더를 만들어 준 뒤 terraform.exe를 넣어주세요. 시작 메뉴에서 "시스템 환경 변수" - "환경 변수" - "시스템 변수" - "Path" 를편집을 눌러 "새로 만들가"를 누른 뒤 "C:\terraform" 를 입력하고 적용해주시면 됩니다.  Terraform 명령어더보기provider "aws" { access_key = "" secret_key = "" region = "" profile = "default"} provider.tf 파일로 Terraform 기본 설정을 해줍니다.terraform init Terraform 파일을 참고해서 컴파일 해줍니다.terraform plan Te..
        • 2024-12-24 14:44:52
      • Kinesis Firehose & Lambda를 이용한 레코드 변환
        wngnl05:
        Stream에 데이터 전송json_data='{"name": "kayaya", "age": 17}'aws kinesis put-record \ --stream-name \ --data "$(echo -n $json_data | base64)" \ --partition-key "" Lambda 코드더보기import base64import jsonfrom datetime import datetime, timedeltadef lambda_handler(event, context): # 현재 날짜&시간 now = datetime.today() now = now + timedelta(hours=9) year = now.year month = now.month day = no..
        • 2024-12-24 14:43:41
      • Codebuild로 ECR 업로드 하기
        wngnl05:
        Codecommit2023.09.30 - [Aws] - Codecommit에 Push 하는 방법위의 블로그를 참고해서 Codecommit에 파일을 업로드 해줍니다.Codecommit에는 "Dockerfile", "buildspec.yml"과 dockerfile에서 사용할 파일들을 업로드 해줍니다. Code Build 권한 생성IAM - Codebuild - Administartoraccess buildspec.yml더보기version: 0.2phases: pre_build: commands: # CodeCommit 저장소에서 소스 코드를 가져옵니다. - echo "Cloning source code from CodeCommit..." - - MY_ECR= ..
        • 2024-12-24 13:36:22
      • CodeCommit
        wngnl05:
        - Codecommit 다운로드 : git clone  - 처음 브런치 생성 코드 : git branch -M  - 이후 브런치 생성 코드 : git checkout -b  - 브런치 변경 코드 : git switch  - 브런치 업데이트 : git pull origin  - 브런치 삭제 : git push origin --delete   - 기본 브런치 변경aws codecommit update-default-branch --repository-name --default-branch-name - Push 코드git add .git commit -m ""git push origin - Git 자격증명 저장git config --global credential.helper storegit pull위 코드..
        • 2024-12-24 13:35:25
      • Kinesis Firehose를 이용해서 S3에 Parquet확장자로 파일 저장하기
        wngnl05:
        Kinesis Firehgose는 Stream에서 받은 데이터를 S3로 저장할려고 하면확장자가 없는 파일로 저장되게 됩니다.  Glue를 이용한 "레코드 형식 변환"으로 파일에 확장자를 설정해주겠습니다.Glue에서 테이블을 "parquet"형식으로 생성하고 넘어가주세요   Firehose를 생성하고"구성" - "변형 및 레코드 변환" - "레코드 형식 변환"을 활성화 해줍니다."출력 형식"은 Apache parquet로 선택하고리전, 데이터베이스, 테이블을 추가하고 저장해줍니다. 이제 KinesisStream에 데이터를 전송하면 S3에 parquert파일로 저장됩니다.
        • 2024-12-24 13:34:52
      • Athena 쿼리를 Lambda로 가져와서 S3버킷에 csv파일로 저장하기
        wngnl05:
        기초 요약명령어 모음  Glue에서 데이터베이스를 생성해줍니다. Glue를 이용해서 테이블을 생성합니다.Glue로 테이블을 생성할때 "Data Format"은 읽어올 데이터의 유형을 의미합니다. 직접 쿼리 읽어오기 select * from "".""; -- Lambda 코드 --import boto3# Athena 클라이언트 생성athena_client = boto3.client( 'athena', region_name='', aws_access_key_id="", aws_secret_access_key="")DATABASE_NAME = ""TABLE_NAME = ""s3_output_location = "" # 쿼리 결과 파일 저장 위치# 쿼리 명령어 작성query = f'SELE..
        • 2024-12-24 13:34:04
      • EKS - External-Dns 설정하기
        wngnl05:
        Aws 문서 curl -o dns-policy.json https://raw.githubusercontent.com/wngnl05/Aws/main/Kubernetes/External-DNS/dns-policy.json json파일로 IAM 정책을 생성해주세요. eksctl create iamserviceaccount --name external-dns \--namespace default \--cluster \--attach-policy-arn \--approvekubectl get saeksctl명령어에 정책 ARN을 수정하고 실행한뒤"kubectl get sa"명령어로 "external-dns"가 생성되었는지 확인합니다. kubectl api-versions | grep rbac.authoriza..
        • 2024-12-24 13:32:20
      • EC2 서버에서 keypair, password 동시에 적용하기
        wngnl05:
        Ec2 server에 접속하는 방법에는 "키페어", "비밀번호" 2가지가 있습니다.만약 "키페어", "비밀번호" 2개를 같이 사용하여 서버를 구축하고 싶다면 어떻게 해야될까요?  먼저 Ec2 Instance 서버를 생성할때 "키페어"를 꼭!! 사용해주세요sed -i "s/PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_configecho ":" | chpasswdsystemctl restart sshdecho "AuthenticationMethods publickey,password" >> /etc/ssh/sshd_configsystemctl restart sshdAMI 이름 : ec2-user, ubutu ....그 후 사용자..
        • 2024-12-24 13:31:02
      조회된 결과가 없습니다.
      [1][2][3][4]
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바