サーバー自体から Rackspace Cloud サーバーに関する情報を見つけるにはどうすればよいですか?
Amazon AWS にはそれがあり、ここに文書化されています: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html?r=7479
サーバー自体から Rackspace Cloud サーバーに関する情報を見つけるにはどうすればよいですか?
Amazon AWS にはそれがあり、ここに文書化されています: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html?r=7479
Rackspace Cloud Server APIを使用できます:http ://www.rackspace.com/cloud/cloud_hosting_products/servers/api/
ここにPythonの実装があります:http://packages.python.org/python-cloudservers/
または、コマンドラインツールも非常に便利です:http://jsquaredconsulting.com/blog/2010/11/rscurl-a-rackspace-cloud-server-command-line-tool/
これが最も実用的なリンクです/\
アプリケーション コードから、ここ (C# の場合) で説明されているような手法を使用して、ローカル サーバーの独自の外部 IP アドレスを見つけることができます: https://stackoverflow.com/a/1069113/12484
次に、IP アドレスを取得したら、Rackspace Cloud API を使用してすべてのアクティブなサーバーのリストをクエリし、一致する IP アドレスを持つサーバーの情報を取得できます。サンプル コード (C#、OpenStack.net SDKを使用):
CloudIdentity cloudIdentity = new CloudIdentity { APIKey = API_KEY, Username = USERNAME };
CloudServersProvider provider = new CloudServersProvider(cloudIdentity);
IEnumerable<Server> servers = provider.ListServersWithDetails(region: REGION);
foreach (Server server in servers)
{
if (server.AccessIPv4 == ipAddress)
{
Console.Out.WriteLine("Server ID:" + server.Id);
Console.Out.WriteLine(" Flavor: " + server.Flavor.Name);
Console.Out.WriteLine(" Image: " + server.Image.Name);
Console.Out.WriteLine(" PowerState: " + server.PowerState.Name);
Console.Out.WriteLine(" Status: " + server.Status.Name);
Console.Out.WriteLine(" UserId: " + server.UserId);
break;
}
}
USERNAME
上記のコードの、API_KEY
、およびREGION
は、独自の Rackspace Cloud アカウントの実際の値に置き換える必要があります。