LoginSignup
0
0

AWS CloudFormation とは?

概要

AWS CloudFormation は、AWS リソースをコードとして管理するためのサービスです。インフラストラクチャをテンプレートファイル(YAML または JSON 形式)で定義し、そのテンプレートを使用して AWS リソースをプロビジョニング、更新、削除することができます。

主な機能

  • テンプレートベースの管理
    • インフラストラクチャをテンプレートファイルで定義することで、再現性のある環境を簡単に作成できます。
  • スタック
    • テンプレートを使用して作成されたリソースの集合を「スタック」と呼びます。スタック単位でリソースの管理が可能です。
  • 依存関係の管理
    • リソース間の依存関係を自動的に解決し、正しい順序でリソースを作成します。
  • 変更セット
    • スタックの更新前に変更内容をプレビューできる「変更セット」を作成し、リスクを最小限に抑えます。
  • ロールバック
    • スタックの作成や更新が失敗した場合、自動的にロールバックして前の状態に戻します。

利用例

  • インフラストラクチャの自動化
    • 開発、テスト、本番環境のインフラストラクチャを自動化し、一貫性を保つことができます。
  • 継続的デリバリー
    • CI/CD パイプラインに組み込むことで、インフラストラクチャの変更を自動的にデプロイできます。
  • 複数環境の管理
    • 同じテンプレートを使用して、異なる環境(開発、ステージング、本番)に同一のインフラストラクチャをデプロイできます。

テンプレートの例

以下は、シンプルな EC2 インスタンスを作成する CloudFormation テンプレートの例です。

CloudFormation Templateファイル

AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
  MyEC2Instance: #An inline comment
    Type: "AWS::EC2::Instance"
    Properties: 
      ImageId: "ami-0ff8a91507f77f867" #Another comment -- This is a Linux AMI
      InstanceType: t2.micro
      KeyName: testkey
      BlockDeviceMappings:
        -
          DeviceName: /dev/sdm
          Ebs:
            VolumeType: io1
            Iops: 200
            DeleteOnTermination: false
            VolumeSize: 20

このテンプレートは、t2.micro タイプの EC2 インスタンスを作成します。ImageId には Amazon Linux 2 の AMI ID を指定し、KeyName には事前に作成したキーペアの名前を指定します。

まとめ

AWS CloudFormation を使用することで、インフラストラクチャの管理が効率化され、手動による設定ミスを防ぐことができます。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0