Команда Curl для копирования файла. sh из местоположения AWS S3 - PullRequest
0 голосов
/ 04 августа 2020

Что такое команда curl (в файле .config) для копирования файла. sh из корзины AWS S3. Чтобы скопировать файл установщика Fluent из расположения S3 и установить его в экземпляре EC2

, мне нужно заменить команду ниже на

curl -L https://toolbelt.treasuredata.com/sh/install-amazon1-td-agent3.sh

копировать из локации S3

1 Ответ

0 голосов
/ 04 августа 2020

Я предполагаю, что вы имеете в виду файл .config, который будет развернут с чем-то вроде Elasti c Beanstalk.

Во-первых, я настоятельно рекомендую отключить ведро publi c доступность, если это конфиденциальные данные.

Во-вторых, для этого процесса вы должны создать новую политику IAM (или новую роль) с доступом к указанному файлу c в вашей корзине. хочу скопировать. Опять же, я предполагаю, что для этого ответа используется Elasti c Beanstalk.

Elasti c Среды Beanstalk запускаются с ролью по умолчанию с именем:
"aws-elasticbeanstalk-ec2-role".

Вот пример политики, которую вы можете создать, а затем присоединить к роли:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": ["s3:GetObject"],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::your-bucket-name/your-file.txt"
            ]
        }
    ]
}

В этом случае содержимое файла .config должно быть следующим:

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["your-bucket-name"]
          roleName: "aws-elasticbeanstalk-ec2-role"

files:
  "/path/to/your-file.txt" :
    mode: "000644"
    owner: root
    group: root
    authentication: "S3Auth"
    source: https://s3.REGION.amazonaws.com/your-bucket-name/your-file.txt

Замените:

  • REGION регионом вашего сегмента,
  • your-bucket-name именем сегмента,
  • your-file.txt именем вашего файла.

Что это делает

.config файлы запускаются перед инициализацией и, следовательно, позволяют вам делать что-то до запуска вашего кода.

Код здесь создает новый файл в экземпляре, в котором он развернут, и копирует содержимое из целевого объекта в корзину S3.

Таким образом, этот файл существует до запуска вашего собственного кода, и вы можете безопасно использовать его во время выполнения.

...