LoginSignup
0
0

More than 3 years have passed since last update.

Chromebook(ASUS C101PA)でAWS CodeDeployチュートリアルやってみた

Posted at

概要

CodeDeployが気になっていたのでAWS公式のチュートリアルをやってみた。
何もしないと忘れそうなので、作業メモとして残す。

作業環境・使用サービス

  • 作業端末
    • chromebook (ASUS C101PA)
    • Secure Shell App (SSH接続用)
  • AWSサービス(東京リージョン)
    • EC2(Amazon Linux 2 AMI (HVM), SSD Volume Type)
    • AWS CodeDeploy
    • AWS CodePipeline
  • github

1. IAM準備

EC2用とCodeDeploy用のIAMロールを準備する。
・EC2用
 IAMロール作成画面でAWSサービス > EC2を選択。
 ↓
 ポリシーに”AmazonEC2RoleforAWSCodeDeploy”を指定。
 ↓
 タグは飛ばす。
 ↓
 任意のロール名を入力し、ロールの作成。

・CodeDeploy用
 IAMロール作成画面でAWSサービス > CodeDeployを選択。
 ↓
 ユースケースの選択でCodeDeployを指定。
 ↓
 ポリシーにAWSCodeDeployRoleが表示される。(変更なし) 
 ↓
 任意のロール名を入力し、ロールの作成。

2. EC2準備

EC2インスタンスの作成のクイックスタートで、
Amazon Linux 2 AMI (HVM), SSD Volume Type - ami-06ad9296e6cf1e3cf (64 ビット x86)
を選択し、下記以外は適当な設定で作成。(すべて無料枠で作成した。)
・「ステップ3:インスタンスの詳細の設定」のIAMロールに1で作成したEC2用ロールを割り当てる。
・同画面最下部のユーザーデータに下記記入
sudo yum install ruby
sudo yum install aws-cli
aws s3 cp s3://aws-codedeploy-ap-northeast-1/latest/install . --region ap-northeast-1
chmod +x ./install
sudo ./install auto

・タグはあとで使用するのでメモ残しておくこと。

起動

Secure Shell Appで接続

・AWS CLIインストール??(←不要?要確認)
・gitインストール
$ sudo yum update
$ sudo yum install git
$ git version

4. github準備

GitHubの自分のアカウントで下記設定でニューレポジトリ作成。
[レポジトリ名] CodeDeployGitHubDemo
[Public]
[Initialize this repository with a README] チェックボックスをオフ

ターミナルで下記コマンドを1行ずつ実行
$ mkdir /tmp/CodeDeployGitHubDemo
$ cd /tmp/CodeDeployGitHubDemo
$ touch README.md
$ git init
$ git add README.md
$ git commit -m "My first commit"
$ git remote add origin https://github.com/user-name/CodeDeployGitHubDemo.git
$ git push -u origin master
$ aws s3 cp s3://aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Linux.zip . --region ap-northeast-1
$ unzip SampleApp_Linux.zip
$ rm SampleApp_Linux.zip
$ git add .
$ git commit -m "Added sample app"
$ git push

5. CodeDeploy準備

・アプリケーションおよびデプロイグループの作成
$ aws deploy create-application --application-name CodeDeployGitHubDemo-App

$ aws deploy create-deployment-group --application-name CodeDeployGitHubDemo-App --ec2-tag-filters Key=ec2-tag-key,Type=KEY_AND_VALUE,Value=ec2-tag-value --deployment-group-name CodeDeployGitHubDemo-DepGrp --service-role-arn service-role-arn

ec2-tag-key:作成したEC2インスタンスのタグ
ec2-tag-value:作成したEC2インスタンスのタグ値
service-role-arn:CodeDeploy用のIAMロールのARN

6. アプリケーションをデプロイ

GitHubへの権限付与にコンソールを使用するのでそのままコンソールで設定しきる。

サービスからCodeDeploy画面へ移動

アプリケーション>作成したデプロイグループ>[デプロイの作成]

[リビジョンタイプ] で [GitHub] を選択
リビジョンの場所:自分のGitHubアカウント名
リポジトリ名:アカウント名/リポジトリ名
Commit ID:コミット(基本的に最新のID)

デプロイの作成

7.CodePipeline設定

サービスからCodePipeline画面へ移動。

パイプラインを作成する

パイプライン名:適当
サービスロール:自動

ソース:GitHub
リポジトリ:紐付けたリポジトリ
を選択
ブランチ:master

ビルドステージをスキップする。

デプロイプロバイダー:AWS CodeDeploy
リージョン:アジアパシフィック(東京)
アプリケーション名:作成したアプリケーション
デプロイグループ:作成したデプロイグループ

パイプラインを作成する

インスタンスのパブリックIPをブラウザ入力すると、水色の画面が表示されるはず。
GitHubのリポジトリのhtmlファイルのカラーコードを「#000000」に変更して、画面が黒色に変わることを確認する。

所感

CodeDeploy用のIAMロール作成が抜けていて、解決までに時間がかかった。
また、awsconfigの設定等、基本的なところで詰まってしまったので、スムーズに
設定できるように作成で順などまとめるようにしようと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0