web-dev-qa-db-ja.com

Amazon EC2インスタンスに最も類似した浮浪者ボックス

Amazon EC2インスタンスで使用可能なLinuxバージョンとパッケージを厳密に反映する、Vagrantでダウンロードできる「ボックス」はありますか?

私はVagrantを使用してローカルでテストしています。現在はPrecise32ボックスを使用しています。 'Amazon Linux AMI 2013.03' AMIを使用して、Amazon EC2インスタンスにコードをデプロイしています。

私が直面している問題は、Precise32ボックスにインストールできるパッケージの名前が異なることです。

  • php5-fpm-浮浪者の箱の中
  • php54-fpm-Amazon EC2インスタンス内。

Puppet構成ファイルの変数を使用してさまざまなパッケージ名を処理することでこれを修正できますが、これは少しハックのように聞こえます。

したがって、Amazon EC2環境を厳密に反映する利用可能な迷惑な箱はありますか?.

それとも、Amazon EC2インスタンスと同じパッケージソースを使用するように迷惑なボックスに指示することは可能ですか?

明確にするために、これを行いたいのは、最初にすべてをコミットする必要なしにローカルでテストできるようにするためです。 VagrantはプロバイダーとしてAWSをサポートしていますが、実際にはローカルでテストすることはできません。

37
Danack

いいえ、EC2の外部でAmazon Linuxを使用する方法はありません。 Red Hat Enterprise Linux派生物(Amazon Linuxです)を使用する場合は、VagrantとEC2の両方でCentOS 6を使用することをお勧めします。多くのCentOSベースボックス here があり、公式のAMIがリストされています here

11
sciurus

注:この回答は、「Amazon Linux」の迷惑なボックスを見つけることに関するものではありません。この答えは、元の投稿者が、たまたまUbuntuであるdevと同じシステムを本番環境で使用するという目標を解決するのに役立つことです。以下のコメントでわかるように、OPはこれが彼の問題を解決することに同意しました。


Canonicalは、EC2上の公式のUbuntu AMIと対応する公式のVagrantボックスをダウンロード用に提供しています。

Ubuntu 12.04 Preciseの場合、AMIは次の場所にリストされます

http://cloud-images.ubuntu.com/precise/current/

vagrantボックスは、

http://cloud-images.ubuntu.com/vagrant/precise/current/

これを使用して、ローカルで開発で使用しているのと同じEC2の基本構成で開始できます。

19
Eric Hammond

2017年12月13日、Amazonは Amazon Linux 2 をリリースしました。これにより、AmazonはVirtualBox、VMWare、MS Hyper-Vで実行されるダウンロード可能なイメージを提供します。

これ以前は、 Amazon ECS Dockerイメージ を使用するオプションがありました。これは、v1とv2の両方で引き続き利用できます。

Amazon Linux 2をオンプレミスの仮想マシンとして実行 をご覧ください。

誰かが迷惑な箱をすぐに公開するのではないかと思います。中間では、自分で ベースボックスを作成 するのはかなり簡単です。

7
Mike D

また、一見する価値があります http://www.packer.io これは、外部の浮浪者とまったく同じAMIイメージを提供するために使用できます。

4
digitaladept

Amazon LinuxはRedhat/CentOSに基づいているため、ローカルで実行した場合、名前はより厳密に一致します。

Debian/UbuntuベースのLinux OSは、パッケージ名を変更します。開発パッケージのサフィックスとして「devel」ではなく「dev」。

ところで、Amazon Linuxインスタンスで「rpm -qa」の出力をチェックアウトして、CentOS/Redhatパッケージ名と一致するように変更してから、Amazonに厳密に一致する独自のOSバージョンを作成することを検討してください。

2
Bob Roberts

2017年現在、はい。

Vagrantボックスの名前はmvbcoding/awslinux Vagrantクラウドでホストされます(他のすべてのパブリックVagrantボックスと同様)。

次のコマンドでボックスを起動できます。

vagrant init mvbcoding/awslinux; vagrant up --provider virtualbox
1
eneset