DEVELOPER BLOG

開発者ブログ

HOME > 開発者ブログ > 【AWS入門】Infrastructure as Codeとは? - PrismScaler

【AWS入門】Infrastructure as Codeとは? - PrismScaler

1. はじめに

こんにちは!株式会社Definerのライターチームです! 今回は、タイトルの通り「AWSのInfrastructure as Code」について気になりますよね。 実際の画面や、資源を見ながら詳しく解説していきましょう。

2. 目的・ユースケース

この記事では、「クラウドリソースをコード管理する」という目的に向けて、Cloudformationという技術を活用します。 ITの現場で、Cloudformationを使ってAWSリソースをInfrastructure as Code(IaC)管理したいときに、参考になる情報やプラクティスをまとめています。

3. Infrastructure as Codeの概要

Infrastructure as Code(IaC)とは、インフラやその設定をコード化し、作成・管理することです。 従来のAWSコンソール上で手動でリソースを作成する方法ではなく、インフラ設定をコードに落とし込み、リソース作成を自動実行します。 IaCを使うと、コード化されているため、人為的なミスの削減や開発スピードの向上が見込まれます。 AWSには、Cloudformation(Cfn)というIaCサービスが存在します。 Cloudformationは、yamlまたはjson形式でリソースを記載することができ、スタックと呼ばれるCloudformationの単位と、記載したリソースが1:1対応します。

4. Cloudformationの構成ファイルを作成してみる

早速、Cloudformationを使ってVPCを作成してみます。 以下は、json形式でVPCを記載しました。   コメントアウトができないのが辛いところです。
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "definer-vpc-test",
  "Resources": {
    "VPC": {
      "Type": "AWS::EC2::VPC",
      "Properties": {
        "CidrBlock": "172.16.0.0/16",
        "EnableDnsSupport": true,
        "EnableDnsHostnames": true,
        "Tags": [
          {
            "Key": "Name",
            "Value": "definer-test"
          }
        ]
      }
    }
  }
}                
 

続いて、yamlでも上記と同じVPCを記載してみました。
コメントが書けるので、可視性はjsonより高そうです。
# コメントです

AWSTemplateFormatVersion: "2010-09-09"
Description: definer-vpc-test
Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 172.16.0.0/16
      EnableDnsSupport: true
      EnableDnsHostnames: true
      Tags:
      - Key: Name
        Value: definer-test                  

5. Cloudformationを実行してみる

最後に、このテンプレートを使って、VPCを作ってみます。 ①AWSにログインし、Cloudformationの画面に移動します ②「スタックの作成」→「新しいリソースを使用(標準)」を押し、スタック作成の詳細画面に移ります ③「テンプレートファイルのアップロード」を選択し、先ほどのyamlファイルまたはjsonファイルをアップロードします。 ④任意のスタック名を入力します。その他の項目はデフォルトのままでOKです ⑤「スタックの作成」を押すと、VPCの作成が始まります。   スタック作成が完了した後、VPC画面でVPCの一覧をみると、実際にVPCが作られているのが確認できました!

6. 引用・参考記事

7. 独自ソリューション「PrismScaler」について

PrismScalerは、開発・運用を要さずにたった3ステップで、AWSやAzure、GCPなどのマルチクラウド基盤構築を実現するWebサービスです。 エンジニアの大変な作業を肩代わり ・自動構築 ・自動監視 ・構成可視化 クラウド基盤に関わる作業を以上のように効率化します。 SRE/DevOpsエンジニアが行う大変な作業を肩代わりします。 高品質な汎用クラウド基盤の実現 ・クラウド基盤構築/クラウド移行 ・クラウドの保守運用・コスト最適化 など幅広い利用シーンを想定しています。IaaSやPaaSを適切に組み合わせた数百を超える高品質な汎用クラウド基盤を容易に実現できます。 興味を持たれた方には、無料で資料を提供しております。 お気軽にご相談ください。

8. お問合せ

株式会社Definerでは、 ・ITの上流から下流まで一気通貫のワンストップソリューションをご提供。 ・AIやクラウドのITインフラなど、先進的なIT技術のコンサルティングから要件定義 / 設計開発 / 実装、保守運用に至るまでの統合的な支援にコミット。 ・少ないエンジニアで事業が成長する仕組みづくりの実現。 ・エンジニアが喜ぶ、採用しやすい環境づくりの実現。 ・高速なアジャイル開発環境の実現。 ・自社プロダクトとしてPrismScalerを展開。 上記事業内容を進行しております。 ※「開発者ブログ」では、エンジニアの入門編として有益な情報を無料公開しています。 ご相談やお問い合わせは「株式会社Definer」へ。

9. Definerに関して。

・ Definer Incは、ITの上流から下流まで一気通貫のワンストップソリューションをご提供しております。 ・ AIやクラウドのITインフラなど、先進的なIT技術のコンサルティングから要件定義 / 設計開発 / 実装、保守運用に至るまでの統合的な支援にコミットしています。 ・ DevOpsとCI/CDコンサルティングにより「少ないエンジニアで事業が成長する仕組みづくり」「エンジニアが喜ぶ、採用しやすい環境づくり」「高速なアジャイル開発環境」を実現しています。 ・ また、自社プロダクトとしてPrismScalerを展開しております。PrismScalerは、AWS、Azure、GCPなどのマルチクラウド / ITインフラの高品質かつ迅速な、「自動構築」「自動監視」「問題検知」「構成可視化」を実現します。