AWS Infrastructure
VPC
실제 고객사에 들어가게 되면 private subnet만 구성이 되어 있을 것이다. 이 경우에 밖으로 인터넷이 통하게 되는 IGW , NAT 등은 구성이 되어 있지 않다. 여기서 문제가 되는 경우는 private subnet으로 만 구성을 할 경우 AWS 내부 서비스도 API 호출이 되지 않는데 그렇기에 VPC EndPoint 를 구성 해서 해결 할 수 있다
- subnet 
- NAT 
- G/W 
- ENDPOINT 
- EKS , ECS , 주요 연동 시 필요한 endpoint는 아래와 같다. 최소이자 필수 endpoint 이니 기본으로 설치하자 
com.amazonaws.ap-northeast-2.s3
com.amazonaws.ap-northeast-2.sts
com.amazonaws.ap-northeast-2.ec2
com.amazonaws.ap-northeast-2.rds
com.amazonaws.ap-northeast-2.ecs
com.amazonaws.ap-northeast-2.ecr.api
com.amazonaws.ap-northeast-2.ecr.dkr
com.amazonaws.ap-northeast-2.cloudformation
com.amazonaws.ap-northeast-2.secretsmanager
com.amazonaws.ap-northeast-2.logs
com.amazonaws.ap-northeast-2.sqs
com.amazonaws.ap-northeast-2.eks
com.amazonaws.ap-northeast-2.codecommit
com.amazonaws.ap-northeast-2.elasticloadbalancing
com.amazonaws.ap-northeast-2.git-codecommit
com.amazonaws.ap-northeast-2.s3
com.amazonaws.ap-northeast-2.dynamodb
com.amazonaws.ap-northeast-2.dynamodb
com.amazonaws.ap-northeast-2.sns
com.amazonaws.ap-northeast-2.ssm일괄 설치 스크립트는 다음과 같다/ custom-project/scripts/vpc_endpoint_mng.sh
#!/bin/bash
export service_names=(
com.amazonaws.ap-northeast-2.s3 
com.amazonaws.ap-northeast-2.sts
com.amazonaws.ap-northeast-2.ec2
com.amazonaws.ap-northeast-2.rds
com.amazonaws.ap-northeast-2.ecs
com.amazonaws.ap-northeast-2.ecr.api
com.amazonaws.ap-northeast-2.ecr.dkr
com.amazonaws.ap-northeast-2.cloudformation
com.amazonaws.ap-northeast-2.secretsmanager
com.amazonaws.ap-northeast-2.logs
com.amazonaws.ap-northeast-2.sqs
com.amazonaws.ap-northeast-2.eks
com.amazonaws.ap-northeast-2.codecommit
com.amazonaws.ap-northeast-2.elasticloadbalancing
com.amazonaws.ap-northeast-2.git-codecommit
com.amazonaws.ap-northeast-2.s3
com.amazonaws.ap-northeast-2.dynamodb
com.amazonaws.ap-northeast-2.dynamodb
com.amazonaws.ap-northeast-2.sns
com.amazonaws.ap-northeast-2.ssm
)
#vpc-id , subnetid, security group은 수작업으로 기입!
for svc_name in  ${service_names[@]}  
do
aws ec2 create-vpc-endpoint  \
--subnet-ids subnet-<private-subnet-b>  subnet-<private-subnet-a> \
--vpc-id vpc-<vpc-id>  \
--service-name  ${svc_name}  \
--vpc-endpoint-type Interface  \
--security-group-id sg-0da577e13607dfa16  
done- IAM 
- SecretManager 
- EC2 
- MQ 
- RDS 
- DynamoDB 
- Route53 
Last updated