2. インフラエンジニア(学生アルバイト) -> アプリとインフラ ハイブリット -> 2019年4月freeeに Eとして入社 好き Docker/Kubernetes 自動化 I CON(人権 ない) ボードゲームが好きです 2 Fujiwara Shunki @renjikari 藤原峻輝
TensorFlow, Pytorchなどの機械学習/Deep Learning向けのフレームワークが普及し、Pre-Traininedモデルもたくさん出回っているので、自前のAI学習が簡単にできるようになってきました。でも、 学習を回してみた後、結局これをどうサービスに組み込めばよいのだっけ? どうやってお客様に使ってもらえばいいんだっけ? ってなることないですか?学習から推論API提供までやってくれるサービスとかあるけれど、クラウド前提だったりして、オンプレが良いのだけど...など。 そんな時に推論APIを簡単に提供するためのServingライブラリを比較してみたいと思います。 これのNTTドコモ R&D アドベントカレンダー2020(控室)の13日目の記事です。 担当はサービスイノベーション部の酒井です。 これは何? 学習済みモデルを推論用webAPIとして簡単に提供するためのSer
動機 【AWS】 Fargate CLI + Terraform で Docker コンテナを動かす簡単なチュートリアル というのを書いたんですが、下記の問題点を感じました。 Fargate CLI のインストールが若干手間。 Fargate CLI を使うと、 Terraform だけで完結しないため、一部ハードコーディングが必要になる。 Fargate CLI は冪等性が無い。 SSL 証明書や Route53 周りは Terraform で設定したいが、 Fargate CLI で設定した値の取得には結局 aws-cli を叩く必要がある。 Fargate CLI でも設定可能だが、事前に Route53 で設定とかしないとうまく動いてくれなかった記憶があり、結局あんま信頼できなかった よって、最近は Fargate CLI は使わずに、 インフラ構築は Terraform に全て任
本記事の内容 Herokuの代替サービスになりうる render.com を使ったデプロイの方法をまとめています Railsで作成した簡単なCRUD機能を搭載したアプリを render.com にデプロイするまでの手順を説明します Redisなどを使った実装や設定は含まれていないので、ご了承ください 前提 何らかのRailsアプリが開発環境で正しく動作するようになっている RailsアプリのRDBMSはPostgreSQLを使っている render.com へのアカウント登録が済んでいる 開発している言語やフレームワークのバージョンは、Ruby 3.1.2、Rails 6.1.6 render.com とは Herokuと似た、WebアプリやWebサイトなどを簡単にWeb上に公開できるツールの1つです。render.com のサイトでは Render vs Heroku にあるように、He
Ruby on Rails + Docker + Capistrano + Puma + Nginx AWS EC2へデプロイ方法のメモRailsnginxCapistranoEC2Docker AWS EC2 インスタンスの準備 AWS コンソールにアクセスする 「Launch Instance」をクリックする Step 1: Enter nand and tags インスタンス名とタグを入力する Step 2: Choose an Amazon Machine Image (AMI) 「Ubuntu Server 22.04 LTS (HVM), SSD Volume Type 64bit (x86」を選択する Step 3: Choose an Instance Type and Key pair インスタンスタイプは「t2.micro」とSSH用のキーペアを選択する Step 4:
デプロイをCloudFormationテンプレート(IaC)化すると、デプロイパイプラインにスムーズに組み込むことができます。 今回は、コンテナイメージ版LambdaをCloudFormationでデプロイする方法を紹介します。 コンテナLambdaをデプロイするCloudFormation テンプレート コンテナLambda(非VPC版)をデプロイするには、次のテンプレートを利用します。 AWSTemplateFormatVersion: '2010-09-09' Parameters: EcrImageUri: Description: ECR image URI Type: String Resources: LambdaFunc: Type: AWS::Lambda::Function Properties: Role: Fn::GetAtt: - LambdaRole - Arn
Deploy your pull requests with GitHub Actions and GitHub Deployments May 6, 2020 by Sander Knape Performing (automated) tests on pull requests is a powerful mechanism to reduce the feedback loop on code changes. Known as shift left, the idea is that the earlier you find an issue with your code, the easier it is to fix it. For one, as you wrote the code recently it’s easier to get back into it. And
こんにちは、ma-ya’s CREATE[まーやずくりえいと]です。 日曜の深夜、寝れません。 このままだと月曜の勤務が地獄ですがブログでも書こうと思います。 近年流行りのCI/CD技術ですが、このサイトもその流れに少しでも乗りたいな、と思い色々と試しておりました。 先日作ったアプリ「俺のホッピー居酒屋管理帳」なんかはFirebaseにホスティングしていたので、GitHub Actionsによる自動デプロイも簡単でした。※GitHub→Firebaseへの自動デプロイ方法はこちらの記事で紹介しています。 しかしAmazon Lightsailにのせているこのサイトには苦戦を強いられ、ググりまくって半日以上費やしても一部の不具合に悩まされ続けた結果(具体的にはデプロイ用のPHPファイルが実行できない)、まったく別のアプローチを試したら「アッ!」という間に自動デプロイできたのでご紹介します。
やりたいこと 前回はArgoCDをインストールしたEKSクラスター内にArgoCD経由でアプリケーションをデプロイしました。 今回は、ArgoCDをインストールするクラスターと、アプリケーションをデプロイするクラスターを別にした構成を作ってみたいと思います。かつ、この2クラスターは別々のAWSアカウント上に置きます。 ついでに、新たに学んだことを色々盛り込んでいきます。 前提条件 kubectlのインストール Argo CD CLI のダウンロード - 前回の「Argo CD CLI のダウンロード」項を参照ください。 ArgoCDをインストールするEKSクラスターを作成 今回使用するAWSアカウントではAWS SSOでAdministratorAccess権限のロールが使えるので、aws configure ssoでそのロールのクレデンシャルでクラスターを作成します。 こんな感じのAWS
Netlifyというサービスを使って自分のポートフォリオサイトを公開してみました。 サイトを公開するには様々な方法がありますが、静的なサイトであれば専用のサービスを使うとお手軽です。 公開したサイトはここです→ https://shozzy.netlify.app/ 12 流れ ローカルでサイトを作り、GitHubにpushしておく Netlifyの初期設定と初回デプロイ サイトを更新する 1.ローカルでサイトを作り、GitHubにpushしておく 詳細は別記事にしますのでここでは割愛します。 今回はVue.js+Vuetifyで静的サイトとして制作しました。 普通に App.vue を編集して内容を作り込み、最終的に npm run build が正常に通るようにしておけばOKです。3 出来上がったら、git で add, commit, push をしておきます。 2.Netlifyの
目次 はじめに そもそもContinuous Delivery デプロイ方法の種類 Rolling Update Blue/Green Deployment Canary Release Progressive Deliveryとは どうやって実現するか Argo Rollouts CI/CDフロー例 導入手順 参考 はじめに Continuous Deliveryの次のステップだと言われているProgressive Deliveryについて そもそもContinuous Deliveryとは 継続的デリバリとは、新機能、構成変更、バグ修正、実験など、あらゆる種類の変更を、安全かつ迅速に、持続可能な方法で本番環境やユーザーの手元に届ける能力のことです。 私たちの目標は、大規模な分散システム、複雑な本番環境、組み込みシステム、アプリケーションなどのデプロイメントを、必要に応じて実行できる、予
シリーズ目次 AWS Lambda 関数を Docker コンテナを使ってビルド & デプロイ Fortran を AWS Lambda のCustom Runtime で実行する 概要 記事 第一回 コンテナ Lambda の”いろは”、AWS CLI でのデプロイに挑戦 ! を参考に windows10 で AWS Lambda 関数を Docker コンテナを使ってビルド & デプロイ する方法を書きました AWS Lambda 関数を Docker コンテナを使ってビルド & デプロイ するには以下の3ステップが必要です 1.Docker イメージを作成する 2.Docker イメージを Amazon ECR リポジトリ にプッシュする 3.Lambda関数に Amazon ECR リポジトリ(の Docker イメージ) から ビルドする 前提条件 Docker Desktop
New to Bitbucket Cloud? Check out our get started guides for new users.
capistranoのassets:precompileをローカル側で実行し、各Webサーバーにはコンパイル済みファイルを配るRailsCapistranosprocketsインフラwebpacker なぜローカル化する必要があるのか 従来のやり方: capistrano-rails capistrano公式が公開しているcapistrano-rails (gem)にはassets:precompileを各Webサーバーで実行するタスクが備わっている。gemを入れた後でCapfile内でrequire 'capistrano/rails'もしくはrequire 'capistrano/rails/assets'とすると、deploy:assets:precompileというタスクが生えてきてこの機能が使える。 しかし各Webサーバでコンパイルを実行するということは、Webサーバーにコンパイ
現象 M1 MacでAWS LambdaへDockerイメージをcdk deployしたところ、デプロイはうまくいきますが、Lambdaを動かすとexec format error になります。 IMAGE Launch error: fork/exec /lambda-entrypoint.sh: exec format error Entrypoint: [/lambda-entrypoint.sh] Cmd: [app.handler] WorkingDir: [/var/task] 対策 いろいろ調べるとM1 Mac上ではDockerイメージのビルドのデフォルトがArm64になっている(当たり前だが)ためでした。対処法として環境変数を設定してDockerのビルドのデフォルトを変更することもできるらしいですが、それだとコードを他の人に渡したときに同様のエラーを発生させることになるので
Capistranoというgemは面倒なデプロイ作業を自動化してくれるツールです。面倒なデプロイ作業もコマンド一つで行うことができます。 AWSのEC2を使ってデプロイをする際、非常に多くの手順を踏む必要があります。 それをコマンド1つで行ってくれるのが自動デプロイツールです。 その自動デプロイツールで人気があるのはCapistranoというgemです。 この記事ではAWSのEC2でNginxとUnicornを使った際のCapistranoの導入方法について解説していきます。 ※EC2でのデプロイ方法については【Rails】 AWSのEC2でRailsのアプリをデプロイしようの記事を参照ください 自動デプロイツールとは デプロイの記事でも解説した通り、AWSのEC2サービスでRailsアプリのデプロイを行うには下記の手順が必要です。 EC2インスタンスにSSH接続をする EC2インスタンス
概要 これはアクセスの多いテーブルのカラムを変更したときに、 カラムを新しく変更したはずなのに、なぜかコードは(すでに存在しない)古いカラムを参照してしまい、エラーが発生してしまう問題を解決するための方法を記したものです。 2024/02/29 追記、結論「ignored columnを使う」 ごめんなさい。こっちを参照してください。 前提条件 Rails 5.1 heroku 解決策1「heroku restart」 先日、自分のカラム の英語の命名ミスに気づき、 AnswerHistoryテーブルのweekly_continuationというカラムを、continuation_all_weekに変更しました。 その後、カラム変更に伴うコードも変更してデプロイし、 heroku run rails db:migrateしたのですが、その後しばらくSentryより、以下の報告を繰り返し繰り
が必要です。 ステップバイステップで簡単に説明すると、 以下では簡単にステップを紹介します。詳しくはGitHub Actionsや10upさんのリポジトリの説明を読んでください。 開発環境のgitのマスターブランチに「.wordpress-org」ディレクトリ(これは設定で変更可能ですが、このワークフローのデフォルトに従います)を作り、SVNのassetsディレクトリの中身をそこにコピーします。 # WordPress プラグインのSVNリポジトリ構成の例 . ├── assets/ │ ├── icon-256x256.png │ ├── icon.svg │ └── screenshot-1.png ├── branches/ ├── tags/ └── trunk/ # gitのディレクトリ構成の例 . ├── .git/ ├── .github/ ├── .gitign
はじめに 前置き タイトルから感じ取れるとおり、この記事はゆるいメモです。ご了承ください。 ゆるいメモですので、端折るところはごっそり端折っています。ご了承ください。 メモと言いつつ、誰かに話しかけるような文体になっています。未来の自分に話しかけています。ご了承ください。 ゆるいメモと言いましたが、一つ一つメモを記載していったところ、まったくゆるくなくなっていました。必要な個所だけ参照されるのが良いかと思います。 Let's Encryptについて さて、まずはLet's Encryptについて本記事に関連することを少し。 Let's Encryptでワイルドカード証明書を取得(新規発行および更新)するにはDNS認証を行う必要があります。 DNS認証を行うにあたっては、証明書発行のタイミングで、対象のドメインのDNSにTXTレコードを登録する必要があります。 つまり、Let's Encry
こんにちは、yagiです。 今回は、Cloud Shell を起動して、Google Cloud の GKE(Google Kubernetes Engine)クラスタにアプリをデプロイする手順について記載します。 Cloud Shell 、とっても便利で使いやすい! Kubernetes とは Kubernetes は、コンテナー化されたアプリケーションを必要な場所でいつでも実行できるようにし、動作に必要なリソースとツールを見つけるのに役立ちます。Kubernetes は、コンテナ オーケストレーションにおける Google の蓄積された経験と、コミュニティからの最善のアイデアを組み合わせて設計された、本番環境に対応したオープン ソース プラットフォームです。 Kubernetes の基本 Pod と Service と Ingress(ざっくり) Pod は、ホスト上で実行できるコンテ
Google Cloud Run is なに? Google Cloud Run とは、GCP マネージド型のコンピューティング プラットフォームで、 Knative を基盤としてる、コンテナをサーバーレスで実行するための環境です。 Cloud Run は、サーバーレスとコンテナの いいとこ取りを実現します。 https://cloud.google.com/run/?hl=ja https://cloud.google.com/blog/ja/products/serverless/knative-based-cloud-run-services-are-ga Laravel を動かす では試しにLaravel を動かしてみましょう 事前準備 GCP のプロジェクト作成 GCPのgcloud コマンドをインストール gcloud コマンドの初期設定 デプロイする Laravel のプロジ
Ruby on Rails 7.1が正式公開されたので触ってみます。 今回は、新たに rails new で作成されるようになった Dockerfile について見てみます。 $ ruby -v ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] $ gem install rails -v 7.1.1 --no-document $ rails -v Rails 7.1.1 $ rails new moblog $ Code moblog # syntax = docker/dockerfile:1 # Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile ARG RUBY_VERSION=3.2.2 FROM regist
「クラウド」という言葉が世間一般に広く浸透した今の時代、様々なサービスが毎日のようにリリースされ、ユーザーである私達の生活はどんどん便利に、快適になっています。それらのサービスは「クラウド」という言葉が指す通り、雲の向こうでどのように動いているのかを詳しく知らなくとも手元のデバイスから直感的に利用することができ、ユーザーとしては嬉しい限りです。その反面、実際に「サービスがどのように動いているのか」を理解しようとするときには、まさに雲をつかむような思いではないでしょうか。「クラウド」と言っても、元をたどればどこかのコンピュータで稼働しているはずです。 この連載について 本連載では、サービス公開の基盤として採用されている主要な技術のひとつとして「コンテナ型仮想化」の Docker をとりあげ、実際に様々なアプリケーションをクラウド(仮想サーバー上)に構築していきます。普段私達が利用している雲の
概要 これまで業務・プライベートの双方でAWS CDK (Cloud Development Kit)というInfrastructure as a CodeツールをDeveloper Previewのころから着目し利用してきたので、その特徴を競合と比較しながら説明します。 概観を掴んでもらうことを目的とするので詳細は外部の公式・非公式のドキュメントへ適宜リンクするかたちをとります。 想定読者 AWS CDKが何かよくわかっていない人 CloudFormationとの違いがわかっていない人 IaCに興味がある人 前提・背景 AWS CDKの特徴を説明するためにIaCの変遷について簡単に言及したく、そのためにはWeb開発におけるインフラの変遷に触れる必要があります。 結論から言うと 現代においてインフラとアプリケーションの境界は非常に曖昧 で、比較的はっきり別れていた時代に定義・設計された I
はじめに 昨年末にGAされたLambdaのコンテナイメージ機能。 プラットフォームとしてのデプロイ方法が増えて、ますますLambdaの使い勝手が良くなってきている。 今回は、通常のZipによるデプロイではなくて、コンテナイメージでのデプロイをTerraformで自動化してみよう。 前提知識としては以下だ。 TerraformによるLambdaのデプロイ経験がある SAMによるLambdaのデプロイ経験がある(参考記事) Dockerの基本のキは理解している(参考記事) ソースコード 今回は動けば何でもよいので、AWSリソースとも接続しない、テキトーにJSONを返すだけのコードにしよう。 クエリからidを受け取り、それに応じた名前を返すような機能(getemployee)とする。 package main import ( "context" "encoding/json" "log" "g
Amazon Web Services ブログ Bottlerocket ECS Updater に Deep Diveする この記事は A deep dive into Bottlerocket ECS Updater を翻訳したものです。 先月 (2021 年7 月)、Amazon Elastic Container Service (Amazon ECS) に最適化された Bottlerocket AMI の一般提供を発表しました。この記事では、Bottlerocket ECS Updater に焦点を当ててみたいと思います。Bottlerocket ECS Updater は ECS クラスターにインストールできるサービスで、Bottlerocket のコンテナインスタンスを最新の状態に保つことができます。 サービスの仕組みを詳しく説明する前に、Bottlerocket でアップデ
Amazon ECS のデプロイツールである ecspresso の利用法をまとめていく ecspresso Advent calendar 17日目です。 ECS のデプロイ方法 ECS のデプロイ方法は現在のところ3種類あります。 参考: Amazon ECS デプロイタイプ ECS によるローリングデプロイ AWS CodeDeploy による Blue/Greenデプロイ 外部コントローラーによるデプロイ ここでは、ecspresso がサポートしているデプロイ方法であるローリングデプロイと CodeDeploy による Blue/Green デプロイについて説明します。 ローリングデプロイ ローリングデプロイは ECS 自身がデプロイを行います。ECS サービスに対して新しいタスク定義を設定すると、新しいタスク定義を使用したタスクを新しく立ち上げ、古いタスクを停止することでデプロ
For many years, I was only a casual user of rsync and used it mostly for one-off file transfers. Over time, I found rsync useful in more and more cases, and would recommend every computer user put this great tool into their toolbox 🛠 🧰 ! I’m publishing a series of blog posts about rsync: rsync, article 1: Scenarios. To motivate why it makes sense to look at rsync, I present three scenarios for w
環境 OS: linux Node Version: 8.12.0 Serverless Version: 1.32.0 Python Version: 3.6 本題 $ sls deploy -v を実行時に発生したエラーで、個人的に解決まで時間がかかったものを書く The security token included in the request is invalid. Serverless Error --------------------------------------- ServerlessError: The security token included in the request is invalid. ~/.aws/credentials に記載の aws_access_key_id と aws_secret_access_key の記述が間違ってた ⇒ vim
StaticDeployAn Open-Source Platform for Deploying Static Apps
SSHで公開鍵認証のみ有効にしつつLinux VMをデプロイするには AzureではLinuxの仮想マシンをデプロイする際、SSHでログインするためのユーザー名とともに、その公開鍵を指定できる。具体的には、仮想マシンのリソースを生成するところで、[properties]-[osProfile]-[linuxConfiguration]-[ssh]-[publicKeys]に、公開鍵とその保存先のパスを記載すればよい。 またパスワード認証を無効化するなら、[linuxConfiguration]に「disablePasswordAuthentication: true」を加える。 param location string = resourceGroup().location param vmName string // 仮想マシンの名前 param adminUsername string
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く