Я новичок в Amazon EC2.Я пытался вставить в Mongo экземпляр Amazon EC2 из другого экземпляра EC2, на котором размещен веб-сервер.
Мой код:
<?php
$m = new Mongo("mongodb://test:test@<ec2 internal ip of MongoDB instance:27017>/mydb");
$db = $m->mydb;
$ac = $db->test_collection;
try {
// In the following line, instead of "save()", if I try to
// access the collection using cursor and then iterate through,
// it fetches the data without any problem.
$ret = $ac->save(array("name"=>"Mouli")); // fails here
echo "All set.";
}
catch(MongoCursorException $e) {
echo "M Error:"; echo $e->getMessage();
}
catch(Exception $e) {
echo "Error:";echo $e->getMessage();
}
Несколько баллов:
- Приведенный выше код прекрасно работает, если я пытаюсь запустить с моего компьютера разработчика, используя общедоступный ip, который Amazon выдал нам для подключения к экземпляру MongoDB.
- Кроме того, попробовал тот же код с экземпляра EC2 веб-серверас публичным и внутренним IP;чтение работает в обоих случаях, но сохранить не удается.
Порт 27017 обновлен в группах безопасности.
Не уверен, что для записи в какую-либо конкретную настройку необходимо позаботитьсяБД из другого экземпляра EC2, так как чтение отлично работает для этого сценария.
Ваша помощь очень ценится.