LoginSignup
2
2

More than 5 years have passed since last update.

AWS Summit Tokyo 2016 / 聴講メモ / Windows 開発者のための継続的デプロイ on AWS

Posted at

■概要

  • ASP.NET Core アプリケーションの継続的デプロイを行う方法について解説

■登壇者

  • 福井 厚さん(アマゾンウェブサービスジャパン株式会社 技術本部 エンタープライズ ソリューション部 ソリューション アーキテクト)

■会場調査

  • Windowsの人: ほぼ
  • .NETの人: ほぼ
  • C#の人: かなり
  • VBの人: 少し
  • F#の人: ほぼゼロ

■本セッションの目的と対象者

  • 目的
    • AWSをWindows開発環境・実行環境として容易に導入すること
  • 対象
    • 開発者、アーキテクト

■Windows開発社のためのAWS導入手順

  • 3ステップ(ry

■開発環境構築

  • 目的
    • 開発を容易にするため
      • AWS Tools for Visual Studioがおすすめ
      • AWS Tools for Windows Powershellも
  • アカウント取得
    • (ry
  • セットアップ
    • (ry
  • AWS Tools for Visual Studio
    • AWS Sample Projects(3種類のテンプレート)を提供
    • コーディング例
      • AmazonEC2Clientの使用例
    • その他のテンプレート
      • AWS Lambda Function Project(Node.js)
      • AWS CloudFormation Projet
    • AWS Exploorer: EC2, RDSなどにアクセスできる
      • DEMO:
        • Amazon S3のバケットを参照

■実行環境構築

  • 実行環境を設計する
    • 検証環境、本番環境用にVPCを構築
    • ポイント: 検証、本番環境を同等な構成にする
      • => クラウドの(コスト)メリット
      • VPCにAZ 2つ、Public Subnet 2つ、Private Subnet 1つ
    • 使えるWindowsのバージョン
      • (ry
    • RDPで楽ちん
    • Amazon RDS: SQL Serverもおk
  • 実行環境を構築する
    • 環境ごとにVPC定義など: マネージメントコンソール
    • DBインスタンス: マネージメントコンソール
    • アプリケーションのデプロイ環境を構築: AWS Elastic Beanstalk
  • AWS Elastic Beanstalkの活用
    • DEMO:
      • .NET ASP MVCプロジェクトのVSからのデプロイ
      • Publish to AWS => Beanstalk => Create new Enviromet ...(ry
        • 可用性の構成
        • VPCの選択
        • Subnetの設定
        • デプロイメントの設定
        • パーミッションの設定
      • 再デプロイの例
        • 文言修正
        • ビルド
        • Re deploy

■継続的デプロイ

  • 継続的デプロイの目的
    • 自動化することのメリット
      • 手作業によるミスを防ぐ
      • 高速化でリリーススピードも向上
      • エラーの早期検出 etc...
  • 継続的デプロイのための設計
    • 目的に合わせて設計する
  • AWSのサービス
    • Code Commit
      • コード管理
      • S3
      • Git互換
    • Code Deploy
      • エージェントをEC2にいれれば利用可能
      • GitHub, S3とも
    • Code Pipeline
      • ソース/ビルド/テスト/デプロイのプロセスを管理
      • AWSのサービスやサードパーティとの連携
      • etc...
      • 開発のスタイルにあった柔軟なワークフローが定義できる
  • 継続的デプロイの実施
    • 設定手順
      • EC2のデプロイ先の設定:
        • デプロイ対象のインスタンスにエージェントをインストール
        • AppSpec File(appspec.yml)
          • デプロイパス、カスタム権限、ステージごとの実行スクリプトを指定可能
            • files
            • hooks
      • CodePipelineの設定:
        • GitHubのブランチなどを指定
        • アプリケーション名、デプロイメントグループなどを設定
        • 実行
      • エラー発生時の確認
        • パイプラインのエラー箇所を確認できる
  • AWS CodePipelineのDEMO:
    • UnitTestが失敗するパターン
    • Source -> Beta(ステージング環境でテスト) -> Release(本番環境でテスト)
    • コマンドラインでS3にアップデート
    • CodePipelineが変更を検知...失敗...エラーログの照会

■まとめ

  • Windows開発者のためのAWS導入手順はシンプルに3ステップ
  • AWSが提供するサービス、ツールをうまく利用して自動化を
  • 自動化によって継続的デプロイ on AWSを!

※当日の生メモです(ほぼ校正していませんm(_ _)m
※登壇者の方の情報など一部 http://www.awssummit.tokyo/devcon/index.html から引用させて頂きました

2
2
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
2
2