Поиск по сайту:

Как использовать Cloudformation для создания корзины S3


На этой странице

  1. Предварительные условия
  2. Что будем делать?
  3. Войти в AWS
  4. Создать шаблон
  5. Создание стека Cloudformation
  6. Удалить стек Cloudformation
  7. Заключение

Существует несколько способов создания корзины S3 на AWS. Формирование облака — это один из способов использования инфраструктуры как кода (IaC), с помощью которого вы можете создать корзину, а также получить свой код и поделиться им с другими. Прежде чем мы продолжим, я предполагаю, что вы знаете о корзине S3 и Cloudformation AWS Services. Если вы не знакомы с S3, я бы порекомендовал вам сначала выполнить шаги по созданию корзины S3 с помощью консоли AWS. Нажмите здесь, чтобы прочитать статью о создании корзины S3 из консоли AWS.

В этой статье мы рассмотрим несколько доступных в Cloudformation вариантов создания корзины S3. Чтобы узнать, какие варианты доступны в Cloudformation для создания корзины S3, посетите официальную страницу AWS здесь.

Предпосылки

  1. Аккаунт AWS (создайте, если у вас его нет).
  2. Основное понимание шаблонов Cloudformation.
  3. Основные сведения о сегментах S3.

Что мы будем делать?

  1. Войдите в AWS.
  2. Создайте шаблон.
  3. Создайте стек Cloudformation.
  4. Удалите стек Cloudformation.

Войти в АВС

Нажмите здесь, чтобы перейти на страницу входа в AWS. Введите свои учетные данные пользователя, чтобы войти в свой аккаунт AWS.

После успешного входа в свою учетную запись AWS вы увидите консоль управления AWS, как показано ниже.

Создать шаблон

Прежде чем мы приступим к созданию стека, создайте файл в вашей локальной системе со следующим содержимым.

Вы даже можете скачать шаблон из моего репозитория Github, ссылка на шаблон указана ниже.

AWSTemplateFormatVersion: '2010-09-09'
Metadata: 
  License: Apache-2.0
Description: 'AWS CloudFormation Template to create an S3_Website_Bucket_With_Retain_On_Delete'
Parameters:
  BucketNameParameter:
    Type: String
    Description: Bucket Name
Resources:
  S3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Ref BucketNameParameter
      AccessControl: PublicRead
      WebsiteConfiguration:
        IndexDocument: index.html
        ErrorDocument: error.html
    DeletionPolicy: Retain
Outputs:
  WebsiteURL:
    Value: !GetAtt [S3Bucket, WebsiteURL]
    Description: URL for website hosted on S3
  S3BucketSecureURL:
    Value: !Join ['', ['https://', !GetAtt [S3Bucket, DomainName]]]
    Description: Name of AWS S3 bucket to hold website content

Создайте стек Cloudformation

После того, как у вас есть шаблон на локальном компьютере, перейдите на главную панель инструментов AWS, щелкните службы в левом верхнем углу экрана и выполните поиск «Cloudformation». Нажмите на полученный результат Cloudformation.

Вы увидите главную панель инструментов Cloudformation. У меня уже есть один стек в аккаунте под выбранным регионом.

Чтобы создать стек, нажмите «Создать стек» -> «С новыми ресурсами (стандартно)».

Выберите опцию \Загрузить файл шаблона\ и выберите шаблон с вашего локального компьютера. Нажмите кнопку \Далее\, чтобы продолжить.

Укажите имя для стека, а также укажите имя для корзины S3, которую нужно создать. Убедитесь, что указанное вами имя уникально во всем мире, и ни одно другое ведро не имеет такого же имени по всему миру на AWS. Нажмите кнопку \Далее\, чтобы продолжить.

Теги являются необязательными, их можно указывать или не указывать. Чтобы продолжить, нажмите кнопку \Далее\.

Прокрутите страницу вниз и нажмите кнопку «Создать стек», чтобы создать корзину S3 с помощью стека Cloudformation.

Если имя, которое вы указали для корзины, уникально и ни одна другая корзина не имеет такого же имени во всем мире на AWS, ваша корзина будет создана, и после успешного создания вы увидите статус \CREATE_COMPLETE\.

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

На панели инструментов S3 вы увидите, что ваша корзина S3 создана.

Удалить стек Cloudformation

Мы знаем, что при удалении стека Cloudformation удаляются созданные им ресурсы. На этот раз немного по-другому.

Теперь, если вы вернетесь и проверите код, который есть в нашем шаблоне, вы заметите, что у нас есть \DeletionPolicy: Retain\. Благодаря этой опции ваше ведро не будет удалено, даже если вы удалите стек.

Тем не менее, если вы хотите удалить стек, нажмите кнопку «Удалить».

Подтвердите действие удаления на всплывающем экране, который вы получите.

После удаления стека вы увидите статус \STACK_DELETE\.

Как я упоминал ранее, благодаря параметру \DeletionPolicy: Retain\ стек будет удален, но сегмент S3 останется.

Вы можете вернуться на панель инструментов S3 и увидеть, что ваша корзина S3 по-прежнему доступна в вашем аккаунте.

Заключение

В этой статье мы увидели, как легко создать корзину S3 с помощью стека Cloudformation. Мы можем использовать один и тот же стек для создания нескольких корзин S3. Мы даже можем хранить наш код в системах контроля версий и делиться им с другими людьми. Мы видели, как параметр \DeletionPolicy: Retain\ сохраняет корзину и не удаляет ее, даже если удаляется стек.