web-dev-qa-db-ja.com

Amazon EC2インスタンスはyumを更新または使用できません

LAMPサーバーのインストール についてAmazonのチュートリアルを使用しています。最初のいくつかの手順ではyumを使用しますが、私がやろうとしたすべての方法で同じメッセージが表示されます。同じ問題に関する最近の質問をいくつか見つけましたが、どれも私の設定に何も変わりません。

メッセージは次のとおりです。

Loaded plugins: priorities, update-motd, upgrade-helper
Could not retrieve mirrorlist http://repo.us-east-1.amazonaws.com/latest/main/mirror.list error was
12: Timeout on http://repo.us-east-1.amazonaws.com/latest/main/mirror.list: (28, 'Connection timed out after 10001 milliseconds')


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
    compromise:

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

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

同じチュートリアルを使用して、問題にぶつかることなく、これと同じことを以前に実行しましたが、それは数か月前でした。何が変わったのか分かりませんが、私のわずかな経験が原因でそれを理解できません。

38

ホストがyumサーバーへの接続に問題があるようです。インスタンスにアウトバウンドインターネットアクセスがあることを確認します(セキュリティグループなどを確認します)。インスタンスがVPCにあり、セキュリティグループが適切に見える場合は、NATアプライアンスを使用するか、エラスティックIPを接続する必要があります。

がんばろう-

37
chadneal

VPCにS3エンドポイントがある場合、リポジトリファイルがS3に保存されるため、これによりyumが失敗します。これを修正するには、次のポリシーをS3に追加します。

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Principal": "*",
        "Action": "*",
        "Resource": [
            "arn:aws:s3:::repo.eu-west-1.amazonaws.com",
            "arn:aws:s3:::repo.eu-west-1.amazonaws.com/*"
        ]
    }
]
}

Eu-west-1を、S3エンドポイントが属する関連する地域コードに置き換えます。

16
phill.tomlinson

Amazon EC2の多くの初めてのユーザーがこの問題に遭遇します。私の経験では、通常、インスタンスのセキュリティグループに許可された発信接続を設定していない結果です。 AmazonがAmazon Linuxインスタンスを構成するために持っているチュートリアルでは、着信接続の設定についてのみ言及しているため、許可された発信接続を設定しないことを忘れがちです。任意のIPアドレスへのHTTPおよびHTTPSリクエストを許可するだけで問題が解決するはずです。

8
davetw12

同じ問題があり、名前解決に関連していました。次を使用して修正しました。

EC2インスタンスにはパブリックDNSがありません

これはマットからの良い説明です:

  • Console.aws.Amazon.comにアクセスします
  • 移動サービス-> VPC
  • 開くVPC
  • VPCを選択してEC2に接続し、
  • 編集概要---> DNSホスト名の変更:YES
5
Valladão

作成した可能性のあるものと一緒にデフォルトのセキュリティグループを割り当てるだけです。これで私の問題は解決しました。 ;)

3

チャドニールのコメント付き。 DNS ResolutionYesに設定する必要があります。

  • Console.aws.Amazon.comにアクセスします
  • 移動サービス-> VPC
  • 開くVPC
  • VPC EC2に接続を選択します
  • DNS解決の編集をクリックして設定しますはい
1
Yoonian

これは単純なエラーであると心配しないでください。これもインターネットに接続していません。

viエディターで新しいファイルを作成するだけです:

vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

そして、これを入力してviを終了します::wq

0
user10944771

また、DNSを機能させることができない場合は、DHCPオプションセットを確認してください。古いものをそのまま残していましたが、Active Directory統合を含むプロジェクトをクリーンアップしたときに壊れました。答えは、元の/保存されたオプションに戻すことです。

0
Kent L. Estes

次のコマンドをSudoで実行し(rootでない場合はyumを単独で実行できません)、問題を修正しました。

yum-config-manager --save --setopt=dev.mysql.com_downloads_repo_yum_.skip_if_unavailable=true

0
EC2newbie

質問で説明したのと同じyumのエラーメッセージが表示されていました。私の場合、すべての発信トラフィックを許可するが、着信トラフィックをHTTP/HTTPS、SSH、およびすべてのICMPに制限するNACLがありました。 NACLはステートレスであるため、yumが使用する着信エフェメラル接続は明示的に許可されず、したがってドロップされたため、yumの実行は失敗しました。

0
logan5

同じ問題が発生しましたが、問題はセキュリティグループまたはNACLではありませんでした。

背景:Route53を介してドメイン名を追加しました。ドメイン名は、引き続きDiscountASP.netでホストされます。 VPCは手動で作成されました(ウィザードもデフォルトもありません)。ドメイン名と、Route53から与えられた4つのサーバーIPアドレスを使用してDHCPオプションセットを作成しました。

分析:まず、問題がセキュリティグループでもNACLでもないことを証明する必要がありました。これを行うには、デフォルトのDHCPオプションセットを新しいVPCにアタッチします。出来た! yumの更新と「curl http://www.google.com 」を実行できました。問題ない。

次に、ドメイン名とGoogle DNSサーバーを使用して、新しいDHCPオプションセットを作成しました。 8.8.8.8および8.8.4.4これも機能しました。

次に、Route 53が提供する4つのDNSサーバーIPのうち1つを取得し、新しいDHCPオプションセットでドメイン名とともに使用しました。テストを実行しましたが失敗しました。残りの4つのDNSサーバーIPのうち2つで同じテストを繰り返し、2つの個別のDHCPオプションセットを作成しました。テストを実行しましたが、両方とも失敗しました。

ドメイン名のスペルをチェックした後、問題はドメインネームサーバーだけであると結論付けることができました。

ソリューション:Amazon Virtual Private Cloudユーザーガイド(PDFページ222)Amazon DNSサーバー(サブトピック)

」VPCを作成すると、DHCPオプションのセットが自動的に作成され、VPCに関連付けられます。このセットには、domain-name-servers = AmazonProvidedDNS、およびdomain-name = domainname- for-your-region。AmazonProvidedDNSはAmazon DNSサーバーであり、このオプションは、必要なインスタンスのDNSを有効にしますVPCのインターネットゲートウェイを介して通信する文字列AmazonProvidedDNSは、VPC IPv4ネットワーク範囲のベースで予約されたIPアドレスで実行されているDNSサーバーに2を加えたものです。 10.0.0.0/16ネットワークは10.0.0.2にあります。 "

221ページから:DHCP:domain-name-servers

オプション名説明 "最大4つのドメインネームサーバーのIPアドレス、またはAmazonProvidedDNS。デフォルトのDHCPオプションセットはAmazonProvidedDNSを指定します。複数のドメインネームサーバーを指定する場合は、カンマで区切ります。 "

参照するIPアドレスは、外部ドメインネームサーバー用です(カスタムDNSを作成した可能性を除く)。

そこで、ドメイン名とdomain-name-servers =AmazonProvidedDNSを使用して、最終的なDHCPオプションセットを作成しました。出来た!ところで、VPC DNS解決=はい&DNSホスト名=いいえ。

0
Ananize Scott

同じ問題がありました。私の場合、セキュリティグループの送信規則を誤って削除しました。すべてのトラフィックを許可するアウトバウンドルールを追加して、問題を解決しました。

0
Gaurav Seth

割り当てられたセキュリティグループから送信エントリが削除/変更されているかどうかを確認します。通常、送信エントリは「すべてのトラフィック」に設定され、すべてのIPを許可します。

私の場合、アウトバウンドは削除されました。再び「すべてのトラフィック」に設定すると、正常に機能します。

0
Amit baderia

私は同じ問題を抱えていたため、別のシステム管理者がプロキシ経由でアウトバウンドのインターネットトラフィックをルーティングすることに決めたことがわかりました。いくつかの使い古されたプロキシenv設定に気付いてこれを見つけ、少し深く掘り下げて、/ etc/yum.confファイルにエントリがあることに気付きました。

Proxy =行をコメント化し、すべてが再び機能しました。

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
#proxy=http://pos-proxy-in-my-way-of-doing-actual-real-work:666
0
ElasticThoughts

この問題は、セキュリティグループとNACLの両方のレベルで発生する可能性があります。私の場合、セキュリティグループを変更した後でも、更新が失敗することがわかりました。ただし、NACLが変更されたとき..更新は成功しました

0
Ambar Hassani

以下の手順に従ってください

ステップ1:AWS-VPCに移動します

ステップ2:DHCPオプションを見つける

ステップ3:[〜#〜] dhcp [〜#〜]オプションがない場合、新しいオプションを作成します[〜#〜] dhcp [〜#〜]

ステップ4:domaine name = ap-south-1.compute.internalを追加します(他の地域を使用している場合は、他の地域名を使用してください)

ステップ5:ドメインネームサーバーを追加する= AmazonProvidedDNS

ステップ6:次に、[〜#〜] vpc [〜#〜]-> actions-> DHCPオプションセットの編集を選択します-> 作成したばかりのDHCPセットを選択-> 保存

ステップ7:次にインスタンスを再起動します

ステップ8:インスタンスにログインする次にyum list installedを入力するだけ->間違いなくインストール済みのもののリストが表示されます

ありがとう

0
sachin_ur