내 VPC에는 퍼블릭 및 프라이빗의 두 서브넷이 있습니다.
퍼블릭 서브넷에는 ECS Fargate 작업이 포함됩니다.
Network mode -> awsvpc
ENI Id -> eni-xxxxxxxxxx
Private IP -> 10.0.0.36
Public IP -> 34.243.XXX.XXX
프라이빗 서브넷에는 Lambda 함수가 포함되어 있습니다.
IP 10.0.0.36에서 Lambda에서 연결하려고하면 오류가 발생합니다.
{
"errorType":"Error",
"errorMessage":"getaddrinfo ENOTFOUND 10.0.0.36:3000",
"trace":[
"Error:getaddrinfo ENOTFOUND 10.0.0.36:3000",
"at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)"
]
}
이 문제를 어떻게 해결할 수 있습니까?
추신. Lambda에는 인터넷 액세스가 필요하지 않습니다.
부가:
내 Lambda의 단순화 된 코드 :
const http = () => {
const body = '{"vehicles":[{"id":0,"profile":"driving-car","start":[32.41,34.784],"end":[32.41,34.784]}],"jobs":[{"id":0,"location":[32.41,34.784]},{"id":1,"location":[32.480,34.835]}],"options":{"g":true}}';
const options = {
hostname: '10.0.0.36:3000',
path: '/',
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Content-Length': Buffer.byteLength( body ),
}
};
return new Promise(resolve => {
const req = require('http' ).request(options, res => {
res.setEncoding('utf8');
var str = '';
res.on('data', chunk => str += chunk);
res.on('end', () => resolve(str));
});
req.write(body);
req.end();
});
};
exports.handler = async (event) => {
const response = {
statusCode: 200,
body: await http(),
};
return response;
};
- 답변 # 1
관련 자료
- amazon web services - 퍼블릭 서브넷에 nginx를, AWS VPC의 프라이빗 서브넷에 웹 서버를 배치 할 수 있습니까?
- amazon web services - 프라이빗 서브넷이 퍼블릭과 통신하지 않습니다 - 건강 검진 실패
- java - IntelliJ는 비공개 또는 공개 아이콘을 표시하지 않습니다
- dart - KeyPair Generation Flutter에서 RSA 공개 또는 개인 키 받기
- vagrant - coreos의 단일 컴퓨터 kubernetes에있는 노드의 공용 및 개인 IP 주소
- java를 사용하여 git 저장소가 개인용인지 공용인지 확인하십시오 (예 - github 용)
- amazon web services - 하나의 퍼블릭 서브넷에 2 개의 NAT 게이트웨이를 사용할 수 있습니까?
- symfony - 공공 서비스는 비공개로 처리됩니다
- encryption - 개인 키에서 RSA 공개 키를 생성하는 방법은 무엇입니까?
- amazon ec2 - AWS ECS 개인 및 공공 서비스
- 개인 github 저장소에 디렉토리를 공개하십시오.
- hyperledger fabric - 데이터의 하위 집합 만 공개하지만 다른 데이터는 비공개로 유지
- java - Softlayer API를 사용하여 퍼블릭 및 프라이빗 Vlan을 주문하는 방법
- azure - AzureDevops에서 AWS 프라이빗 서브넷에 배포
- amazon eks - 퍼블릭 서브넷의 AWS EKS CoreDNS 문제
- amazon web services - 개인 서브넷의 EKS 작업자 노드 인 경우 ELB OutofService
- C # 테스트 목적으로 만 창 형태의 이벤트 관련 개인 기능을 공개해야합니까?
- 개인 Azure 스토리지 컨테이너에 공개 Blob을 사용할 수 있습니까?
- amazon web services - 퍼블릭 서브넷을 사용하지 않고 프라이빗 서브넷에있는 SSH를 통해 EC2에 연결하는 방법은 무엇입니까?
Node.js로 HTTP 요청을 작성하면 다음과 같은 샘플 코드가 표시됩니다.
나는 그들이
port:
별도의 필드로 추가하는 대신hostname
.그러나 코드에는 다음이 표시됩니다.
제공 시도
hostname
과port
별도의 필드로.