SlideShare a Scribd company logo
1 of 21
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
AWS App RunnerでC#のアプリを動かしてみた
2021年7月3日
木村健一郎
(@show_m001)
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
名前:木村健一郎(しょーちゃん)
所属:株式会社オルターブース
JAWS-UG福岡
SORACOM UG九州
娘ちゃんのパパ(3歳11ヶ月)
お仕事:テクニカルアーキテクト
好きなAWSサービス: Lambda
好きなSORACOMサービス:Arc,Funk
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
Webアプリ、どこで動かしてます?
WebアプリをAWSで動かす場合・・・
• EC2
IaaSのメンテしたくない
• ElasticBeanstalk
ちょっと楽になったけどお手軽とまでは・・
• ECS/Fargate
いきなりコンテナってちょっと一足飛びな感じ
• EKS
いや、そこまでいらん
もっとお手軽なPaaSがほしい!
(*)個人の感想です
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
Webアプリ実行環境のPaaSといえば
・Azure App Service(Web Apps)
・Web Apps超楽ちん
・PaaSなのでコード送り込むだけ
・BGデプロイとかCI/CDパイプラインもポチポチで
いける
・AzureAD/AzureAD B2Cを使ったアクセス制御も
簡単(Easy auth)
・開発用のフリープランがある
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
待望のWebアプリ実行環境のPaaSキタコレ!
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
AWS App Runnerとは
皆さんが沢山話されてると思うので省略
いつも業務でよく使う C# + ASP.NET Coreのアプリを動かしてみました
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
やってみた(1)
VisualStudio 2019 + AWS Toolkit for VisualStudioでやってみます。
テンプレートから ASP.NET Core Webアプリを作ります。
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
やってみた(2)
Dockerを有効にしておきます
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
やってみた(3)
テンプレートのアプリを起動するとこんな画面になりますが、環境変数を読み
込んで表示するという動作を追加しておきます。
ApplicationOptions:ApplicationNameという設定を渡すようにします。appsettings.jsonだ
とこんな感じですね
{
“ApplicationOptions”: {
“ApplicationName”: “appname from appsettings.json”
}
}
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
やってみた(4)
コンテナイメージをECRにプッシュします
ソリューションを右クリックすると「Publish Container to AWS」があります
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
やってみた(5)
Publishはこんな画面で行います
必要事項を入力したら「Publish」を押すだけです
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
ちなみにDeployment Targetで選択できるのはこんな感じ。
• Service on an ECS Cluster
• Run Task on an ECS Cluster
• Schduled Task on an ECS Clusnter
• Push only the Docker image to Amazon Elastic Container Registry
ECS関連を選ぶともろもろ設定してデプロイできるので、いずれここにApp
Runnerも来るのかなーと期待してます。
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
やってみた(7)
App Runnerを作ります
環境変数を足すのを忘れない。「:」は「__」(アンダーバー2つ)にします。
これはElasticBeanstalkでも同じですね。
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
動いた!
無事動きました。
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
環境変数を変えてみよう
コンソールから環境変数を変更できます。
保存するとサービスが再デプロイされます。
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
変わった!
無事変わりました。
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
【参考】CLIから環境変数を変えてみよう(1)
2021/6/5に試した際は、コンソールからできなかったのでCLIからやってみま
した。
まずは現在の設定を取得します。
$aws apprunner describe-service --service-arn $APPARN
{
"Service": {
"ServiceName": "WebApplicationForAppRunner",
"ServiceId": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
.....
"SourceConfiguration": {
"ImageRepository": {
"ImageIdentifier": "xxxxxxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/webapplicationforapprunner:latest",
"ImageConfiguration": {
"RuntimeEnvironmentVariables": {
"ApplicationOptions__ApplicationName": "appname from environment“
},
"Port": "80“
},
"ImageRepositoryType": "ECR" },
.......
}
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
【参考】CLIから環境変数を変えてみよう(2)
必要な部分だけ書き換えます。
{
"SourceConfiguration": {
"ImageRepository": {
"ImageIdentifier": "xxxxxxxxxxxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/apprunnertestwebapplication:latest",
"ImageConfiguration": {
"RuntimeEnvironmentVariables": {
"ApplicationOptions__ApplicationName": "appname from environment2" }
},
"ImageRepositoryType": "ECR" }
}
}
SourceConfiguration部分を持ってきて変更し、ファイルに保存します。
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
環境変数を変えてみよう(3)
ファイルに保存し、CLIから送り込みます
$aws apprunner update-service --service-arn $APPARN --cli-input-json file://apprunner-json_modify.json
{
"Service": {
"ServiceName": "WebApplicationForAppRunner",
"ServiceId": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
.....
"SourceConfiguration": {
"ImageRepository": {
"ImageIdentifier": "xxxxxxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/webapplicationforapprunner:latest",
"ImageConfiguration": {
"RuntimeEnvironmentVariables": {
"ApplicationOptions__ApplicationName": "appname from environment2“
},
"Port": "80“
},
"ImageRepositoryType": "ECR" },
.......
}
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.
まとめ
・AppRunner超優秀
お手軽にWebアプリ動かせるPaaSは嬉しい
・ASP.NET Coreのアプリも普通に動きます
まぁコンテナだし(身も蓋もない)
・ソースからのCI/CDに他の言語も欲しい
apprunner.yamlで頑張ったらどうにかなる?(未検証)
・ちょっとお金かかる
テスト・開発用の安いインスタンスが欲しい
・詳細はブログに書いてます
https://aadojo.alterbooth.com/entry/2021/06/07/094030
Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.

More Related Content

What's hot

What's hot (20)

Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS) AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
 
基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみた
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
AWS Wavelengthと大阪リージョンのご紹介20210414
AWS Wavelengthと大阪リージョンのご紹介20210414AWS Wavelengthと大阪リージョンのご紹介20210414
AWS Wavelengthと大阪リージョンのご紹介20210414
 
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
ヤフーのプライベートクラウドとクラウドエンジニアの業務についてヤフーのプライベートクラウドとクラウドエンジニアの業務について
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
 
Laravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するならLaravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するなら
 

Similar to AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた

賢くチェックするAWSの明細
賢くチェックするAWSの明細賢くチェックするAWSの明細
賢くチェックするAWSの明細
Kieko Sakurai
 
サーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalkサーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalk
Hirokazu Ouchi
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
 
[AWSマイスターシリーズ] AWS Elastic Beanstalk
[AWSマイスターシリーズ] AWS Elastic Beanstalk[AWSマイスターシリーズ] AWS Elastic Beanstalk
[AWSマイスターシリーズ] AWS Elastic Beanstalk
Amazon Web Services Japan
 
インフラエンジニアデイ Sousousha20100520 01
インフラエンジニアデイ Sousousha20100520 01インフラエンジニアデイ Sousousha20100520 01
インフラエンジニアデイ Sousousha20100520 01
真一 藤川
 

Similar to AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた (20)

オレ流クラウドデザイン
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザイン
 
OpsWorks aws-cli#11
OpsWorks aws-cli#11OpsWorks aws-cli#11
OpsWorks aws-cli#11
 
Amazon EKS への道 ~入門編~
Amazon EKS への道 ~入門編~Amazon EKS への道 ~入門編~
Amazon EKS への道 ~入門編~
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
 
DevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めてDevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めて
 
賢くチェックするAWSの明細
賢くチェックするAWSの明細賢くチェックするAWSの明細
賢くチェックするAWSの明細
 
20180313 Amazon Container Services アップデート
20180313 Amazon Container Services アップデート20180313 Amazon Container Services アップデート
20180313 Amazon Container Services アップデート
 
同じサービスを ECSとOpsWorksで 運用してみた
同じサービスをECSとOpsWorksで運用してみた同じサービスをECSとOpsWorksで運用してみた
同じサービスを ECSとOpsWorksで 運用してみた
 
SolrCloud on Amazon ECS
SolrCloud on Amazon ECSSolrCloud on Amazon ECS
SolrCloud on Amazon ECS
 
Elastic beanstalk
Elastic beanstalkElastic beanstalk
Elastic beanstalk
 
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
WindowsシステムのAWS移行とMulti-AZ化 - JAWS DAYS 2015 WindowsシステムのAWS移行とMulti-AZ化 - JAWS DAYS 2015
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
 
サーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalkサーバ構築・デプロイが簡単に!Elastic beanstalk
サーバ構築・デプロイが簡単に!Elastic beanstalk
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
 
AWS Nyantech #2 Nyands-on visual search
AWS Nyantech #2 Nyands-on visual searchAWS Nyantech #2 Nyands-on visual search
AWS Nyantech #2 Nyands-on visual search
 
[AWSマイスターシリーズ] AWS Elastic Beanstalk
[AWSマイスターシリーズ] AWS Elastic Beanstalk[AWSマイスターシリーズ] AWS Elastic Beanstalk
[AWSマイスターシリーズ] AWS Elastic Beanstalk
 
インフラエンジニアデイ Sousousha20100520 01
インフラエンジニアデイ Sousousha20100520 01インフラエンジニアデイ Sousousha20100520 01
インフラエンジニアデイ Sousousha20100520 01
 
bitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deploymentbitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deployment
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
 
AWS活用のいままでとこれから -東急ハンズの事例-
AWS活用のいままでとこれから -東急ハンズの事例-AWS活用のいままでとこれから -東急ハンズの事例-
AWS活用のいままでとこれから -東急ハンズの事例-
 
JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12 JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12
 

More from Ken'ichirou Kimura

More from Ken'ichirou Kimura (20)

SORACOM UG紹介
SORACOM UG紹介SORACOM UG紹介
SORACOM UG紹介
 
SORACOM UGの運営メンバーになってみませんか?
SORACOM UGの運営メンバーになってみませんか?SORACOM UGの運営メンバーになってみませんか?
SORACOM UGの運営メンバーになってみませんか?
 
SORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M ButtonならびにシミュレータについてSORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M Buttonならびにシミュレータについて
 
SORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for EnterpriseシミュレータについてSORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for Enterpriseシミュレータについて
 
スマートフォンでもSORACOM Arc!
スマートフォンでもSORACOM Arc!スマートフォンでもSORACOM Arc!
スマートフォンでもSORACOM Arc!
 
ひげボタンをAzure IoT Centralにつないでみる
ひげボタンをAzure IoT CentralにつないでみるひげボタンをAzure IoT Centralにつないでみる
ひげボタンをAzure IoT Centralにつないでみる
 
Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介
 
Cloudshell 20201229
Cloudshell 20201229Cloudshell 20201229
Cloudshell 20201229
 
AWS IoT Eventsで遊んでみた
AWS IoT Eventsで遊んでみたAWS IoT Eventsで遊んでみた
AWS IoT Eventsで遊んでみた
 
Soracomug 20200701
Soracomug 20200701Soracomug 20200701
Soracomug 20200701
 
AWSで画像認識をやってみる~DL3分クッキング~
AWSで画像認識をやってみる~DL3分クッキング~AWSで画像認識をやってみる~DL3分クッキング~
AWSで画像認識をやってみる~DL3分クッキング~
 
Fukuten 20200117 up
Fukuten 20200117 upFukuten 20200117 up
Fukuten 20200117 up
 
Amazon Forecastで未来を予測しよう
Amazon Forecastで未来を予測しようAmazon Forecastで未来を予測しよう
Amazon Forecastで未来を予測しよう
 
SORACOM-UG岡山 LT資料 2019-08-17
SORACOM-UG岡山 LT資料 2019-08-17SORACOM-UG岡山 LT資料 2019-08-17
SORACOM-UG岡山 LT資料 2019-08-17
 
Serverless meetuplt 201903_up
Serverless meetuplt 201903_upServerless meetuplt 201903_up
Serverless meetuplt 201903_up
 
あのボタンで子育て支援!
あのボタンで子育て支援!あのボタンで子育て支援!
あのボタンで子育て支援!
 
LogicAppsでお天気ボットを作ろう
LogicAppsでお天気ボットを作ろうLogicAppsでお天気ボットを作ろう
LogicAppsでお天気ボットを作ろう
 
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築
 
Jawsug福岡 201606 up
Jawsug福岡 201606 upJawsug福岡 201606 up
Jawsug福岡 201606 up
 
SESとLambdaでメールをSlackに通知してみよう
SESとLambdaでメールをSlackに通知してみようSESとLambdaでメールをSlackに通知してみよう
SESとLambdaでメールをSlackに通知してみよう
 

Recently uploaded

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた

  • 1. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. AWS App RunnerでC#のアプリを動かしてみた 2021年7月3日 木村健一郎 (@show_m001)
  • 2. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. 名前:木村健一郎(しょーちゃん) 所属:株式会社オルターブース JAWS-UG福岡 SORACOM UG九州 娘ちゃんのパパ(3歳11ヶ月) お仕事:テクニカルアーキテクト 好きなAWSサービス: Lambda 好きなSORACOMサービス:Arc,Funk
  • 3. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. Webアプリ、どこで動かしてます? WebアプリをAWSで動かす場合・・・ • EC2 IaaSのメンテしたくない • ElasticBeanstalk ちょっと楽になったけどお手軽とまでは・・ • ECS/Fargate いきなりコンテナってちょっと一足飛びな感じ • EKS いや、そこまでいらん もっとお手軽なPaaSがほしい! (*)個人の感想です
  • 4. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. Webアプリ実行環境のPaaSといえば ・Azure App Service(Web Apps) ・Web Apps超楽ちん ・PaaSなのでコード送り込むだけ ・BGデプロイとかCI/CDパイプラインもポチポチで いける ・AzureAD/AzureAD B2Cを使ったアクセス制御も 簡単(Easy auth) ・開発用のフリープランがある
  • 5. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. 待望のWebアプリ実行環境のPaaSキタコレ!
  • 6. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. AWS App Runnerとは 皆さんが沢山話されてると思うので省略 いつも業務でよく使う C# + ASP.NET Coreのアプリを動かしてみました
  • 7. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. やってみた(1) VisualStudio 2019 + AWS Toolkit for VisualStudioでやってみます。 テンプレートから ASP.NET Core Webアプリを作ります。
  • 8. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. やってみた(2) Dockerを有効にしておきます
  • 9. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. やってみた(3) テンプレートのアプリを起動するとこんな画面になりますが、環境変数を読み 込んで表示するという動作を追加しておきます。 ApplicationOptions:ApplicationNameという設定を渡すようにします。appsettings.jsonだ とこんな感じですね { “ApplicationOptions”: { “ApplicationName”: “appname from appsettings.json” } }
  • 10. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. やってみた(4) コンテナイメージをECRにプッシュします ソリューションを右クリックすると「Publish Container to AWS」があります
  • 11. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. やってみた(5) Publishはこんな画面で行います 必要事項を入力したら「Publish」を押すだけです
  • 12. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. ちなみにDeployment Targetで選択できるのはこんな感じ。 • Service on an ECS Cluster • Run Task on an ECS Cluster • Schduled Task on an ECS Clusnter • Push only the Docker image to Amazon Elastic Container Registry ECS関連を選ぶともろもろ設定してデプロイできるので、いずれここにApp Runnerも来るのかなーと期待してます。
  • 13. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. やってみた(7) App Runnerを作ります 環境変数を足すのを忘れない。「:」は「__」(アンダーバー2つ)にします。 これはElasticBeanstalkでも同じですね。
  • 14. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. 動いた! 無事動きました。
  • 15. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. 環境変数を変えてみよう コンソールから環境変数を変更できます。 保存するとサービスが再デプロイされます。
  • 16. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. 変わった! 無事変わりました。
  • 17. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. 【参考】CLIから環境変数を変えてみよう(1) 2021/6/5に試した際は、コンソールからできなかったのでCLIからやってみま した。 まずは現在の設定を取得します。 $aws apprunner describe-service --service-arn $APPARN { "Service": { "ServiceName": "WebApplicationForAppRunner", "ServiceId": "xxxxxxxxxxxxxxxxxxxxxxxxxxx", ..... "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "xxxxxxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/webapplicationforapprunner:latest", "ImageConfiguration": { "RuntimeEnvironmentVariables": { "ApplicationOptions__ApplicationName": "appname from environment“ }, "Port": "80“ }, "ImageRepositoryType": "ECR" }, ....... }
  • 18. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. 【参考】CLIから環境変数を変えてみよう(2) 必要な部分だけ書き換えます。 { "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "xxxxxxxxxxxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/apprunnertestwebapplication:latest", "ImageConfiguration": { "RuntimeEnvironmentVariables": { "ApplicationOptions__ApplicationName": "appname from environment2" } }, "ImageRepositoryType": "ECR" } } } SourceConfiguration部分を持ってきて変更し、ファイルに保存します。
  • 19. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. 環境変数を変えてみよう(3) ファイルに保存し、CLIから送り込みます $aws apprunner update-service --service-arn $APPARN --cli-input-json file://apprunner-json_modify.json { "Service": { "ServiceName": "WebApplicationForAppRunner", "ServiceId": "xxxxxxxxxxxxxxxxxxxxxxxxxxx", ..... "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "xxxxxxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/webapplicationforapprunner:latest", "ImageConfiguration": { "RuntimeEnvironmentVariables": { "ApplicationOptions__ApplicationName": "appname from environment2“ }, "Port": "80“ }, "ImageRepositoryType": "ECR" }, ....... }
  • 20. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved. まとめ ・AppRunner超優秀 お手軽にWebアプリ動かせるPaaSは嬉しい ・ASP.NET Coreのアプリも普通に動きます まぁコンテナだし(身も蓋もない) ・ソースからのCI/CDに他の言語も欲しい apprunner.yamlで頑張ったらどうにかなる?(未検証) ・ちょっとお金かかる テスト・開発用の安いインスタンスが欲しい ・詳細はブログに書いてます https://aadojo.alterbooth.com/entry/2021/06/07/094030
  • 21. Copyright © 2015-2021 ALTERBOOTH inc. All Rights Reserved.