본문 바로가기

AWS138

[AWS] ELB Target Group - IP & Instance Type 억까 https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/network/load-balancer-target-groups.html#registered-targets Network Load Balancer 대상 그룹 - Elastic Load Balancing Network Load Balancer 대상 그룹 각 대상 그룹은 하나 이상의 등록된 대상에 요청을 라우팅하는 데 사용됩니다. 리스너를 생성할 때 기본 작업에 대한 대상 그룹을 지정합니다. 트래픽은 리스너 규칙 docs.aws.amazon.com IP & Instance Type : C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3, T1 인스.. 2023. 5. 24.
[MSK Connector] Bigquery용 Connector 구성 BigQuery용 MSK Connector를 만드는 레퍼런스가 거의 없어서 챗지피티 도움을 많이 받았다. GCP Key File을 AWS Secret Manager에 등록해둔 후 Connector에서 해당 시크릿을 읽어오는 식으로 만들면 된다. Connector configuration file connector.class=com.wepay.kafka.connect.bigquery.BigQuerySinkConnector autoCreateTables=true tasks.max=2 topics={TOPIC명} project={PROJECT명} gcp.secret={SECRET MANAGER ARN} defaultDataset={DATASET명} MSK Connector용 IAM Role에 해당 시크릿을 D.. 2023. 5. 9.
[NHN Cloud] VPC부터 Instance 접속까지 (AWS와 비교) 기회가 되어 NHN Cloud를 좀 뒤적거려 봤다. 기본적인 세팅 했던 방법을 남기며 AWS와의 다른점 등을 같이 남겨두려고 한다. 계정 및 프로젝트 세팅은 다루지 않는다. # 0. Architecture 간단하게 아래 아키텍처를 세팅하고, Public Subnet의 Bastion Instance를 통해 Private Instance까지 SSH 접속을 해보도록 하겠다. 아키텍처를 보면 알겠지만 AWS와는 벌써 다른 부분이 보인다 : Subnet은 가용 영역(AZ) 종속이 아니다. 일단 해보자! 🚀 # 1. VPC 세팅 1-1 VPC Network > VPC > + VPC 생성 원하는 VPC 이름과 CIDR Block을 작성해준 후 생성 완료 1-2 Internet Gateway Network > Inte.. 2023. 3. 11.
[Terraform/AWS] EC2를 Directory Service에 Seamlessly하게 join시키기 콘솔에서 진행 시엔 적절한 EC2 Role과 Directory Service를 지정해주면 된다. 그러나 API로는 EC2 생성 시 Directory Service를 연결해주는 옵션이 없고, SSM Document를 사용해야 한다. locals { domain = "honglab.com" ec2role_policies = [ "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore", "arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess", ] } ## Directory Service resource "aws_directory_service_directory" "this" { name = local.domain ## 필.. 2023. 1. 16.
[Terraform/AWS] VPC Peering Module을 만들 때 고려할 점 테라폼은 aws의 api를 사용해서 aws의 리소스를 제어한다.aws의 콘솔은 aws에서 api를 ui로 보기좋게(?) 제공하는 서비스이기 때문에, api를 직접 쓰는 것과는 다른 점들이 존재한다.(콘솔에선 못하지만 api로는 가능한 작업이 있는 점 등등..) 따라서 aws의 콘솔 작업과 aws api 작업 은 차이점이 분명히 존재하며,멱등성을 제공하는 IaC도구인 terraform의 경우 별도로 고려해야 할 점들이 불가피하게 생긴다. 그 중에서도 최근에 날 괴롭혔던게(?) VPC Peering이었는데,너무 쉬운 서비스라고 평소에 생각해왔기 때문에 의외로 애를 더 먹어버렸다. 바로 가보자! # 확장성(multi provider)을 고려한 Peering Module지금까지 TGW를 메인으로 써왔기 때문에,.. 2022. 10. 30.
[AWS] Session Manager 중앙 집중식 로깅 구현 : SSM Session Manager Cross Account S3 Logging Session Manager Logging은 세션 접속한 동안의 명령까지도 모두 로깅으로 남는다. Multi Account AWS 환경에서 각 계정의 Session Manager Logging을 로깅 계정의 S3로 쌓도록 설정해보자. Encrypt 설정은 하지 않는다. 하게 되면 S3 Bucket 정책 등이 달라져야 할 것이다. # Architecture # 1. SSM Logging 설정 Console에서 하는 법 Systems Manager > Session Manager > Preferences 에서 설정 가능 (CLI, IaC등 API로는 불가) Bucket 이름과 Prefix를 지정해준다 API(CLI or IaC)로 하는 법 SSM-SessionManagerRunShell 문서를 직접 수정 C.. 2022. 8. 28.
[Terraform/EKS/k8s] import 시 Kubernetes: Unauthorized 상황 Terraform의 한 모듈 내에서 EKS Cluster와 k8s 리소스들을 같이 프로비저닝 중 k8s 리소스 블럭들을 추가하였고, 기존 cluster 내부 리소스들을 import 해야하는 상황 ## k8s provider 설정 data "aws_eks_cluster_auth" "cluster" { name = aws_eks_cluster.this.id } provider "kubernetes" { host = aws_eks_cluster.this.endpoint token = data.aws_eks_cluster_auth.cluster.token cluster_ca_certificate = base64decode(aws_eks_cluster.this.certificate_authority[0].d.. 2022. 6. 28.
[AWS] ElastiCache RI API로 구매하기 (AWSCLI, Python boto3) AWS Console에서 ElastiCache RI 구입 시엔 아래와 같이 Engine, Node type, Term, Offering Type만 지정해주면 된다 (node ID : 그냥 이름 정할거면 정하라는 것) 그러나 CLI나 SDK로 다량구매를 하고싶어 찾아보니,,,, https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/red-ug/reserved-nodes-purchasing.html 예약 노드 구입 - Amazon ElastiCache for Redis 예, 구매를 선택하면 선택한 예약 노드에 요금이 부과됩니다. 요금이 부과되지 않도록 하려면 [Cancel]을 선택합니다. docs.aws.amazon.com engine이나 node type.. 2022. 5. 29.
[AWS 리소스 초기화] aws-nuke in MAC aws-nuke 란? AWS 내의 리소스들을 한꺼번에 날릴 수 있는 오픈소스 https://github.com/rebuy-de/aws-nuke GitHub - rebuy-de/aws-nuke: Nuke a whole AWS account and delete all its resources. Nuke a whole AWS account and delete all its resources. - GitHub - rebuy-de/aws-nuke: Nuke a whole AWS account and delete all its resources. github.com MAC에서 사용하기 여러 방법이 있지만,,,더 편하게 사용하기 위해 MacPorts를 받았다 https://www.macports.org/install.. 2022. 5. 19.
[DataDog] Ingested/Indexed Log + Archiving 정리 우선 Agent단에서 로그를 발생시키면, 무조건 Ingested (인입) 비용이 발생한다 Ingested Log는 Live Tail에 뜨고, 아카이빙이 가능하며, 1GB당 $0.1 이다 그러나 Ingested만 돼서는 Search에서 Filter를 걸어 확인하거나 Dashboard 구성 시 활용할 수 없다 -> Index된 로그들만이 Search(즉 Filtering) 및 Dashboard 활용이 가능해진다 -> Indexed Log는 retention period 기간별로 가격이 다르며, 7일짜리는 로그 1M개당 $1.91이다 자세한 가격 확인 : https://www.datadoghq.com/pricing/?product=log-management#log-management Index는 Logs > .. 2022. 5. 14.
[boto3/paginator] EC2 Name Tag를 포함한 엑셀 뽑기 boto3 client는 한번에 뽑을 수 있는 양이 정해져 있기 때문에, 모든 값을 한꺼번에 뽑으려면 nextToken 인수를 이용해 반복을 돌려야 한다. -> paginator를 사용하면 자동으로 반복이 돌려지며, 한 page씩 묶음으로 출력된다 따라서 paginator를 사용할 땐 page를 반복시키는 반복문이 필요하다 import boto3 from openpyxl import Workbook from datetime import datetime data_list = [] # profile name 지정 session = boto3.Session(profile_name='') client = session.client('ec2') paginator = client.get_paginator('desc.. 2022. 5. 13.
[Terraform] 다른 backend의 state가 업데이트가 안돼요..?! (terraform_remote_state 불러오는 방식) terraform backend 설정에 관한 글 : [Terraform] 실행 환경 분리와 Backend 설정 (AWS/Terraform Cloud) terraform import에 관한 글 : [Terraform] Terraform import와 terraforming (AWS) 태초에....A 환경과 B 환경이 있었습니다 A와 B는 S3를 backend로 사용하고 있고...서로의 output을 받아오기 위해 data로 remote_state 블럭을 설정해 두었습니다 A 환경에서 실제 리소스들을 잔뜩 import를 해야 하는데, B 환경에서의 output을 사용할 일이 생겨서 아래와 같은 코드들을 추가했습니다 ## a/main.tf locals { test = data.terraform_remote_s.. 2022. 4. 30.
[AWS S3] API Call로 S3 Access Logging 설정 시 유의할 점 (boto3) 상황 : 계정 내의 모든 버킷들에 access log 설정을 해두려고 한다 -> python boto3로 진행 1. 먼저 access log를 받을 버킷을 만든다 => access log는 cross region이 지원되지 않는다 https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html 따라서 계정 내 버킷의 리전 종류가 여러개라면, 각 리전별로 액세스로그용 버킷을 만들어야 한다 2. ACL 설정 ACL 의 S3 로그 전달 그룹에 대해 객체 쓰기/버킷 ACL 읽기 권한을 부여해야 한다 만약 ACL 수정이 불가하다면 위의 객체 소유권을 수정해줘야 한다 3. boto3 활용 1) 계정 내의 모든 버킷 리스트 담아오기 : client.list.. 2022. 2. 23.
[RSS] RSS란? AWS 최신 소식 Slack으로 받아보기 https://aws.amazon.com/ko/new/ AWS의 새로운 소식 – 클라우드 혁신 및 뉴스 AWS는 사용자가 최신 기술을 활용하여 더 빠르게 시험하고 혁신할 수 있도록 지속적으로 새로운 기능을 추가하고 있습니다. 새로운 소식 게시물은 당사가 그러한 업무를 수행하는 방법을 보여주 aws.amazon.com RSS 피드를 통해 구독 이라는 버튼이 있다. 이를 눌러보면 위와 같은 xml 형태의 창이 뜬다 📌 RSS란? Rich Site Summary or Really Simple Syndication (정말 간단한 배급) 뉴스나 블로그 사이트에서 주로 사용하는 콘텐츠 표현 방식이며, 해당 사이트에서 새로운 기사 또는 포스팅을 직접 배달해주는 개념이다 즉, 해당 사이트에서 제공하는 RSS를 구독(리.. 2022. 2. 17.
[M1 MAC Terraform] The plugin.(*GRPCProvider).ValidateProviderConfig request was cancelled. 에러가 나지 않던 Terraform Code에서 갑자기 plan/apply 시 아래와 같은 에러가 떴다 해결 : https://github.com/hashicorp/terraform-provider-aws/issues/20274 plugin.(*GRPCProvider).ValidateResourceConfig request was cancelled. · Issue #20274 · hashicorp/terraform-provider-aws Community Note Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request Ple.. 2022. 1. 24.