yasunoriのブックマーク (14,206)

  • [小ネタ] プライベートIPアドレスを指定して EC2 インスタンスを起動する方法 | DevelopersIO

    はじめに EC2 インスタンスを VPC 内に起動する際、プライベート IP アドレスを指定して起動することができます。 Amazon EC2 インスタンスにカスタムプライマリプライベートアドレスを割り当てる - ナレッジセンター 通常は自動的に採番されるのですが、IP アドレスが固定である前提で使われていた EC2 インスタンスを急遽作り直す必要がある場合(例えば深夜の障害発生時!)など、止むに止まれぬ事情 があるときに便利ですね。 方法 上に紹介したリンク先にも書いてありますが、 EC2 インスタンスを起動する際に指定できます。 マネジメントコンソールから起動する場合 「インスタンスの作成」から AMI とインスタンスタイプを選択した後の、「手順 3: インスタンスの詳細の設定」の画面で設定します。 最初は指定する項目がでていなくて軽く面らうのですが、 インスタンスを起動するサブネッ

    [小ネタ] プライベートIPアドレスを指定して EC2 インスタンスを起動する方法 | DevelopersIO
    yasunori
    yasunori 2020/08/10
  • AWSでAZ障害が起きたのでなるべく影響を受けない構成の考えを書いておく - なんかかきたい

    AZ障害は受け入れるしかないクラウド時代のインフラ ただの日記。 今日の昼、AWSを利用している人たちは大変だったところもあると思う。 AZの一つが丸々機能しなくなる大きなAWSの障害があり、AWSを利用して運用されていたサービスは多かれ少なかれ影響を受けることになった。 完全に雰囲気で書いてしまうが、今回のAZ障害で影響を受けたサービスは思ったより多かったように感じる。 というのもAWSではアベイラビリティーゾーンの障害は発生するものと考え、番運用するのであれば、マルチAZ構成を取るのがベストプラクティスとされているので、 マルチAZ構成を取っていれば影響なんてないんじゃないの普通、と思ってしまうと思う。 インフラ屋さんでもそう思ってしまうし、インフラ屋さん以外ならなおさらなんで重くなるのかわからないと思う。 幸い自分の運用しているサービスでは影響が軽微だったので、完全に想像にはなって

    AWSでAZ障害が起きたのでなるべく影響を受けない構成の考えを書いておく - なんかかきたい
    yasunori
    yasunori 2020/08/09
  • AWS サイト間のVPN接続 | WAKU'S Notebook

    はじめに 今回は、サイト間をVPN接続(Site to Site VPN)をして、VPCに接続して、Privateなサブネットに入れるようにしてみたいと思います。 接続構成 これまでの構成にCustomer Siteが追加され、VPNゲートウェイが設置された状態になります。Customer Site と言っていますが、単に自宅なだけです。テストのため、YAMAHA RTX1100 を自宅に設置しています。 仮想プライベートゲートウェイの作成 VPCダッシュボードより、[仮想プライベートゲートウェイ] を開きます。 [仮想プライベートゲートウェイの作成] をクリックします。 分かりやすい名前をつけて仮想プライベートゲートウェイを作成します。 カスタマーゲートウェイの作成 VPCダッシュボードより、[カスタマーゲートウェイ] を開きます。 [カスタマーゲートウェイの作成] をクリックします。こ

    yasunori
    yasunori 2020/08/08
  • NATゲートウェイ構成時の注意事項 | iret.media

    初心者がハマるNATゲートウェイの落とし穴 1. 概要 2. NATゲートウェイの構築 — 2.1. EIPの作成 — 2.2. NATゲートウェイの作成 — 2.3. NATゲートウェイの冗長構成 — 2.4. ルートテーブルの編集 3. NATゲートウェイの制約 — 3.1. 帯域幅の制限 — 3.2. NATゲートウェイとセキュリティグループ — 3.3. NATゲートウェイとIPv6使用環境 概要 NAT(Network Address Translation)はIPアドレスを変換する技術であり、インターネットにアクセスする際、プライベートからパブリックのIPアドレス変換に使われ、知らぬ間に恩恵を受けていますね。 今回は多くの方が利用するAWSのNATゲートウェイについて、意外と知られていないハマるポイントを(自分の失敗談含めて)ご紹介します。 NATゲートウェイの構築 EIPの作

    NATゲートウェイ構成時の注意事項 | iret.media
    yasunori
    yasunori 2020/08/08
  • パブリックサブネットで起動したECS(EC2 + awsvpc)でコンテナがインターネット接続出来ない点について | DevelopersIO

    ECSクラスターへデータプレーンが参加している データプレーンをECSクラスターへ追加する時は「インターネット経由でECSと疎通が取れる」か「VPCエンドポイントを設定」する必要があります。 VPCエンドポイントは使用しておらず、インターネット経由でアクセスをしていることを想定しましたのでインターネット接続は問題ないものと考えておりました コンテナをチェック mackerel-container-agent自体の起動は問題なかったので、EC2へSSH接続 → docker execにてbashを起動し、ping、netcat、digコマンドが入っていないことを認識していたのでapt-getを実施したところタイムアウトしました。 この時点でNW部分が怪しい気持ちが増しました。 調査②:ネットワークモードを変更 ネットワークモードを変更(awsvpc → bridge) 確認観点としてネットワ

    パブリックサブネットで起動したECS(EC2 + awsvpc)でコンテナがインターネット接続出来ない点について | DevelopersIO
    yasunori
    yasunori 2020/08/07
  • 検証環境のFargateのタスクを定期停止・定期起動してみた #Fargate | DevelopersIO

    コカコーラ大好き、カジです。 お客様よりFargateを検証環境で複数構築していて、夜間停止したいとご要望をもらいました。 その方法について調査しましたので、ご紹介します。 参考元 以下のブログが大変参考になりました。ありがとうございました。 【小ネタ】FargateのAutoScallingをスケジュールベースで動かす方法 - Qiita 上記ブログでは、1つのFargateのECSクラスタ、サービスの停止起動ですが、私の方で、複数Fargateに対応できるようLambdaを修正しました。 (私は、Python素人なので、社内のPython詳しいメンバーにも助けてもらいました。感謝) 構築するもの 以下の3つでできます。 ECSのタスク起動数を変更するLambda 上記Lambda実行用のIAM Role 上記Lambdaを実行する(キックする)CloudWatch Events 前提条

    検証環境のFargateのタスクを定期停止・定期起動してみた #Fargate | DevelopersIO
    yasunori
    yasunori 2020/08/06
  • AWSのSESでバウンスメール(bouncemail)対策。3つの方法とメリット・デメリット - ブログ|ベトナムでのオフショア開発とスマートフォンアプリ開発のバイタリフィ

    こんにちは、AWSlambdaを使いこなしたいと思っている中村です。 今回はバウンスメール対策について実装パターン悩んだ話しを紹介します。 まずバウンスメールとは何かについて。 ■バウンスメールとは バウンスメール (bounce message) とは、電子メールの仕組みにおいて、送信したメールメッセージが何等かの理由で目的の送信先に正常に配信されなかった場合に、メールサーバからその旨を送信元に通知されるメールメッセージのこと。エラーメールやリターンメールとも称される。(wiki参考) 不正なメールアドレスだと、配信エラーになります。 その時に送信元に通知されるエラーのメールのことになります。 メールサーバーを構築する際には必須の対応です。 ■AWSSESとは AWSにはメール配信サービスとしてSES(Simple Email Service)というサービスがあります。 これは簡易に

    AWSのSESでバウンスメール(bouncemail)対策。3つの方法とメリット・デメリット - ブログ|ベトナムでのオフショア開発とスマートフォンアプリ開発のバイタリフィ
    yasunori
    yasunori 2020/08/06
  • STH サーバの実行 - fiware-sth-comet

    yasunori
    yasunori 2020/08/05
  • 開発運用の TIPS

    yasunori
    yasunori 2020/08/05
  • システム監視項目をどう定義するのか | クラウド導入・システム運用ならアールワークスへ

    はじめに ここでは「迅速な障害切り分けを可能にする、監視ポイントの設定の仕方」を見ていきます。 システム監視の2つの目的(「サービスの正常性の監視」「障害予防と障害原因の特定」)については、「システム監視とは?サービスの正常性確認、障害の予防と原因特定」をご参照ください。 監視項目を設計する際の考え方 監視ポイントは、下記手順で特定していきます。 (1) 何のサービスを監視するのか、を特定する。 (2) サービスを提供するために必要な要素は何か、を特定する。 (3) 必要な要素はどう絡み合うのか、を特定する。 (1) 何のサービスを監視するのか。対象システムの役割を定義する 外部から取得するデータを加工してコンテンツを提供するWebサイトを例にとって考えていきます。Webシステムの役割は3つに分けられます。

    システム監視項目をどう定義するのか | クラウド導入・システム運用ならアールワークスへ
    yasunori
    yasunori 2020/08/05
  • 【AWS】RDS入門/イベントをメールで通知してみよう | DevelopersIO

    はじめに こんにちは植木和樹です。Amazon RDS(Relational Database Service)はMySQLOracleMicrosoft SQLServerを利用することができ、クリックだけでデータベースが用意できてしまうという優れもののRDBMSサービスです。バックアップを取ったり、別のアベイラビリティゾーン(データセンター)に自動的にフェイルオーバーする設定もクリックだけで簡単に設定できてとても便利です。 さてRDSではデータベースが起動したり、フェイルオーバーしたり、バックアップが実行されたりすると「イベント」という形で通知されます。この通知は初期状態ではマネージメントコンソールからしか見る方法がありません。でも常にマネージメントコンソールの前に張り付いているわけにもいきませんので、やっぱりイベントが起きたらメールなどでお知らせがきてもらいたいですよね。 日は

    【AWS】RDS入門/イベントをメールで通知してみよう | DevelopersIO
    yasunori
    yasunori 2020/08/02
  • バッチ処理をECSに移行した話(GitHubActionsもあるよ)その1|ハンズラボ株式会社

    はじめに こんにちは、ハンズラボの清水です。東急ハンズのECサイトを担当しています。今回はEC2上で動いている外部ECモール連携バッチをAmazon ECS ScheduleTaskに移行しました。そして、GitHubにpushした際にECRにイメージをpushできるようなGitHubActionsも作成しました。今回はECSのScheduleTask機能を使用してバッチ処理を作成していきます。 ※外部ECモールとはyahoo楽天といったショッピングサイトのことです。 既存バッチ処理の内容 既存のバッチ処理ではEC2インスタンス上にバッチサーバーを用意、cronにスケジュールを登録してバッチを叩いています。 処理の内容としては、Auroraに追加された注文変更情報を取得して、注文情報商品の数量変更、注文キャンセル等を行っています。 今回は注文情報変更処理をECSに移行しました。 ECSへ

    バッチ処理をECSに移行した話(GitHubActionsもあるよ)その1|ハンズラボ株式会社
    yasunori
    yasunori 2020/08/02
  • awslogsでEC2のログをCloudWatch連携する方法 | 技術ブログ | ブログ | 株式会社COLSIS(コルシス)

    こんにちは、エンジニアのよこやまです。 EC2インスタンス内のログをawslogsでCloudWatch連携する方法について紹介します。 やりたいこと ログをCloudWatchに送信する CloudWatchでログを監視してSlackやメールでアラートする 日々溜まっていくCloudWatchログを定期的にS3にエクスポートする ログをCloudWatchに送信する Amazon LinuxのログのCloudWatch連携は、「awslogs」を使うと簡単に実現できます。以下のサイトを参考に、非常に簡単に主要なログをCloudWatch連携できました。 https://qiita.com/zaburo/items/57bf357065b7391e1a9d まず、EC2にCloudWatchログ出力可能なロールを関連付けします。リファレンスを参考に、必要なポリシーを設定します。 ロールの関

    awslogsでEC2のログをCloudWatch連携する方法 | 技術ブログ | ブログ | 株式会社COLSIS(コルシス)
    yasunori
    yasunori 2020/08/02
  • ALB 配下の EC2 インスタンスを Active Standby 構成(自動切り替え)にする - サーバーワークスエンジニアブログ

    ALB 配下の EC2 インスタンスを Active Standby 構成(自動切り替え)にする ALB配下の EC2インスタンス を 2台に冗長化するときに 1台をコールドスタンバイにして障害時に自動切り替えする構成を考える場面がありました (1,2) ALB配下に EC2インスタンスが 2台以上同時稼働する構成にバックエンド側が対応できない 2台分の料金を支払いたくない ALB のロードバランシングアルゴリズム ALBのリクエスト振り分け方式 ( ロードバランシングアルゴリズム ) は 以下の2つのいずれかになります ラウンドロビン → すべてのターゲット( EC2インスタンス ) を対象にして順繰りにリクエストを送信 最小の未処理のリクエスト → 未処理のリクエスト数が最も少ないターゲット( EC2インスタンス ) にリクエストを送信 下の図のように 1台の EC2インスタンスをコー

    ALB 配下の EC2 インスタンスを Active Standby 構成(自動切り替え)にする - サーバーワークスエンジニアブログ
    yasunori
    yasunori 2020/08/02
  • Amazon ECS サービスのスロットリング(コンテナ無限起動)をCloudWatch Eventsで検知する | DevelopersIO

    ども、大瀧です。 Amazon ECSのサービススケジューラは、ECSでサーバーアプリケーションを実行するための機能です。Auto Scalingなどもありますが、事前に設定したコンテナ数を維持するようにコンテナを適宜起動したり、コンテナのリビジョン管理をしてくれます。 コンテナ(ECSではタスクと呼びます)の実行を妨げる要因は様々あり、「起動しようとするけど動かずタスクの停止と起動を繰り返す」という無限ループ(スロットリング状態)になることがしばしばあります。ブログでは、これを検知するためにCloudWatch Eventsを利用する手法をご紹介します。 ECSタスクのライフサイクルとループのパターン ECSはDockerコンテナおよびその集合をタスク、タスクの状態をステータスとして把握し、そのライフサイクルを管理します。通常のライフサイクルはPENDING(実行待ち)→RUNNING

    Amazon ECS サービスのスロットリング(コンテナ無限起動)をCloudWatch Eventsで検知する | DevelopersIO
    yasunori
    yasunori 2020/08/02
  • Goで作るテキストエディタ - Sansan Tech Blog

    はじめに みなさんこんにちは。Sansan事業部プロダクト開発部のiOSエンジニア荒川です。 以前はRDBMSの記事*1を寄稿し、好評いただいたこともあり、定期的に車輪の再発明系の記事を書いていこうと思います。 さて日はタイトルの通り、VimEmacsに代表されるターミナルで動作するインラインテキストエディタをGoで開発してみました。 ソースコードは以下のリポジトリに置いているため、ぜひ参考にしてください。 github.com 完成品 文字だけだとイメージも湧きにくいので、まずは完成品をお見せします。 最低限エディタの動きは出来ている、というレベルの完成度ですね🙏 特徴 1000行インラインエディタ 文字入力/挿入/削除 画面スクロール キーボードショートカット ファイル読み込み/保存 Goのコードハイライト機能 実装の方針 今回はただ開発するだけではなく、いくつかのこだわりポイン

    Goで作るテキストエディタ - Sansan Tech Blog
    yasunori
    yasunori 2020/07/30
  • Docker 版 Nginx で timezone 指定にハマらない簡単な方法 - munepomの日記

    DockerNginx https://hub.docker.com/_/nginx/ ウェブサーバーのデプロイ、超楽になったご時世ですよね。 (envsubst のやり方だけが気持ち悪いと思っていますが…) Alpine Linux イイヨイイヨー 私は、軽量なイメージが好きなので、使えそうなら Alpine Linux 版を使います。 んが、 timezone を楽に指定できない。。。 docker-compose.yml の environment で、 TZ=Asia/Tokyo 指定したい場面、ありますよね。 Alpine Linux がベースのイメージだと (nginx:x.y.z-alpine) 、環境変数に TZ を指定して起動しても、 timezone 指定できません。 Issue には上がっているようですが、現状、 Dockerfile 書いて頑張るしか道はないよ

    Docker 版 Nginx で timezone 指定にハマらない簡単な方法 - munepomの日記
    yasunori
    yasunori 2020/07/21
  • IAMユーザ本人にMFAを管理してもらうためのIAMポリシー | DevelopersIO

    はじめに こんにちは、虎塚です。 組織でAWSアカウントを利用する際には、担当者ごとにIAMユーザを払い出し、各ユーザが自分でMFA (Multi-Factor Authentication) を有効にすることが推奨されています。クラスメソッドでも、お客様の環境ごとにIAMユーザを作成し、MFAを設定していただくようにお願いしています。 ここで問題になるのが、IAMのポリシーです。IAMユーザ人に自分自身のMFAを管理できるようにするには、どんなポリシーが適切なのでしょうか? このテーマは、当ブログの過去記事でも何度か登場していますね。 一般のIAMユーザにMFAを設定してもらう方法 | Developers.IO IAMによるAWS権限管理 – プロジェクトメンバーへの権限付与方針に潜む闇 | Developers.IO 2015年8月現在、上記で紹介されたポリシーでは正常に動かなかっ

    IAMユーザ本人にMFAを管理してもらうためのIAMポリシー | DevelopersIO
    yasunori
    yasunori 2020/07/20
  • IAMのスイッチロールを理解したい | DevelopersIO

    大阪オフィスのYui(@MayForBlue)です。 複数のアカウントで作業している際にアカウントの切り替えを楽にしてくれるIAMのスイッチロールですが、どんな仕組みになっているのかよくわからずモヤモヤしていたので、実際に手を動かして理解してみました。 目次 スイッチロールとは 実装の手順 まとめ 最後に 参考記事 スイッチロールとは 複数のアカウントで作業する際にアカウントの切り替えを楽にする機能 IAMについてはこちらの記事がわかりやすいです。 AWS初心者にIAM Policy/User/Roleについてざっくり説明する 実装の手順 複数アカウント間でスイッチロールするために必要な手順を実際にやってみます。 スイッチ先での作業 IAMの画面でロールを選択し、「ロールの作成」をクリックします。 信頼する対象に「別のAWSアカウント」を選択し、スイッチ元のAWSアカウントIDを入力して次

    IAMのスイッチロールを理解したい | DevelopersIO
    yasunori
    yasunori 2020/07/20
  • AWS運用設計 パッチ運用を考える | DevelopersIO

    こんにちは。 ご機嫌いかがでしょうか。 "No human labor is no human error" が大好きな吉井 亮です。 オンプレミスで稼働しているシステムを AWS へ移行する or すでに移行した会社は多いと思います。 移行にあたり運用設計を見直すことになりますが、AWS 特有の考え方や AWS サービスを活用するための運用はどのようにシステムに取り込んでいけば良いでしょうか。 今回は、主にエンプラ系システムの運用設計 パッチ運用について考えてみます。 パッチ適用の目的 前提としてパッチを適用する目的は以下です。 セキュリティホールを塞ぐ ソフトウェアのバグを修正する ソフトウェアの機能追加をパッチという形式で提供されることもある パッチ分類 パッチと一言に言っても様々なパッチがあります。 パッチ運用では適用対象ごとに分類していきます。 分類 説明

    AWS運用設計 パッチ運用を考える | DevelopersIO
    yasunori
    yasunori 2020/07/17