ヤマムギ

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 ,

  関連記事

東京リージョンの1つのAZ(apne1-az2)でt3.nanoスポットインスタンスが拒否されちゃいました

拒否されちゃいました ちょっとした検証をしようとしてて、t3.nanoのスポット …

RDSインスタンス作成時にEC2に接続設定するオプション

EC2 インスタンスと RDS データベース を自動的に接続するの動作を確認した …

RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもできるようになってました

RDSスナップショットをS3にエクスポートする新機能を試そうかと思ったのときは、 …

AWS Client VPNの接続ログを確認しました

AWS Client VPNを設定しましたで証明書とかせっかく作ったので、いろい …

SendGridのイベントをAPI Gateway -> Lambda(Python) -> DynamoDBに格納する

SendGridのメールイベントログはコンソールで確認出来るのは直近7日分で一括 …

Cloud9 Python3でpipも3にする

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

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

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

Kinesis Data Analyticsの検索結果をKinesis Data FirehoseからS3バケットに保存する

Kinesis Data AnalyticsをKinesis Data Stre …

VyOSでssm-userからvyosユーザーに切り替える

EC2 VyOSで/etc/resolv.confを設定しました VyOSにSS …

AWS Well-Architected フレームワークによるクラウド ベスト プラクティスのセッションを聞いたので自アカウントの環境を確認してみる

AWS Summit Tokyo 2017で「AWS Well-Architec …