Невозможно установить пакеты из репозитория Amazon на экземпляр AWS EC2 Ubuntu

У меня есть экземпляр EC2 на AWS, который содержит платформу Ubuntu.

Я не могу ничего установить из командной строки toolsudo apt-get install <package>

Результат выскакивает на экран, как

> ubuntu@ip-XX-XX-XX-XX:~$ sudo apt install awscli
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libuv1
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  docutils-common liblcms2-2 libpaper-utils libpaper1 libwebp5 libwebpmux1 python3-botocore python3-colorama python3-dateutil python3-docutils python3-jmespath python3-pil python3-pygments python3-roman
  python3-rsa python3-s3transfer
Suggested packages:
  liblcms2-utils texlive-latex-recommended texlive-latex-base texlive-lang-french fonts-linuxlibertine | ttf-linux-libertine docutils-doc python-pil-doc python3-pil-dbg ttf-bitstream-vera
The following NEW packages will be installed:
  awscli docutils-common liblcms2-2 libpaper-utils libpaper1 libwebp5 libwebpmux1 python3-botocore python3-colorama python3-dateutil python3-docutils python3-jmespath python3-pil python3-pygments
  python3-roman python3-rsa python3-s3transfer
0 upgraded, 17 newly installed, 0 to remove and 42 not upgraded.
Need to get 3,260 kB of archives.
After this operation, 28.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
0% [Connecting to us-east-1.ec2.archive.ubuntu.com (54.165.17.230)]
0% [Connecting to us-east-1.ec2.archive.ubuntu.com (54.165.17.230)]
0% [Connecting to us-east-1.ec2.archive.ubuntu.com (54.165.17.230)]
0% [Connecting to us-east-1.ec2.archive.ubuntu.com (54.165.17.230)]
Err:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 liblcms2-2 amd64 2.6-3ubuntu2
  Could not connect to us-east-1.ec2.archive.ubuntu.com:80 (54.152.129.43), connection timed out [IP: 54.152.129.43 80]

Err:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 python3-dateutil all 2.4.2-1
  Unable to connect to us-east-1.ec2.archive.ubuntu.com:http: [IP: 54.152.129.43 80]
..........
Err:14 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libwebp5 amd64 0.4.4-1
  Unable to connect to us-east-1.ec2.archive.ubuntu.com:http: [IP: 54.152.129.43 80]
Err:15 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libwebpmux1 amd64 0.4.4-1
  Unable to connect to us-east-1.ec2.archive.ubuntu.com:http: [IP: 54.152.129.43 80]
Err:16 http://security.ubuntu.com/ubuntu xenial-security/main amd64 python3-pil amd64 3.1.2-0ubuntu1.1
  Unable to connect to us-east-1.ec2.archive.ubuntu.com:http: [IP: 54.152.129.43 80]
Err:17 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 python3-pygments all 2.1+dfsg-1
  Unable to connect to us-east-1.ec2.archive.ubuntu.com:http: [IP: 54.152.129.43 80]
0% [Connecting to security.ubuntu.com (91.189.88.162)]packet_write_wait: Connection to 54.152.110.91 port 22: Broken pipe

Из вывода я понимаю, что репозиторий пакетов AWS Ubuntu не отвечает. Но при переходе по адресу репо в браузере он есть (но в нем нет пакетов).

Более того, я могу правильно установить пакеты узлов (npm install <module>). До того, как я попытался добавить балансировщик нагрузки в экземпляр, он работал нормально. Все это находится в процессе добавления сертификата ssl на мой сервер.

Может ли кто-нибудь четко объяснить, что делать для обеих проблем.

Спасибо, Аванс.


person chikku    schedule 14.05.2018    source источник
comment
Есть ли у этого экземпляра доступ в интернет?   -  person Michael - sqlbot    schedule 14.05.2018
comment
Да, я могу установить другие модули узла.   -  person chikku    schedule 14.05.2018
comment
Обычно пул/содержит пакеты. us-east-1.ec2.archive.ubuntu.com /ubuntu/ubuntu/pool пуст.   -  person Knud Larsen    schedule 14.05.2018


Ответы (2)


Наконец, я нашел, в чем проблема, группы безопасности, я отключил все исходящие http и разрешил только https. Как только я добавил все те, что в Outbound, это было решено.

Спасибо.

person chikku    schedule 15.05.2018

Экземпляры EC2 по умолчанию разрешают исходящий трафик, но другое программное обеспечение, такое как Terraform, отключает его по умолчанию. Если вы используете Terraform, решение состоит в том, чтобы добавить это в свою группу безопасности:

resource "aws_security_group" "instance" { 
  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

Кроме того, если вы еще не добавили группу безопасности в свой экземпляр или конфигурацию запуска:

security_groups = [aws_security_group.instance.id]
person xjcl    schedule 22.07.2020