본문 바로가기

728x90

AWS/PROJECT

(14)
[Lambda] Opensearch security_exception 오류 해결법 배경VPC의 Private Subnet에 위치한 Lambda 함수가 있다.Lambda는 Opensearch에서 쿼리하기 위한 용도로 사용되고 있다 ! 원래 VPC 활성화가 안 되어 있던 람다는 Opensearch에서 잘 쿼리하드만...VPC 활성화가 되어 Private Subnet에 위치한 Lambda에서 다음과 같은 오류가 발생하는 것을 확인response: {'statusCode': 200, 'headers': {'Access-Control-Allow-Origin': '*'}, 'isBase64Encoded': False, 'body': '{"error":{"root_cause":[{"type":"security_exception","reason":"no permissions for [indices..
Private Server에서 VPC Endpoint를 통해 IoT Core와 통신하기 아키텍처본 작업의 아키텍처는 다음과 같습니다. 목표 : Private Subnet에 위치한 EC2와 IoT Core간의 통신을 VPC Endpoint를 사용하여 통신할 수 있도록 합니다.Public Server의 경우 VPC 엔드포인트와 같은 리소스를 사용하지 않아도 다이렉트로 IoT Core와 연결될 수 있습니다.  기본 환경 세팅Network리소스IPv4 CIDRVPC (vpc-iot-dev-test)10.0.0.0/16Public Subnet (sbn-iot-dev-pub-test)10.0.0.0/24Private Subnet (sbn-iot-dev-pri-test)10.0.1.0/24필요한 경우 인터넷 게이트웨이와 NAT 게이트웨이를 생성하여 라우팅 테이블에 연결합니다. EC2 내의 기본 세팅 및..
[Mac] Terminus 이용해서 리눅스 터널링 하는 법 일단, 맥에서는 Putty를 사용할 수 없다. 터미널을 이용해서 접속은 할 수 있지만.. 명령어를 계속 쳐야하는 그런 귀찮음이 있어서 부분 무료 프로그램인 terminus를 사용할 수 있다. 검색해보면, terminus로 public 서버에 접속하는 방법만 나와있길래.. 정리겸,. 터널링하는 방법에 대해 적어보겠다. 일단, 맥에 Terminus를 설치한다. Terminus를 실행하면 다음과 같은 화면이 나온다 왼쪽 메뉴바의 Hosts를 선택 - NEW HOST 선택 오른쪽에 열리는 메뉴바에 접근하고 싶은 서버의 정보를 넣으면 된다. 일단 Bastion host를 등록하자. - Address : Bastion host의 Public IP를 입력 - Username : ec2-user (Amazon Linu..
AWS Site-to-Site VPN 생성하기 온프레미스 환경 - 오레곤 리전에 생성 - VPC CIDR : 192.168.0.0/16 - Public 라우팅 테이블 Openswan이 설치된 Public 인스턴스로 AWS로 향하는 모든 트래픽이 전달되도록 함 - Openswan이 설치될 인스턴스는 Public하다 - 온프레미스 서버에서 다음과 같이 설정 yum -y install openswan cat /etc/ipsec.conf | grep "include /etc/ipsec.d" cat /etc/sysctl.conf 위 사진처럼 안 나오면 다음과 같이 주석이 없는 문장을 넣어준다 net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.default.accept_sourc..
AWS Client VPN 설정 및 연결 Client VPN - AWS 리소스와 온프레미스의 리소스에 접근할 수 있는 VPN 서비스 - OpenVPN 기반으로, 리소스에 접근할 수 있음 구성요소 Client VPN 엔드포인트 : 클라이언트 IP 주소가 할당되는 IP 주소 범위(CIDR 표기법) 한 마디로, 클라이언트(AWS 환경에 접근하려는 온프레미스의 사용자)에게 할당할 IP 주소 범위이다. 주소 범위는 대상 네트워크 범위 / VPC 주소 범위 / 클라이언트 VPN 엔드포인트와 연결될 경로와 중첩될 수 없다. 클라이언트 주소 범위는 최소 /22 이상, /12 CIDR 보다 크지 않아야 한다. 생성 이후, 변경이 불가하다. 서버 인증서 ARN & 클라이언트 인증서 ARN ACM으로 가져오는, 서버에서 사용할 인증서이다. ACM에서 발급받을 수 ..
AWS Amplify, API Gateway, Lambda, DynamoDB를 이용해 웹 애플리케이션 구축 AWS Amplify : 풀스택 웹 및 모바일 앱을 몇 시간 안에 구축할 수 있는 솔루션 VS Code에 html 파일을 만들어서 압축하기 Hello World AWS Amplify 환경에서 새 앱 - 웹 앱 호스팅 - Git 공급자 없이 배포 앱 이름 : AWSWebWorkshop / 환경 이름 : dev 드래그 앤 드롭으로 파일 위에서 압축한 zip 파일 업로드 위의 도메인에 들어가면 다음과 같이 html 파일에 쓴 내용이 나타난다 AWS Lambda : 서버리스 서비스 AWS Lambda 콘솔 - 함수 생성 다음 사진의 내용을 작성 - 함수 생성 다음의 파이썬 코드를 작성 - Test 선택 # import the JSON utility package since we will be working wi..
VPC Peering 연결 오늘 할 실습 아키텍처 VPC Peering 연결을 생성해서 private ec2끼리 ping을 주고 받을 수 있는지 확인해보자 준비사항 서울 리전에 각각 다른 VPC를 생성해 VPC Peering을 해볼 것이다. - VPC A : 10.0.0.0/16 - public subnet : 10.0.10.0/24 - private subnet : 10.0.11.0/24 - public 라우팅 테이블 - private 라우팅 테이블 - private subnet 내에 있는 ec2가 외부와 통신 해야하기 때문에 nat gateway를 생성해 연결했다 또다른 VPC를 준비하자 - VPC B : 10.50.0.0/16 - public subnet : 10.50.0.0/24 - private subnet : 10.50..
AWS CloudFront, S3, ALB, Route53 몽땅 연동하기 이렇게 연동할 것이다 그리고 CloudFront 앞단에 WAF를 위치시킬 예정이다 S3 버킷 다음과 같이 contents라는 폴더에 파일들을 집어넣었다 로드 밸런서 오토 스케일링 그룹으로 EC2 인스턴스 2개를 생성했다. 인스턴스는 각각 다른 AZ의 private 서브넷에 존재한다 그리고 ALB의 타겟 그룹에 다음과 같이 등록해둔 상태이다. 그리고, 로드 밸런서는 application load balancer를 생성해 리스너 규칙을 다음과 같이 생성했다 HTTP:80으로 들어온 모든 요청은 타겟그룹으로 전달되도록 했다 Route 53 기존에 사용하던 도메인을 Route 53의 호스팅 영역에 등록했다 처음 등록하면 네임서버가 자동으로 생성되는데 그 네임서버를 기존 호스팅 업체인 가비아에 등록했다. WAF ..

728x90