ヤマムギ

growing hard days.

*

AWS CodeDeployからEC2 Auto Scalingにデプロイするチュートリアル

   

公式チュートリアルチュートリアル: アプリケーションを CodeDeployグループにデプロイするために使用します。Amazon EC2 Auto Scalingをベースにやってみます。

IAMロールを作成

CodeDeploy向け

AWS管理ポリシーAWSCodeDeployRoleをアタッチしました。
関連のAWS管理ポリシーの名前を見てるとCodeDeployができることが見えてきますね。

###EC2インスタンス向け

チュートリアル向けのこちらと、エージェントをインストールするためのAmazonSSMManagedInstanceCoreをアタッチしました。

起動テンプレート作成

AMIはAmazon Linux 2 にしました。
インスタンスタイプはt3.microにしました。
キーペアは事前に作成していたものを使いました。
セキュリティグループはHTTP 0.0.0.0/0のものを使いました。
IAMロールには、

オートスケーリンググループ作成

起動テンプレートを選択して、
グループサイズを1にして、
タグにCodeDeployDemoを設定したぐらいです。

CodeDeployエージェントのインストール

オートスケーリングで起動したインスタンスにCodeDeployエージェントをインストールしました。

インストールは、Systems Manager RunCommandで、AWS-ConfigureAWSPackageで、AWSCodeDeployAgentをNameに指定して行いました。

デプロイの作成

CodeDeployのメニューから[アプリケーションの作成]ボタンを押下しました。

コンピューティングタイプは、EC2/オンプレミスを選択しました。

[デプロイグループの作成]ボタンを押下しました。

作成済みのIAMロールARNを入力して、
デプロイタイプはインプレース、
環境設定はAmazon EC2 Auto Scalingグループを選択しました。

デプロイ設定はCodeDeployDefault.OneAtATimeで、ALBのチェックを外しました。

[デプロイグループの作成]ボタンを押下しました。
デプロイグループが作成できました。

次に、[デプロイの作成]ボタンを押下しました。

チュートリアルのサンプルアプリケーションのS3のzipファイルのパスを入力しました。
他にはGitHubも選択できます。

[デプロイの作成]ボタンを押下しました。

成功しました!

EC2インスタンスのWebサーバーにも無事、アクセスできました。

appspec.yml

サンプルアプリのzipの中身を見てみますと、appspec.ymlがありました。

それぞれのスクリプトファイルも見てみます。

install_dependencies

start_server

stop_server

なるほど、ですね。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

macOSにAWS Schema Conversion Toolをインストール

環境 macOS BigSur バージョン11.5(20G71) MacBook …

Cloud9 Python3でpipも3にする

このブログは、2019/10/20に書いた、 Cloud9のAMIがCloud9 …

webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)

先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …

AWS Protonの管理者ガイドとユーザーガイドのチュートリアル

AWS Proton管理者ガイドのAWS Management Console …

Systems Manager パブリックパラメータCLIでAWSのサービス数を出力してみました(2020/5/26)

先日のAWSのサービス数を数えてみました(2020/5/23)を見られて、お師匠 …

RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する

先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、 …

T3.nanoで仮想メモリ割当をユーザーデータで実行する

T3.nanoはメモリがだいたい500MBです。 実行する処理によってはメモリエ …

Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(失敗、手戻りそのまま記載版)

勉強のためブログサイトを長らくお世話になったロリポップさんから、AWSに移設する …

AWS CDKでリージョンをまたいだクロススタックリファレンスはできなかった

例えばこんなコードが実行できるかというと、 [crayon-6644a0971c …

Organizations対応のAWS CloudTrailのAthenaテーブルでPartition Projectionを使用しました

パーティション向けのAlterテーブルの定期実行が面倒だと思っていたら、Part …