2

我有使用userdata屬性包含兩個實例的cloudformation模板。如何使用cloudformation模板獲取userdata的輸出值?

我需要從一個實例的userdata中獲取數據並傳遞給另一個實例userdata。

例如(從下面),需要從instance1中獲取「test」,並傳遞給instance2 userdata。

樣模板:

"instance1": { 
    "Type": "AWS::EC2::Instance", 
    "Properties": { 
"UserData": { 
     "Fn::Base64": { 
     "Fn::Join": [ 
      "", 
      [ 
      "#!/bin/bash\n", 
      "set -x\n", 
      "echo test\n", 
      ]]}}}}, 

"instance2": { 
    "Type": "AWS::EC2::Instance", 
    "Properties": { 
"UserData": { 
     "Fn::Base64": { 
     "Fn::Join": [ 
      "", 
      [ 
      "#!/bin/bash\n", 
      "set -x\n", 
      //fetch the value 
      ]]}}}}, 
+0

你的意思是要獲取數據從運行時的instance1? (即當實例正在運行時) – spg

+0

感謝您的回覆。 是@spg。在配置基礎設施時。 – Prakash26790

回答

2

基本上,你有2種選擇:

  1. 使用某種形式的共享內存(ElastiCache,RDS,S3 ....)
  2. scp/ssh直接到另一個實例並獲取您需要的信息。

我會建議使用例如S3共享內存:

在實例1:

echo "test" > /tmp/myfile 
aws s3 cp /tmp/myfile s3://<bucket>/myfile 

在實例2:

aws s3 cp s3://<bucket>/myfile /tmp/myfile 
cat /tmp/myfile 
相關問題