Рубрики
Без рубрики

AWS CDK – Кодирование виртуальной машины в облаке

Пример Python CDK, который создает экземпляр EC2. Помечено с AWS, DevOps, Cloud, Python.

Я начал следить за новостями AWS CDK (Cloud Development Kit) и документацию на некоторое время. Обычно моя ленивая стратегия, когда запущен новый продукт AWS, я, наконец, решил, что хочу начать использовать его и создать что-то, что я знаком, а также нахожу полезным.

Один из моих любимых продуктов AWS – EC2 по нескольким причинам:

  • Compute является универсальным, у него есть возможность сделать много вещей с запущенным сервером Linux Отказ
  • Администрация EC2 в AWS может быть гораздо более упругой, есть несколько дополнений от диспетчера систем AWS, который мне нравится использовать:
    • Нет больше SSH!, AWS SSM предоставляет Менеджер заседаний Вместо этого это удобно веб-консоль, CLI и API.
    • Магазин параметра удобна для сохранения значений конфигурации в безопасном месте за пределами экземпляра.
  • Пользовательские данные для обеспечения, потому что какой-то скрипт Bash с несколькими командами всегда получает работу.
  • Эластичные IPS (также известный как публичный IP), вероятно, самый простой способ подключения вашего приложения в Интернет!
  • Amazon Linux 2, еще одна вещь, чтобы беспокоиться о том, что AWS поддерживает красную/тоце, как распределение.
  • Все вкусности EBS и снимков.
  • Спочные экземпляры, поскольку запущенность ваших серверов может быть действительно доступным, если ваш сервис достаточно умный, чтобы обрабатывать прерывания.

Итак, я решил развернуть один экземпляр из Python Code с использованием CDK со всеми прохладительными вещами AWS, чтобы легко управлять примерно в 60 линиях кода.

Это фрагмент того, что вы собираетесь найти, Создание экземпляра :

        instance = ec2.Instance(self, "Instance",
            instance_type=ec2.InstanceType("t3.nano"),
            machine_image=amzn_Linux,
            vpc = vpc,
            role = role
            )

Одна общая проблема при использовании Пользовательские данные Чтобы установить программное обеспечение, которое в конечном итоге он попадает в предел, активы CDK позволяет вызывать этот скрипт из отдельного файла, а также обрабатывает управление активами в S3 для нас.

        asset = Asset(self, "Asset", path=os.path.join(dirname, "configure.sh"))
        local_path = instance.user_data.add_s3_download_command(
            bucket=asset.bucket,
            bucket_key=asset.s3_object_key
        )

        instance.user_data.add_execute_file_command(
            file_path=local_path
            )

Это полный код примера для получения этого экземпляра и работает:

Пример кода экземпляра EC2

Я надеюсь, что это дает вам представление о том, насколько мощный CDK с точки зрения Описание инфраструктуры и количество времени, которое сохраняет, если вы, где используете Python SDK или CloudFormation ранее.

Оригинал: “https://dev.to/aws-builders/aws-cdk-coding-a-virtual-machine-in-the-cloud-9de”