Amazon EC2에서 yum install 이나 yum update 등 yum 명령어 수행 시, 다음과 같이 timeout 및 error가 나는 경우가 있다.



One of the configured repositories failed (Unknown),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:

 1. Contact the upstream for the repository and get them to fix the problem.

 2. Reconfigure the baseurl/etc. for the repository, to point to a working
    upstream. This is most often useful if you are using a newer
    distribution release than is supported by the repository (and the
    packages for the previous distribution release still work).

 3. Disable the repository, so yum won't use it by default. Yum will then
    just ignore the repository until you permanently enable it again or use
    --enablerepo for temporary usage:

        yum-config-manager --disable <repoid>

 4. Configure the failing repository to be skipped, if it is unavailable.
    Note that yum will try to contact the repo. when it runs most commands,
    so will have to try and fail each time (and thus. yum will be be much
    slower). If it is a very temporary problem though, this is often a nice

        yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

 Cannot find a valid baseurl for repo: amzn-main/latest


 이 경우, EC2가 yum 서버와의 통신을 못해서 문제가 발생한 것이다.

 즉, EC2가 Internet과 연결을 못한다는 의미이며, EC2가 속한 VPC에 NAT Gateway가 설정되어 있는지 확인하면 된다.


 해결 방법은 2가지 이다.

 - VPC에 NAT Gateway를 추가한다.


- EC2를 NAT Gateway가 있는 VPC에 다시 생성한다.