ヤマムギ

growing hard days.

*

「実践AWSプログラミング in Osaka」に行ってきました

      2016/09/18


クラスメソッドさんの「実践AWSプログラミング in Osaka」に行ってきました。

efbe00cbf82fb14d84bcffda0b60bcb9

RailsアプリをデプロイするCodeDeploy

デプロイの観点

  • どこからどこにデプロイしたいか?
  • トリガーをどうするか?
  • いつ誰がデプロイするか?
  • 失敗検出と通知
  • どのくらいの変更をデプロイするのか?

CloudFormation

  • インフラで再現性が必要なものには最適
  • WAF+CF+S3とか鉄板では全然あり
  • 既存の構成を他アカウントで再現するときもいい
  • なのでAWS上のシステムバックアップで使える。はず。

EC2のTerminate対応

  • Auto Scallingグループを作って常に1台が動くようにしておく

Lambdaトリガー

  • SNSにパブリッシュしてLambdaのトリガーをキックする

CodeDeploy

  • ターゲットはEC2

ActionCable(Rails5) + Application Load BalancerでWebSocketをバランシング!

ActionCable

  • Rack hijacking API – SocketをRACから受け取ってActionCableへ登録する
  • PubSubサーバ ,Publisher(Rails), Subscribe(Rails)
  • ActionCableはデフォルトでPubSub

ALB

  • ELBではWebSocketのupgradeに必要なハッdが送れなかった
  • ELBは60秒無通信状態でタイムアウトしていた

サーバレスでURL短縮サービスを実装してみた

  • IaCはTeraform
  • 1つのCroudFrontでMulti-Behaviorでふりわけている
    domain_nameとorigin_id
    path_patternとtarget_origin_id
  • Route53はAliaseレコード
  • CloudFrontの設定はTeraformで100行ぐらい
  • S3のリダイレクト機能でURLリダイレクトを実装
  • S3のオブジェクトは1つ1つにリダイレクト設定出来る
  • API GatewayはTaraformで70行ぐらい
  • Lambdaはコールされるとコンテナが起動してその中でコードが実行されている
  • Lambdaの実行ロールにS3とCloudWatch Logsへのアクセス権をIAMで設定する

APexを利用したLambda関数のデプロイ

  • Apexで内部的にTeraformを呼び出せる
  • ローカルでLambda関数をテスト出来る
  • functionsにlambda関数を格納する
  • Apexで変数を定義できてLambda関数内で使える(context)
  • apex deployコマンドでデプロイ
@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - study ,

ad

ad

  関連記事

Developers Summit 2018 「自然言語処理・機械学習を活用したファクトチェック業務の支援」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

Innovation EGG 第4回 『各クラウドの現状とこれから』に参加してきました!

Innovation EGG 第4回 『各クラウドの現状とこれから』に参加させて …

「TwilioJP-UG大阪+AWScean合同勉強会」に行ってきました

ノンEC2のススメ アイレット河村さん EC2は柔軟すぎる PaaSの良いところ …

Developers Summit 2018 「マイクロサービスをAWSサーバレス&コンテナで実装する方法」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (1)LambdaからSlackへ通知する1

作る部分 SlackのWebURLを確認する Slackでチームを作成してbot …

「Amazon SageMaker|機械学習エンジニア向けセッション+体験ハンズオン」に行ってきました

残念ながらハンズオンまではいれませんでしたが、前半のSageMakerの解説を聞 …

「第14回RxTStudy(Redmine勉強会)」に行ってきました

土曜日の真っ昼間に半分以上が初参加者さんで80席が満席。 それだけRedmine …

Developers Summit 2018 「将棋プログラムPonanzaにおける強化学習、ディープラーニングとその先」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

Java SE 7 Silver受験直前 練習問題総確認 2015/2/14

カーリング中継見ながら、iTunesシャッフルでかけながら、練習問題。 集中って …

「【第2回】データ分析勉強会(尼崎Pythonの会#1)」に行ってきました

「【第2回】データ分析勉強会(尼崎Pythonの会#1)」に行ってきました。 略 …