2017-12-23 3 views
0

인스턴스 수가 x 인 AWS로드 균형 설정에서 호스팅되는 ASP.Net 핵심 애플리케이션이 있습니다.ASP.NET 코어에서 EC2 인스턴스 ID에 어떻게 액세스합니까?

I 웹 페이지의 맨 아래에 요청을 실제로 제공하는 EC2 인스턴스를 어떻게 표시 할 것입니까?

이것을 구현할 수있는 Nuget 패키지 또는 편리한 API 솔루션이 있습니까?

2009 유래에 대한 질문이 있습니다 : 내가 이것을 달성하기 위해 Nuget 패키지 또는 솔루션과 같은 API 기대했다 인스턴스 ID

을 얻을 수 http://169.254.169.254/latest/meta-data/instance-id 전화를 wget과를 사용하여 솔루션을 제공 Find out the instance id from within an ec2 machine.

업데이트 - 솔루션

AWSSDK.Core (.NET에 대한 아마존 웹 서비스 SDK - 핵심 런타임) 내가 필요한 정보에 깨끗한 컷 액세스 할 수있는 InstanceID에의 때에 프로퍼티가있는 Amazon.Util.EC2InstanceMetadata 클래스가 있습니다.

올바른 방향으로 나를 가리켜 주셔서 감사합니다 rodrigo-m.

+3

이 필요합니다. [ec2 머신에서 인스턴스 ID를 찾으십시오.] (https : // stackoverflow.com/questions/625644/ec2-machine에서 인스턴스 ID 찾기) – Set

+0

이 정보에 액세스하기위한 AWS API 액세스가 없습니까? –

+0

가능한 [ec2 컴퓨터에서 인스턴스 ID 찾기] (https://stackoverflow.com/questions/625644/find-out-the-instance-id-from-within-an-ec2-machine) –

답변

2

ASP.NET의 EC2Metadata 헬퍼 클래스는 문서에서는이 유틸리티 클래스는 EC2 인스턴스 메타 데이터에 쉽게 액세스를 제공하는 방법에 대해 설명 2013 년이 AWS Developer Blog에 발표되었다 :

몇 달 전 우리는 도우미 유틸리티를 추가 SDK에 EC2Metadata라고 부릅니다. EC2 인스턴스 메타 데이터에 편리하게 액세스 할 수있는 클래스입니다. 이 유틸리티는 대부분의 인스턴스 데이터를 고정 문자열과 일부 복잡한 데이터를 .NET 구조로 나타냅니다. 이 클래스로

string instanceId = EC2Metadata.GetData("/instance-id"); 
Console.WriteLine("Current instance: {0}", instanceId); 

: 예를 들어, 다음 코드 샘플은 현재 EC2 인스턴스의 아이디 및 네트워크 인터페이스 ...

기사는 그것의 사용에 대한 예제를 제공을 검색 할 수있는 방법을 보여줍니다를 사용

  1. : 검색 및 ASP.NET 핵심 응용 프로그램의 EC2 인스턴스 ID를 저장하기 위해 다음과 같은 방법을 사용하는 것이 좋습니다API의 경우 EC2 Instance Metadata class으로 전화하십시오. EC2Metadata 클래스는 InstanceId 속성을 노출합니다.이 속성은 현재 인스턴스의 인스턴스 ID를 반환합니다.

  2. 응용 프로그램의 응용 프로그램 범위에 인스턴스 메타 데이터를 저장하여 응용 프로그램 시작시 으로 초기화 한 다음 필요한 경우 클라이언트 나 응용 프로그램 로그에 표시하도록 참조하십시오. Introduction to session and application state in ASP.NET Core을 참조하십시오. 응용 프로그램의 범위를 사용

, 당신은 단지 응용 프로그램 초기화에 한 번이 데이터를 검색해야합니다. 이 응용 프로그램 범위 데이터는 응용 프로그램의 수명 동안 지속됩니다.

관련 문제