私はAWS上みとめEC2のノードを作成するために、テラフォームを使用しています:terraform + apt-getが断続的に失敗するのはなぜですか?
resource "aws_instance" "myapp" {
count = "${var.count}"
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "m4.large"
vpc_security_group_ids = ["${aws_security_group.myapp-security-group.id}"]
subnet_id = "${var.subnet_id}"
key_name = "${var.key_name}"
iam_instance_profile = "${aws_iam_instance_profile.myapp_instance_profile.id}"
connection {
user = "ubuntu"
private_key = "${file("${var.key_file_path}")}"
}
provisioner "remote-exec" {
inline = [
"sudo apt-get update",
"sudo apt-get upgrade -y",
"sudo apt-get install -f -y openjdk-7-jre-headless git awscli"
]
}
}
私は、カウント= 4言うと、これを実行すると、いくつかのノードが断続的のようなapt-getのエラーで失敗する:
aws_instance.myapp.1 (remote-exec): E: Unable to locate package awscli
他の3つのノードはawscliをうまく見つけました。今度はすべてのノードが同じAMIから作成され、まったく同じプロビジョニングコマンドを使用しますが、なぜそれらの一部だけが失敗するのでしょうか?より多くの可能性が高い同一ではありませんAmazonでのAMIの
- 複数のコピー、同一ではない
- 複数のapt-getのミラー
:変動は、潜在的から来るだろうか?私が行方不明の他の可能性?
プロビジョニングをより反復可能にするapt-get "force"タイプフラグがありますか?
スクリプトを使用して、プロビジョニングの自動化の全体のポイントは、ノード間のばらつきのこの種のを避けるためです:/
は私のために動作するようです。 – RaGe