ヤマムギ

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認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

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

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

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

 - AWS ,

  関連記事

このブログをAWS大阪リージョンへ移行しました

大阪リージョン爆誕!! 朝起きて寝ぼけながらリージョンを見てると。 「大阪リージ …

ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順

ヤマムギとは from Mitsuhiro Yamashita 「AWSではじめ …

[事前準備] JAWS-UG 関西IoT専門支部「マクニカkibo + AWS IoTハンズオン」

来る12/19(土)の JAWS-UG 関西IoT専門支部第一回勉強会「マクニカ …

Amazon Connectの新規作成からプッシュボタン入力と発信元電話番号をLambdaで処理するまで

とりあえずやりたいことはタイトルに書いたとおり、「電話をかけて、プッシュボタンに …

ブログの画像を別アカウントのS3に移動するためにIAMロールでクロスアカウントアクセス

ずっと先延ばしにしていたのですが、このブログの画像はEC2から直接配信しています …

AWS Personal Health Dashboardのパブリックイベントの記録

東京リージョンで発生したので、スクリーンショットを取っておいたので記録しておきま …

Pandocサーバーのコンテナイメージを作成する

マークダウンからEPUBへの変換をAWS Batchで行いたく、ECRにアップロ …

AWS Savings Plansを検討しました

今、個人でAWSアカウントを7つ使っています。 Savings Plansが使え …

AWS Toolkit for EclipseからLambda関数を直接作成できずにMavenでパッケージ化して作成

AWS Toolkit for EclipseからLambda関数を直接作成 チ …

EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する

Rocket.Chatのデフォルトポート番号は3000です。 80を使うようにす …