🐈

AWS基礎 Cloud Formationでインフラの構成を行ってみる

2022/09/28に公開

はじめに

現在、AWSを勉強し、アソシエイト周りの資格を取得(予定も含め)しています。
しかしながら、実際の案件で触ったことがないので、覚えたこともすぐに忘れてしまいます。
SOAのラボの問題も、半分くらいは勘で動かしていたように思います。
よって、実際に自分で動かすことで、AWSの知識を身につけていこうと思い、今回書くことに決めました。
AWSも色々サービスがありますが、まずはCloudFormationを使ってサーバーの構築をしていきたいと思います。

CloudFormationについて

AWS CloudFormation は AWS リソースのモデル化およびセットアップに役立つサービスです。リソース管理に割く時間を減らし、AWS で実行するアプリケーションにより注力できるようになります。使用するすべての AWS リソース (Amazon EC2 インスタンスや Amazon RDS DB インスタンスなど) を記述するテンプレートを作成すれば、CloudFormation がお客様に代わってこれらのリソースのプロビジョニングや設定を受け持ちます。AWS リソースを個別に作成、設計して、それぞれの依存関係を考える必要はありません。CloudFormation がこれを処理します。

AWS公式より引用

書いてある通りですが、テンプレートを作成して、そこに記述していくと、あっという間にインフラを構築できるようです。

料金について

AWS CloudFormation は無料のサービスです。
スタックに追加するAWSのリソースには料金が発生してきます。
いきなりお金のことですみません。笑

重要用語

テンプレート

リソースをプロビジョニングするためのフォーマット。
このテンプレートはJSON または YAML 形式のテキストファイルで書きます。

スタック

関連リソースはスタックと呼ばれる単一のユニットとして管理します。
作成したテンプレートを送信することによってスタックを作成します。これにより、CloudFormation によってすべてのリソースがプロビジョニングされます。

実際に公式のHPを見ながら構築していきましょう。

構築していく

CloudFormationのサービスページにいき、
スタックの作成を押す。
新しいリソースを使用を押す。

今回は、初めての為、サンプルから行ってみる。

simpleの中のwordpressの環境を構築してみる。

次へ進もうと思ったが、「デザイナーで表示」というのがあるので押してみる。

すると、これから構築する設計が図解で確認することができる。
ウェブサーバーとセキュリティグループを作成する模様。
とてもわかりやすい。

jsonファイルの中身も確認できました。

スタックの名前を指定していく。

プロビジョニング中にエラーが起こった際に、
デフォルトでは、すべてのスタックリソースをロールバックする。
これ、試験で出た気がする..

wordpress用のpassを入力する。

スタック作成前に怒られた。

jsonコードを確認すると、DBのパスワードは英数字8文字以上であり英字は大小含める必要があった。
全て小文字で入力していた為、エラーが発生していた。

    "DBPassword" : {
      "NoEcho": "true",
      "Description" : "The WordPress database admin account password",
      "Type": "String",
      "MinLength": "8",
      "MaxLength": "41",
      "AllowedPattern" : "[a-zA-Z0-9]*",
      "ConstraintDescription" : "must contain only alphanumeric characters."
    },

修正して再度スタックの作成。
そうすると、あっという間に作成されました。

さいごに

今回はサンプルを使用して行いました。
今後、お客様のニーズに合わせてインフラを構築することが、出てくるかと思います。
今回はその触りとして、ざっくり触ってみました。
やはり、試験勉強のみしていては、身体に染み付いていないこともわかりました。
引き続き、AWSのサービスで気になることは試していきたいと思います。

Discussion