일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바스크립트
- FastAPI
- ebs
- intervals
- docker
- s3
- Deployment
- ansible
- dockerfile
- asgi
- Service
- event loop
- WSGI
- EKS
- IAC
- terraform
- K8S
- YAML
- leetcode
- POD
- elasticsearch
- github
- 안드로이드
- Django
- asyncio
- IAM
- AWS
- Kubernetes
- Python
- EC2
- Today
- Total
목록AWS (18)
궁금한게 많은 개발자 노트
A VPC - EKS내의 서비스와 B VPC ECS상의 서비스가 통신하기 위한 방법에 대해 설명 VPC(Virtual Private Cloud)의 개념은 클라우드 서비스 제공 업체가 제공하는 가상화된 네트워크 환경으로, 이 환경을 이용하여 자체적으로 격리된 논리적 네트워크를 구성하고 이를 통해 안전하게 컴퓨팅 자원과 데이터를 관리할 수 있습니다. 즉, 일반적으로 서로 다른 VPC는 서로 격리된 네트워크로 통신을 할 수 없습니다. 하지만, 서비스 규모가 커지면서 하나의 서비스를 위해 여러 VPC 네트워크 간 통신이 필요한 경우가 발생할 수 있으며, 문제 상황 처럼 서로 다른 VPC에 존재하는 EKS내 서비스와 ECS상 서비스가 통신이 필요할 수 있습니다. 주어진 상황에 따라 일반적인 상황을 설명하자면, A..
Python으로 AWS와 연동할 때, boto3라이브러리를 사용하여 애플리케이션이나 스크립트를 Amazon S3, EC2, DynamoDB등의 서비스와 쉽게 연결하여 사용할 수 있습니다. 그 중 비동기적으로 파이썬 애플리케이션과 AWS 서비스를 연동하기 위해 asyncio 패키지와 boto3를 사용하여 패키징한 aiobotocore를 사용하여 비동기적으로 FastAPI와 AWS S3를 연동해보려 합니다. 이 때, aiobotocore를 사용할 수도 있지만, aioboto3를 사용할 수도 있습니다. 두 라이브러리의 차이점은 무엇일까요? 두 라이브러리의 공통점은 모두 Python에서 AWS 서비스에 접근할 수 있도록 해주는 비동기 라이브러리입니다. 하지만, aiobotocore는 비교적 저수준 라이브러리로 ..
AWS를 사용하여 EKS환경을 구축해보면서 어떤 구성요소들이 필요한지 컴포넌트 다이어그램을 대략적으로 그려보았습니다. VPC를 private subnet과 public subnet으로 구분하고, public subnet에 bastion host인 EC2를 배치하고, private subnet에는 EKS를 생성하였습니다. 이를 통해 EKS에 직접 접근은 bastion host를 통해서만 가능하도록 하여 보안을 강화시켰습니다. 또한, worker node에 존재하는 application service pod등으로의 접근은 ALB(ingress)를 통해 가능하도록 하였습니다. 만약 data plane에 존재하는 pod들이 외부로 접근/요청이 필요한 경우에는, public subnet에 존재하는 NAT(Netw..
AWS에서 제공하는 EKS(Elastic Kubernetes Service)를 사용하다 보면, IAM User권한을 통해 EKS를 생성하고 생성한 User는 클러스터를 구성할 수 있는 system:master권한을 가져, EKS에 접근하거나 EKS내에서 생성된 k8s resource들에 대한 접근 권한이 생성됩니다. 물론, terraform이나 ansible등의 IaC를 사용하여 CLI를 통해 EKS를 구축하였더라도 kube config를 업데이트하여 IAM Role, User, Account등을 지정할 수 있습니다. AWS에서는 AWS서비스에 접근하기 위한 사용자 IAM정보를 ~/.aws/config에 저장해둔다면, EKS에서는 EKS에 접근하기 위한 토큰을 발급하여 사용하도록 하는 정보를 ~/.kub..
aws_caller_identity terraform version 0.7.1부터 지원하는, 자신의 계정(account_id)또는 다른 계정의 account id, user id, arn을 참조하고자 할 때 사용되는 data resource입니다. 특정 aws resource에서 account_id를 포함하는 경우에도 하드코딩 하지 않고 손 쉽게 대체할수 있습니다. data "aws_caller_identity" "current" {} output "account_id" { value = "${data.aws_caller_identity.current.account_id}" } output "caller_arn" { value = "${data.aws_caller_identity.current.arn}"..