ブックマーク / dev.classmethod.jp (52)

  • [アップデート] Aurora PostgreSQL 互換のログを CloudWatch Logs に出力できるようになりました! | DevelopersIO

    Aurora PostgreSQL 互換をお使いの皆さま。待望のアップデートが来ましたよ! Publishing PostgreSQL Log Files to Amazon CloudWatch Logs これまで Aurora MySQL 互換や、RDS for PostgreSQL は CloudWwatch Logs に対応していましたが、ついに Aurora PostgreSQL 互換でも利用可能になりました。 何が嬉しいのか CloudWatch Logs に出力することで以下のようなことが実装しやすくなります。 ログイベントを検出して通知したり、Lambda と連携して何かアクションを行う Kinesis Data Firehose と連携して S3 へログを保存 CloudWatch Logs Insights を使ってログの調査 制限 執筆時点で確認したかぎりでは、エンジ

    [アップデート] Aurora PostgreSQL 互換のログを CloudWatch Logs に出力できるようになりました! | DevelopersIO
    yasunori
    yasunori 2020/10/21
  • Stripeのオンライン決済を実装する時はChargesよりPayment Intentsを使おう #Stripe | DevelopersIO

    まずStripeのオンライン決済を実装するには3通りの方法があります。 Stripe Checkout: Stripeが提供する支払いページにリダイレクトして決済する Charges API: Charges APIを呼んで自前の支払いフォームで決済する Payment Intents API: Payment Intents APIを呼んで自前の支払いフォームで決済する Charges と Payment Intents 、どちらを使っても自前の支払いフォームでの支払いフローを構築できます。 しかし、Chargesの方は今後は拡張せずPayment Intentsの製品開発に集中することがこちらのページで説明されています。 なのでできればPayment Intentsの方を使いましょう。 補足ですが、移行は推奨されていますが2020/07/21現在Payment IntentsにChar

    Stripeのオンライン決済を実装する時はChargesよりPayment Intentsを使おう #Stripe | DevelopersIO
    yasunori
    yasunori 2020/10/09
  • AWS WAFV2でIPアドレス制限してみた | DevelopersIO

    最後に、ホワイトリスト化されていないIPアドレスからのアクセスを遮断するため、 「Default web ACL action for requests that don't match any rules」の Default action を Block にします。 Step 3:Set rule priority ルールが一つしか存在しないため、優先度(priority)の設定は不要です。 デフォルトのまま Next をクリックします。 Step 4:Configure metrics AWS WAFのアクティヴィティをトラッキングしたい場合は、CloudWatch にメトリクスを送信します。 Step 5 : Review and create web ACL 設定内容に問題がなければ、「Create web ACL」ボタンからACLを作成します。 動作確認 Web ACL を動作確

    AWS WAFV2でIPアドレス制限してみた | DevelopersIO
    yasunori
    yasunori 2020/08/31
  • AmazonLinux2のシスログをCloudWatch Logs に転送させてみた | DevelopersIO

    はじめに AWSチームのすずきです。 次世代の Amazon Linux として、LTS Candidate ビルドが公開されているAmazon Linux2。 そのシスログファイルの管理のため、CloudWatch Logs エージェント(awslogs)の設定を行う機会がありましたので、紹介させていただきます。 Amazon CloudWatch ログ ユーザガイド 実行環境 AWS東京リージョンのEC2 AMI: amzn2-ami-hvm-2017.12.0.20180115-x86_64-gp2 (ami-c2680fa4) IAM: 管理ポリシー 「CloudWatchLogsFullAccess」(arn:aws:iam::aws:policy/CloudWatchLogsFullAccess)をアタッチ 導入手順 インストール Amazon Linux2 標準リポジトリのパ

    AmazonLinux2のシスログをCloudWatch Logs に転送させてみた | DevelopersIO
    yasunori
    yasunori 2020/08/28
  • AWS特有の運用イベントまとめ(非障害系) | DevelopersIO

    【ACM】 サーバー証明書の有効期限切れ/自動更新失敗 ACMは、CloudFrontとELBと連携してサーバー証明書を提供するサービスです。 ACMで発行する証明書は1年毎に更新する必要がありますが、基的には自動更新されます。 ただし、場合によっては自動更新が失敗するケースがあります。 検証の仕組みは、以下のドキュメントを確認してください。 自動ドメイン検証の仕組み 自動検証に失敗した場合、EメールおよびPersonal Health Dashboardで通知されます。 自動検証に失敗した場合 また、外部で発行された証明書を利用している場合は、手動で更新する必要があります。 再インポートの手順は、以下のドキュメントを参照してください。 証明書の再インポート EV証明書が必要なケースでも無ければ、ACMで証明書を取得してオペレーションが発生しないようにしておきたいですね。 【Route

    AWS特有の運用イベントまとめ(非障害系) | DevelopersIO
    yasunori
    yasunori 2020/08/24
  • AWS を安全に使うために(IAM のベストプラクティス) | DevelopersIO

    セキュリティインシデントを止めるには IAM から。IAM の正しい使い方を一度覚えればセキュリティリスクは低減できます。AWS のドキュメント「IAM のベストプラクティス」をできるだけ具体的に解説してみましたのでご一読ください。 はじめに AWS を利用するにあたり、セキュリティをいかに確保するかが最優先事項となります。 今回は AWS を利用する際に一番最初に設定するであろう IAM で必要な設定について、AWS が推奨しているベストプラクティスに添って可能な限り分かり易く説明していきます。 IAM とは AWS の操作をより安全に行うため、AWS リソースへのアクセスを制御するためのサービスです。 IAM により、複数のユーザーに AWS リソースへの安全なアクセスを簡単に提供できます。 とある会社の場合 例として以下のような会社を定義します。 社長 x 1人 部長 x 2人(営業

    AWS を安全に使うために(IAM のベストプラクティス) | DevelopersIO
    yasunori
    yasunori 2020/08/10
  • [小ネタ] プライベートIPアドレスを指定して EC2 インスタンスを起動する方法 | DevelopersIO

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

    [小ネタ] プライベートIPアドレスを指定して EC2 インスタンスを起動する方法 | DevelopersIO
    yasunori
    yasunori 2020/08/10
  • パブリックサブネットで起動した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】RDS入門/イベントをメールで通知してみよう | DevelopersIO

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

    【AWS】RDS入門/イベントをメールで通知してみよう | DevelopersIO
    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
  • 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
  • ECRへのPushでECSをデプロイするだけのシンプルなCodePipelineを試す | DevelopersIO

    はじめに 瀬田@大阪オフィスです。1年に一つ、何か新しいことに手を出すことを目標にしているんですが、理解の浅いCode兄弟に入門してみることにしました。だってCodePipeline楽しそうなんだもの。 今回の構成 シンプルにECRへのPushでCodePipelineを発火させ、ECSにデプロイするだけの構成を作ります。 CodeCommitもCodeDeployも使用せず、S3から設定ファイルを取得します。 前提 ECRのリポジトリと、ECSは構成されているものとします。 手順 CodePipelineでSorceを作る(ECR+S3) ソースステージの編集からECRのソースを作成します。 ソースステージの編集から「アクションの追加」を押してS3のソースを作成します。 ポイントは、「S3 object key」に「imagedefinitions.json.zip」を入力しておくこと。

    ECRへのPushでECSをデプロイするだけのシンプルなCodePipelineを試す | DevelopersIO
    yasunori
    yasunori 2020/07/16
  • GitHub ActionでDockerコンテナをビルドしてAmazon ECRに保存する | DevelopersIO

    はじめに おはようございます、加藤です。下記のブログで、AWS認証情報の設定とAmazon ECRにログインするGitHub Actionが公開されている事を知りました。 これらを使って、GitHubで管理しているDockerイメージをビルドして、ECRに保存する方法を紹介します。タグが付けられて時にのみ動作し、そのタグをイメージに引き継ぐ仕様で作りました。 Continuous delivery of container applications to AWS Fargate with GitHub Actions | AWS Open Source Blog AWS IAM ユーザーの作成 GitHub ActionからAmazon ECRへアクセスする為の、IAMユーザーを発行します。マネジメントコンソールへのアクセスは必要無いので、アクセスの種類はプログラムによるアクセスのみを設定

    GitHub ActionでDockerコンテナをビルドしてAmazon ECRに保存する | DevelopersIO
    yasunori
    yasunori 2020/07/16
  • Amazon SESのSMTPエンドポイントを試してみた | DevelopersIO

    はじめに こんにちは、AWS事業部のニシヤマです。はいマスキュラー。 Amazon SESのSMTPエンドポイントを試してみたのでご紹介します。 AWS SESのSMTPエンドポイントって? みなさまAWSでメールを送信する際にAmazon SESを利用することが多いのではないかと思いますが、SESをSMTPエンドポイントとして利用して送信することでできるのはご存知でしょうか。SESAPIを利用して送信だけではなく、EC2などにインストールされたSMTP対応のソフトウェア(Sendmail、Postfixなど)からSESをリレーしてメール送信することが可能です。 前提 利用するリージョンのAmazon SESのサンドボックス解除していること 送信に利用するドメイン・メールアドレスの検証が済んでいること Amazon Linux 2でEC2が起動済みであること やってみる 今回は以下を参

    Amazon SESのSMTPエンドポイントを試してみた | DevelopersIO
    yasunori
    yasunori 2020/07/16
  • はじめての AWS CodeDeploy (プラス Auto Scaling) | DevelopersIO

    こんにちは、菅野です。 突然ですが、Auto Scalingって便利ですよね。 昔 Auto Scaling を使っていた時の話ですが、PHPのプログラムを変更する度に AMI を作り、Launch Configurations を作り直して・・・といった作業をしていました(所要時間20分くらい)。 昔の話なのでもういいのですが、AWS CodeDeployを使えばそんな苦労は不要らしいという事を知り今回初めて使ってみることにしました。 今回の目標 AutoScaling により作成されたEC2インスタンスへブラウザでアクセスした時に表示されるwebページを AWS CodeDeploy を使って更新する webページの管理に GitHub を使う では早速始めましょう! EC2 の準備 インスタンスを作成します。 作成時にタグを一つ追加しておいてください。(apl-name:test-a

    はじめての AWS CodeDeploy (プラス Auto Scaling) | DevelopersIO
    yasunori
    yasunori 2020/06/30
  • LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO

    こちらの記事はRDS ProxyがGAされる前に執筆した記事です。現在はLambdaからRDSを利用する場合、間にRDS Proxyを挟むという選択肢が増えているので、まずはRDS Proxyを使う/使わないの検討をお願いします。以後で紹介しているトピックの一部はRDS Proxy利用時は考え方が変わってきます。 CX事業部@大阪の岩田です。私が現在関わっているプロジェクトではLambda × RDSというアーキテクチャを採用して開発を進めています。開発を進める中でLambda × RDS(RDB)という構成についてある程度ノウハウが貯まってきたので、注意したいポイントやオススメの設定をTIPS的に紹介していきます。 環境 以後の説明では以下の環境の一部もしくは組み合わせを利用しています。具体的なコードやSQLの例はプログラミング言語やDBエンジンに依存しますが、根底の考え方はどの言語、

    LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO
    yasunori
    yasunori 2020/06/08
  • 【PythonのAPサーバー比較!!】NGINX Unit 、uWSGI、Gunicornのベンチマークを比較してみた | DevelopersIO

    PythonのAPサーバー比較!!】NGINX Unit 、uWSGI、Gunicornのベンチマークを比較してみた 2018年4月に正式リリースされた軽量Web/APサーバーNGINX UnitPythonのAPサーバーを構築し、他のメジャーなAPサーバーとベンチマークを比較してみました。 はじめに サーバーレス開発部@大阪の岩田です。 NGINX Unitを使ってDjango REST Frameworkのアプリを動かしてみたので、構築手順やGunicorn、uWSGIとのベンチマークの比較についてご紹介します。 NGINX Unitとは? NGINX UnitNGINX社が開発した軽量Web/APサーバーです。 WebサーバーのNGINXはご存知の方も多いと思いますが、実はこんなミドルウェアもリリースされていたりします。 2018年4月に正式リリースされており、2018年9月現

    【PythonのAPサーバー比較!!】NGINX Unit 、uWSGI、Gunicornのベンチマークを比較してみた | DevelopersIO
    yasunori
    yasunori 2020/06/02