본문 바로가기

AWS130

[Terraform/k8s] gp2 Storage Class patch eks를 만들면, gp2 storage class가 자동으로 같이 생성되어 있다. https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html Storage classes - Amazon EKS Storage classes Amazon EKS clusters that were created prior to Kubernetes version 1.11 weren't created with any storage classes. You must define storage classes for your cluster to use and you should define a default storage class for your persistent vo.. 2023. 6. 5.
[Lambda/Python/Slack] 가볍게 슬랙 메세지 보내기 Slack App을 만들고, Incoming Webhook을 원하는 채널에 생성해둔다. import json import urllib3 SLACK_URL = "https://hooks.slack.com/services/.../.../..." MESSAGE = "Lambda Trigger Test" def lambda_handler(event, context): message = { 'text': MESSAGE } http = urllib3.PoolManager() response = http.request('POST', SLACK_URL, body=json.dumps(message).encode('utf-8'), headers={'Content-Type': 'application/json'}) if re.. 2023. 5. 30.
[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.