先日、AWS App Runner がローンチされました。 コンテナ上で動作するアプリケーションを簡単にデプロイできるフルマネージドサービスとのことです。 ドキュメントや関連記事を読んでいると自分も使ってみたくてウズウズしてきたので、実際に手を動かしてみました。 なお今回はタイトルの通り AWS CLI を使ってリソースの作成、デプロイを行いました。
![【AWS】AWS CLI を使って App Runner にデプロイ](https://cdn-ak-scissors.b.st-hatena.com/image/square/95094a4bc5eefdbe7f8f9da51dba7011f07da3a9/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--7-_lGO9s--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252580%252590AWS%2525E3%252580%252591AWS%252520CLI%252520%2525E3%252582%252592%2525E4%2525BD%2525BF%2525E3%252581%2525A3%2525E3%252581%2525A6%252520App%252520Runner%252520%2525E3%252581%2525AB%2525E3%252583%252587%2525E3%252583%252597%2525E3%252583%2525AD%2525E3%252582%2525A4%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Abeats%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2U3OWE4NmU2ZjMuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)
はじめに こんにちは、Google Cloudでオブザーバビリティを担当しているものです。Cloud Operations suiteをよろしくおねがいします。(宣伝終わり) この記事はGo Advent Calendar 2021 その1の22日目の記事です。昨日は @sago35tk さんの「ESP32 向けに TinyGo をセットアップする」でした。TinyGoのコアな情報を日本語で教えてくれるtakasagoさんには本当にいつも感謝しています。 さて、今日はGo製のアプリケーションをdockerlessでコンテナ化できるkoの紹介をします。koは本当にイチオシのツールで、みんなに使ってもらいたいのでぜひ使ってください。 github.com DockerによるGo製アプリのコンテナ化 まず最もポピュラーと思われるDockerを用いた場合のGo製アプリケーションのコンテナ化の方法に
優先度が高い仕事が落ち着いてきたため、ずっとやりたかった本番環境コンテナ化に着手しました。 たぶんお休みで全部忘れるので社内に説明用も兼ねてメモ。 下記の記事のように現在のシニアジョブに入社してすぐ、開発環境はDocker化していました。 シニアジョブに入社して1ヶ月でやったこととこれから - GAミント至上主義 現在、本番環境はElastic Beanstalkで動いていますが、Dockerfileで管理できるため、いつかは揃えてコンテナ化したいなぁと思っていました。 AWS Fargateとは AWS ECSからEC2の管理を(でき)なくしたサーバーレス的なもの・・・という雑な認識。詳細は公式。 AWS Fargate(サーバーやクラスターの管理が不要なコンテナの使用)| AWS 専用ページはあるものの、コンソールの中だと、ECSやEKSの起動タイプとして存在してるだけで意外と地味な存
AWS SQS をキューサービスとして利用し、ワーカー処理は AWS ECS のコンテナで実行する際に、SQS のキューの数に応じてオートスケーリングさせたい場合の設定方法メモです。つまり、キューがいっぱい積まれたら ECS のタスクを増やすし、減って来たらタスクを終了させるということです。とても簡単に設定できます。 今回の設定方法は AWS サポートの方に親切にアドバイスいただきました。とても分かりやすいサポートで感謝しております。 ターゲット追跡スケーリングポリシーの設定 ECS のサービスではオートスケーリングの設定が可能ですが、今回利用するターゲット追跡スケーリングポリシーはコンソール画面からは設定ができません。aws CLI コマンドを利用します。 aws application-autoscaling put-scaling-policy ドキュメント aws applicat
こちらは AWS Containers Advent Calendar 2020 の4日目の記事です。 メッセージキューイングサービス「Amazon SQS」をご存知でしょうか。 複数のサービス間連携を疎結合にするために利用されている方も多いのではないでしょうか。 その中で、SQS にキューイングされたメッセージ数に応じて、メッセージを取り出す Worker の数を AutoScaling させたいことってありませんか? EC2 インスタンスを worker として利用する場合の手順は、ドキュメント に記載があります。 実際のユースケースでは、worker として、AWS Lambda が使われていたり、AWS Fargate が使われていたり、色々なパターンがあるかと思います。 そこで、本記事では、このドキュメントを参考にしながら、Amazon ECS on AWS Fargate を
どうも、情シスやってますアノテーションの徳道です。 社内のPCの棚卸、って情シスとしてはちょっと重ための業務ですよね。 クラスメソッドグループでもご多分に漏れず、数百台の棚卸を1年に2回、6月と12月に実施しています。 リモートワークが当たり前になり、オフィスで情シスのメンバーが確認したりすることはほぼ不可能なので、元からリモートでの棚卸チェックを行ってきていました。 ここ近年、クラスメソッドグループの成長に伴い社員数も増加し、棚卸作業も大変になってきました。 今回はPCの棚卸をちょっとラクにするために効率化を図ったお話です。 【関連記事】くらめその情シス:ユーザーに対して自動リマインドする仕組みをつくってみた PCの棚卸作業って? PCは物理的な機器です。今誰が持っていて、ほんとにそこにあるのか。 情報セキュリティ観点から定期的にチェックしないといけません。 もし紛失していたらセキュリテ
こんにちは。次世代研究室のH.Uと申します。 今回は、Google Apps Scriptのローカルでの開発を試みましたので、その結果を共有させていただきたく思います。 Google Apps Scriptとは Google Apps Script(GAS)とは、Googleの開発するプログラミング言語です。 こちらの用途ですが、Google Workspace(GSuite)のさまざまなソリューションを連携させるなどが挙げられます。 (e.g.Googleフォームで回答があった際に、回答者にサンクスメールを送信する) これにより業務の一部を自動化することが可能であり、Power AutomateのようないわゆるRPAソフトとは異なりますが、生産性向上のツールと言えるでしょう。 GASには、Google製のWEBエディターが用意されており、そちらを使えばすぐに開発を始められます。 しかし、
Amazon API Gatewayにはプライベート統合という機能があり、VPC内のリソースをバックエンドとしてリクエストを処理できできます。 例えば、VPC内にあるALB+ECS FargateをAPI Gatewayのオリジンに設定できます。 ここで注意が必要です。 API GatewayはRESTとHTTPの2種類があり、どちらもVPCリンクを経由してVPCリソースと連携するという点では同じですが、 VPCリンクの実態や連携時の構成が大きく異なります。 この構成の違いを解説します。 前提 簡略化のため、VPC内ではALBでリクエストを処理するものとします。 ALB配下にはECS・Lambda・EC2など様々なリソースをターゲットに指定できます。 インターネットから直接ALBへアクセスすることが無いよう、インターナル型ALBで作成します。 API GatewayはRESTとHTTPのど
『ブログのインフラ構成を改善する』 にて残った以下の課題。 しかしこれによりWAFの ウェブACL x 1とルール x 1 の使用料が月6ドルが掛かってしまうので、そのうち(1)のLambda@Edgeでアクセス制限す流方法に変更しようと思う。 ということでWAFからLambda@EdgeによるBASIC認証へ移行する。 目的 今回の目的は以下4つ。 WAFをやめてBASIC認証で保護する TerraformでLambdaを管理するが関数コードは管理しない Lambdaのビルド&デプロイはTerraform外から行う ClojureScript + shadow-cljsでLambdaを作る WAFをやめてBASIC認証で保護する 『ブログのインフラ構成を改善する』 では「TerraformからWAFv2を使ってみたい」ということでブログ開発環境のアクセス制限に使用してみた。 とりあえず使
Terraformでインフラコードを管理しているとLambdaの管理は割と悩ましい問題になる。 Terraformで管理したいのはインフラコードであってアプリケーションコードではないのだが、 TerraformでLambdaのresourceを定義するためにはアプリケーションコードが必要になってしまうからだ。 当初考えていた手段は以下の通り terraform repositoryにlambda zip fileを置く lambda zip fileをs3で管理する terraform repositoryでapplication codeも管理してしまう terraformを諦めてSAM CLIを利用する etc ... できるだけterraformでの管理を行いたかったので、当初 02. を検討していたが、2020/08時点でterraformにある既知の不具合のせいで s3上のzip
この記事は、トレタのアドベントカレンダー2021の14日目の記事です。 。。。いや、なんぼはあると管理的な意味で困っちゃいますね。 みなさん、ドキュメント作ってますか?こんにちは。トレタでQAをしている福富です。 普段は(こないだプレスリリースも出た)デジタル塚田農場プロジェクトのO/Xの方でQAをしています。 (プレスリリースはこちら、O/Xについてはこちらをご参照ください!) こちらのプロジェクト、自分はキックオフから関わってきまして、たくさんのドキュメントをまとめてきました。 スピードが重要視されるプロジェクトにおいてドキュメントをいっぱい作るのは大変ですし、管理も辛いです。 でも、作ってきたドキュメントに助けられることも多々ありました。 今回は、自分がドキュメントをまとめる目的ならびに気をつけていること、実際にどんなドキュメントを作っているのかを紹介してみたいと思います。 なぜドキ
こんにちは、サーバーサイドエンジニアの Steven です。 この記事は Enigmo Advent Calendar 2021 の22日目の記事です。 今回は Vagrant 環境をリプレースすることとなった Docker 環境をどう早くしたかについて説明します。 スタート地点は Vagrant 環境 エニグモでは以前から VirtualBox と Vagrant によるローカル環境を使って、開発してました。 使い勝手は完璧ではなかったのですが、開発する分には問題がとくになく長年活用されました。 ただし、それは構築ができたらの話で、構築時間が長いのと、時間が立てば立つほど自ずと新しい構築エラーが発生して、随時対応しないといけない状態でした。 エンジニアの場合、超えられない問題ではなかったのですが、デザイナーなどテクニカルな知識がそれほどない方だと、サポートしてもハードルがかなり高かったで
カラーミーショップ では、近年急激に増え続けるEC需要に対応するため、システム全体の可用性向上を目指す「Boostプロジェクト」が組織されています。 自分はそのプロジェクトで主に既存アプリケーションを Kubernetes 上で稼働させるための移行作業として、アプリケーションのコンテナ化や、それらに伴うアーキテクチャの変更などを主に担当しています。 カラーミーショップはサービス開始から15年以上経っているため、古くから稼働しているアプリケーションも多くあり、それらを Kubernetes という新しいシステム上へ載せ替えようとすると、大抵一筋縄では行かないものです。今回は、その中でもレガシーな「ファイルキャッシュ」という仕組みを Kubernetes 上に移行する際に出た課題とその解決方法についてお話します。 なおこの記事の内容は、去る2021年12月9日開催された ペパボECテックカンフ
今年読了した40冊ほどの本の中で一番よかった「A Philosophy of Software Design」を紹介する。 所感 本書はソフトウェアエンジニアが設計やコーディングを行なうときに何を考えるべきか教えてくれる本だ。 発売から数年経ってから読んだ私が言える立場ではないが、今までの経験の中でモヤモヤしていたりはっきりと理由が言えなかった部分を一気に言語化してくれる本だった。 「アジャイル」、「オブジェクト指向」、「DDD」などソフトウェア設計には「良い」と呼ばれるプラクティスやパターンが多く存在する。 また、「戦術的なエッセンスだけ取り入れてもよくない、戦略的なところから取りくまないといけない」なんてことを耳にすることもある。 では戦略的なプラクティスに取り組めば必ず「良い」のか?必ずしも良いわけではない。 エンタープライズFizzBuzzというリポジトリがある。皆さんご存知のFi
みなさん、こんにちは! 福岡オフィスの青柳です。 今回は、AWSに関して書かれた書籍の「書評」をお届けしたいと思います。 タイトル: AWSコンテナ設計・構築[本格]入門 出版社: SBクリエイティブ 著者(敬称略): 佐々木 拓郎(監修)、新井雅也(著者)、馬勝淳史(著者) 出版社の書籍情報URL: https://www.sbcr.jp/product/4815607654/ 本の構成 (目次) 全5章の構成になっており、前半の1~3章で理論を学んだ後、後半の4~5章ではハンズオン形式で実際にAWS環境を構築する流れとなっています。 Chapter 01: コンテナの概要 1-1: コンテナという技術 1-2: Dockerとは 1-3: オーケストレータとは 1-4: コンテナ技術を導入するために考慮すべきこと Chapter 02: コンテナ設計に必要なAWSの基礎知識 2-1:
CodeDeployを使用したECS-FargateのBlue/Green Deploymentをしてみた。 はじめに Blue/Green Deploymentとは? Blue/Green Deploymentでは、2つの環境を作成します。1つの環境(Blue)は現在のアプリケーションバージョンを実行し、もう1つの(Green)は新しいアプリケーションバージョンを実行します。Green環境でのテストが完了すると、アプリケーショントラフィックはGreen環境に転送されて、Blue環境は非推奨になります。 この記事では、CodeDeployを使用したFargateのblue/green deploymentをしてみました。 やってみた Application Load Balancer の作成 Target Groupsの作成 EC2 コンソールで、Load Balancingで Targe
API Gatewayからバックエンドまで、自己署名証明書で構成されててもエンドツーエンドなSSL構成を取る方法 いわさです。 前回はパブリックなREST API GatewayからプライベートネットワークのEC2ウェブサーバーに対してエンドツーエンドなHTTPS通信をしてみました。 その際、ウェブサーバーが自己署名証明書を利用していたためにAPI Gatewayのバックエンドに指定することが出来ませんでした。 前回はパブリックな証明書に変更して通信させることが出来ましたが、自己署名証明書を回避できない場合、どういう対応をAWS側で取ることが出来るか検証してみました。 先にまとめ 以下のどちらかの方法で実現が出来ます。 ACM+LBをプライベートネットワークの前段において多段SSLにする API GatewayのSwagger+API Gateway拡張をつかって、エンドポイントの証明書の
Advent Calendar day 7 担当の vvakame です。 予告では Apollo Federation Gateway Node.js実装についてポイント解説 としていましたが、社内各所のご協力によりAdvent Calendarの私の担当日に間に合う形で公開できる運びとなりました。そのため告知とは異なりますが GitHub上のsensitive data削除の手順と道のり をお届けしていきたいと思います。 メルペイVPoE hidekによるday 1の記事で振り返りがあったように、今年、弊社ではCodecovのBash Uploaderに係る情報流出という事案が発生しました。当該インシデント対応において、プレスリリースにも記載のある通り、ソースコード上に混入してしまった認証情報や一部個人情報などの機密性の高い情報(sensitive data)について調査を実施し、対応
こんにちは、コンサル部@大阪オフィスのTodaです。 CloudOneやaqua、mackerelなどWebサービスには情報の取得、登録、変更、削除を外部ツールでおこなえるようにWeb APIが用意されている事が多くあります。 ここ最近私の方で業務最適化をするにあたりGoogleスプレッドシートとGoogle Apps Script(GAS)を利用して情報を集中管理する対応がありGASを利用したWeb APIの通信方法について学びましたので内容をまとめてみました。 Google Apps Script(GAS)とは? Google Apps Script(GAS)とは、Googleが開発しているプログラミング言語です。 JavaScriptというWebブラウザ上で動作するプログラミング言語をベースに作成されています。 ■ Google Apps Script https://workspa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く