AWS基礎 Cloud Formationでインフラの構成を行ってみる
はじめに
現在、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