タグ

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

  • セッションマネージャー越しにSSHアクセスすると何が嬉しいのか | DevelopersIO

    セッションマネージャー越しにSSHアクセスする構成のメリットについて考えてみました。 なにそれ? 公式ドキュメントでいうと以下内容のことです。 Step 8: (Optional) Enable SSH connections through Session Manager もう少し詳しく まず、クライアントはセッションマネージャーを使ってアクセスしたいインスタンスにアクセスします。 もう少しこの部分を具体的に説明すると、クライアントがアクセスしているのはインスタンスではなく、SSM(Systems Manager)のエンドポイントです。 そして、アクセス先インスタンス内のSSM Agentがポーリングアクセスしていて、こちらを通じてアクセスしています。 そして、この接続の先で、SSH接続し直しているイメージになります。これが今回扱う「セッションマネージャー越しにSSHアクセス」です。 わ

    セッションマネージャー越しにSSHアクセスすると何が嬉しいのか | DevelopersIO
    michael26
    michael26 2020/08/27
  • ブラウザのテキストエリアでNeovimを使う | DevelopersIO

    はじめに 皆さんNeovim使っていますか!! Vimキーバインドに慣れるとブラウザのテキストエリアにカーソルを入れて、iボタンを押したとき世の中の非情さに涙を流します。なので仕方なく、「Terminalに戻りVimを起動して文章書いてコピー」→「ブラウザのテキストエリアにペースト」という生産的なのかよく分からない行動をとることになります。 Firenvimを使うと、ブラウザに自環境のNeovimを起動することが出来ます。ちょっと何言ってるかわかりませんね?試してみましょう! プラグインは、2019年11月3日に開催されたVimConf 2019のJustin M. Keyes様のセッションにて紹介されたものとなります。Neovimがどういうプロジェクトなのかも含め大変勉強になりました。 インストール 公式の手順の参照を推奨します。 プラグインのインストール 私はdein.vimのtom

    ブラウザのテキストエリアでNeovimを使う | DevelopersIO
    michael26
    michael26 2019/11/04
  • 以前やった社内向けDNS勉強会の資料を公開してみた | DevelopersIO

    ども、ゲストブロガーの大瀧です。 クラスメソッド在籍中の2018年2月頃社内向けにDNS勉強会を全4回で開催したことがあり、そのときの資料がひょこっと見つかったので公開してみます。(正確には第3回は聖剛さん担当だったので一緒に公開してもらいました、感謝。) 第1回 DNS入門 : DNSのしくみ、キャッシュ 第2回 DNSコンテンツサーバー : DNSサーバーの分散構成とゾーンの委任 第3回 DNSセキュリティ : DNS関連の攻撃手法とDNSSEC 第4回 AWSDNSサービス : Route 53とAmazon DNS DNSについての理解を深める一助にしていただければと思います。現職(SORACOM)でももちろん超重要な技術です! 第1回 DNS入門 スライド共有サービス終了に伴い、公開終了 第2回 DNSコンテンツサーバー スライド共有サービス終了に伴い、公開終了 第3回 DNS

    以前やった社内向けDNS勉強会の資料を公開してみた | DevelopersIO
  • Amazon Linux 2 ExtrasレポジトリのNginx、トピック名が「nginx1」になりました | DevelopersIO

    AWSチームのすずきです。 Amazon Linux 2 は extras レポジトリ を利用して Nginxパッケージを利用する際に指定するトピック名、 「nginx1.12」から「nginx1」に変更される更新がありましたので、お知らせします。 Amazon Linux 2にExtrasレポジトリからNginxをインストールする nginx1 amazon-linux-extras の トピック として 「nginx1」が追加されました。 info $ amazon-linux-extras info nginx1 nginx1 recommends nginx # yum install nginx install 2019年10月時点では、インストールされるNginxのバージョンは1.12.2。 トピック「nginx1.12」利用時と同じバージョンでした。 $ sudo amazo

    Amazon Linux 2 ExtrasレポジトリのNginx、トピック名が「nginx1」になりました | DevelopersIO
  • ALB + Cognito認証で付与されるユーザー情報をEC2サイドから眺めてみる | DevelopersIO

    ALBはCognitoと組み合わせることで、簡単にWebサーバーの認証機能を実現できます。超便利。 ALBとCognitoを組み合わせた認証については、弊社ブログで解説しているのでこちらを御覧ください。 インフラエンジニアが一切コードを書かずにWebサーバーに認証機能を実装した話 | DevelopersIO ブログでは、ここからもう一歩踏み込んで、ALBが認証後EC2に何を渡しているのか?(EC2はユーザー情報をどう受けとっているのか?)を眺めてみます。 構成図 こんな感じのシンプルな構成を作ります。ALBへのアクセス時に、Cognitoと連携して認証を行います。CognitoでログインできたユーザーだけがEC2上のコンテンツにアクセスできます。 ALB + Cognito認証のおさらい ALB + Cognitoの認証がどういったフローで動いているか、ここで一度おさらいしましょう。

    ALB + Cognito認証で付与されるユーザー情報をEC2サイドから眺めてみる | DevelopersIO
  • asyncioでPythonの非同期処理を書いてみる | DevelopersIO

    こんにちは、CX事業部の夏目です。 LambdaAWSリソースへアクセスする際に直列的に処理するのではなく、並列的に処理したいことは度々あります。 NodeだとPromiseを使えば簡単にできるのですが、Pythonではどうやるのか気になったので調べてみました。 注意 ここではPython3.5以降を使うことを想定して書いてます。 asyncio モジュール Pythonではasyncioモジュールを使って並列的に処理を書くことができます。 超ざっくり言うと、イベントループを使ってコルーチンを実行しているようです。 それ以上の説明は下記記事を見てください。 Pythonの非同期通信(asyncioモジュール)入門を書きました - ゆくゆくは有へと 非同期処理のことから知らない人向けに Python くらいしかろくに知らない人間が書きました。せっかくキーワードが文法に組み込まれたんだから

    asyncioでPythonの非同期処理を書いてみる | DevelopersIO
  • クラスメソッドの自社開発EC/CRMプラットフォーム「prismatix」のご紹介 | DevelopersIO

    事業開発部の塩谷( @kwappa )です。 入社初日にジョインしましたブログを公開したところ、結構な数「びっくり」「意外だ」という声がありました。そうかなー意外かな?と理由を考えたところ、B2CのWebサービスを運営する会社に所属していたイメージが強かったからかな、と思い当たりました。 確かに、クラスメソッドはブログとAWSのイメージが強いのは間違いありません。自社プロダクトを展開していることは、あまり知られていないようです。 「B2CのWebサービス」ではありませんが、自社で開発・運用しているプロダクトがあります。それが、事業開発部で担当している「prismatix(プリズマティクス)」です。 prismatixとは ざっくり言うと「EC(eコマース : 電子商取引)とCRM(カスタマーリレーションシップマネジメント : 顧客関係管理)のバックエンドとして各種APIを提供するマイクロサ

    クラスメソッドの自社開発EC/CRMプラットフォーム「prismatix」のご紹介 | DevelopersIO
  • 爆速でFargateをスケールさせる「aws-fargate-fast-autoscaler」を試してみた | DevelopersIO

    CloudWatchだけでは実現できない超高速なFargateのスケール処理をCDKをつかったStep Functionsで実装しているリポジトリです。是非参考にしてみてください。 「Fargateをいかに早くスケールさせるか、そこに命をかけた男がいた…」 先日参加したセミナー(コンテナ好き4名がコンテナの魅力を喋り倒すJAWS-UGコンテナ支部に行ってきた)にそんな男がいたわけですが、その仕組を改めて動かす機会があったので、紹介します。 CloudWatchを利用しないStep Functionsを利用した爆速スケールの仕組み CDKによる環境一式のデプロイ という両面で非常に参考になるリポジトリです。そのあたり興味があるかたは是非一度この記事を読んでいただきながら皆さんの環境でためしていただきつつ、今後のStep Functionsの使い方やCDKのサンプルとして活用いただければと思い

    爆速でFargateをスケールさせる「aws-fargate-fast-autoscaler」を試してみた | DevelopersIO
  • Ansible使いの人はちょっと見逃せない。AWS Systems Managerで複雑な構成のAnsible-Playbookの実行が可能になりました | DevelopersIO

    AWS事業部 梶原@新福岡オフィスです。 数日前に、AWS Systems Manager で複雑な構成のAnsible-Playbookの実行がサポートされました。 https://aws.amazon.com/jp/about-aws/whats-new/2019/09/now-use-aws-systems-manager-to-execute-complex-ansible-playbooks/ 一瞬、以前からAnsible Playbookの実行はできてたじゃん。とスルーしそうになったんですが、Complexの文字が目にとまりました。 よくよく読んでみると、S3 or Github上のzip またはディレクトリ構造のPlaybookを実行できるとの記載があります。 そうです、AnsibleのBest Practicesに沿った構成のまま、EC2上でAnsible-Playboo

    Ansible使いの人はちょっと見逃せない。AWS Systems Managerで複雑な構成のAnsible-Playbookの実行が可能になりました | DevelopersIO
  • CloudFront と API Gateway で SPA の CORS 問題をイイ感じに解決する | DevelopersIO

    渡辺です。 弊社ではお客様の悩みや問題を解決するアンサーブログという文化がありますが、新しく「ドキュメントはブログ」というのを試しています。 現在、 Developers.IO Cafe はSPA(Single Page Application)で構成されています。 SPAとは、単一のウェブページ上でJavaScriptによるルーティングの処理を行うWebアプリケーションです。 一般的に、SPAで内のコンテンツは、APIを通して取得します。 この時、悩ましいのが CORS(Cross-Origin Resource Sharing) です。 エントリーでは、カフェのSPAでとったCORS対策について解説します。 CORSとは? CORSとは、簡単に言うと、 ウェブサイトが異なるドメインに対するAPIリクエストをブロック する仕組みです。 あるウェブサイトを開いている時、まったく関係ない別

    CloudFront と API Gateway で SPA の CORS 問題をイイ感じに解決する | DevelopersIO
  • API Gateway バックエンドのLambdaにおけるジレンマをLayerで解決する | DevelopersIO

    渡辺です。 Developers.IO Cafeのブログドキュメントシリーズ第3弾は、Lambdaの構成に関するトピックです。 Lambdaは小さな独立した処理(プログラム)を実行するには適したサービスです。 一方、多くの関連する処理を行うAPI Gatewayのバックエンドとして利用する場合、必ずしも適したサービスとは言えません。 例えば、一般的なウェブアプリケーションフレームワークでREST APIを構築したとしましょう。 フレームワークは、単一アプリケーションとしてサーバ上で実行されます。 リクエストは、フレームワークでルーティングを解決され、対応する処理(アクション)がキックされます。 前段にELB等のロードバランサが入ることもありますが、雑に言えばこういう仕組みです。 このよう場合、 共通処理を切り出し、各処理から呼び出す構成にする のが一般的です。 そうしなければ、各処理のコー

    API Gateway バックエンドのLambdaにおけるジレンマをLayerで解決する | DevelopersIO
  • クラスメソッド 標準セキュリティチェックシートを公開しました | DevelopersIO

    オペレーション部 江口です。 私の主業務はクラスメソッドメンバーズサービスの品質管理や内部監査なのですが、その活動の一環として企業としての標準のセキュリティチェックシートを作成しました。 このチェックシートがこのたびクラスメソッドの企業サイトで公開されましたのでご報告です。 具体的には「ポリシー」ページに「セキュリティチェックシートの提供」という項目が追加されています。 https://classmethod.jp/policy/ 作成・公開の目的 当社はISO27001/27017、PCI-DSS、Pマーク、SOC2など、様々な認証を取得しセキュリティやサービス品質の向上に努めています。 ですが、お客様によっては認証取得の事実だけでなく、実際にセキュリティ対策としてどのように取り組みを行なっているか、もう少し具体的な情報をご要望いただくことがあります。 そうしたお問い合わせの一助として、

    クラスメソッド 標準セキュリティチェックシートを公開しました | DevelopersIO
  • AWSセキュリティベストプラクティスを実践するに当たって適度に抜粋しながら解説・補足した内容を共有します | DevelopersIO

    こんにちは、臼田です。 皆さん、セキュリティ意識してますか?(挨拶 今回はお客様宛にAWSセキュリティベストプラクティスについて補足・解説したものを汎用化して共有します。 公式のドキュメントだと少し硬くて読みづらいみたいなイメージもあるかと思いますので、こちらの記事を参考に感覚を掴んでいただければと思います。なお、いろいろ簡潔にしたりするためにすべてのことについて説明していませんのでご了承ください。 熟読いただきたい資料 AWSセキュリティベストプラクティスの資料は当は熟読していただきたいです。しかしながら、最初はとっつき辛いと思うのでこの先の内容を見ていただいて、余力があればこちらのセキュリティベストプラクティスを見ていってください。 https://d1.awsstatic.com/whitepapers/ja_JP/Security/AWS_Security_Best_Prac

    AWSセキュリティベストプラクティスを実践するに当たって適度に抜粋しながら解説・補足した内容を共有します | DevelopersIO
  • セキュリティグループのSSH全開放をAWS Configで自動修復したら3分くらいで直ったからみんな使ってほしい件 | DevelopersIO

    こんにちは、臼田です。 皆さん、自動化してますか?(挨拶 先日AWS Config Rulesでコンプライアンスに非準拠となった時に自動修復ができるようになりました。 もともとはLambdaを経由して自動修復が可能でしたが、今回はConfig Rulesで違反を検知してそのままSSM Automationを実行できるのでよりスマートに、より適切になった感じです。詳細は下記をご確認下さい。 [アップデート] AWS Config Rule 非準拠リソースを自動修復する機能が追加になりました! で、今回はこの機能を利用してSSHを0.0.0.0/0で全開放してしまったセキュリティグループを自動的に修復するという事をやってみました! タイトルに結論を書きましたが、3分くらいで自動的に修復されましたのでぜひ活用してほしいです。 SSHを全開放することは万死に値するので、もうすべてのAWSユーザはこ

    セキュリティグループのSSH全開放をAWS Configで自動修復したら3分くらいで直ったからみんな使ってほしい件 | DevelopersIO
  • 【速報】もうアンチパターンとは呼ばせない!!VPC Lambdaのコールドスタート改善が正式アナウンスされました!! | DevelopersIO

    CX事業部@大阪の岩田です。 re:invent2018にてアナウンスされたVPC Lambdaの改善について、ついにAWSより公式のアナウンスがありました!! Announcing improved VPC networking for AWS Lambda functions 今後数カ月に渡って全リージョンで徐々にローリングアップデートが掛かっていき、展開が完了したリージョンについては上記AWSのブログが更新されるとのことです。ユーザー側では特に変更操作など必要ありません。 今までのアーキテクチャ これまでのVPC LambdaLambdaのサンドボックス環境を作成する際に、必要に応じてENIの作成&アタッチ処理を行なっていました。 ※上記AWSのブログより引用 このアーキテクチャは以下のような課題を抱えていました。 ENI作成を伴うコールドスタートにおいての非常に大きな遅延が発生

    【速報】もうアンチパターンとは呼ばせない!!VPC Lambdaのコールドスタート改善が正式アナウンスされました!! | DevelopersIO
  • 弊社で使っているAWSリソースの命名規則を紹介します | DevelopersIO

    みなさんこんな画面を見たことありませんか?? このような状態は避けるべきです。理由は以下の通り。 各リソースの役割がわかりにくい オペレーションミスが発生しやすい リソース削除などの判断が難しくなる 単純に見栄えが悪い そこで今回は弊社が環境を構築する際によく使う命名規則を紹介したいと思います。 新規でリソースを作成する際に参考にしていただけると嬉しいです。 ※AWSアカウントでシステムや環境を分離していたとしても、命名規則を守ったほうがリソースの見通しがよくなります。 リソース名から何を知りたいのかを考える みなさんはリソース名(主にNameタグ)から何を知りたいですか?? 対象のリソースによっても異なりますが、共通で知りたいものは以下になるかと思います。 対象システム 環境(番、検証、開発) また、リソースによってはこれ以外に知りたい情報もあるはずです。 Subnet、RouteTa

    弊社で使っているAWSリソースの命名規則を紹介します | DevelopersIO
  • SingleAZ配置のEC2インスタンスで障害発生時の影響を最小化する | DevelopersIO

    SingleAZ配置のEC2インスタンスにおいて、障害発生時にどのような対応が取れるのか整理してみました。 西澤です。8/23(金)に東京リージョンにおいて大規模な障害が発生し、多くのシステムが影響を受けました。この障害に際して、可用性を担保する設計の重要性を考えさせられた一方で、切り捨てるものを決め、迅速に復旧し、障害の影響を最小限に抑えることも大切なことだと痛感しました。シングル構成のシステムを運用されていて、復旧に苦労された方も、運良く被害に遭わずに済んだ方も、一緒に考える機会となればと思い、考えたところを残しておきたいと思います。ご意見大歓迎です。 前提 そもそもAWSのベストプラクティスとしては、すべてのシステムはMultiAZで動作するように設計すべきです。では、SingleAZ構成で番システムを運用することは論外ですか?果たしてそうでしょうか? 初期コストも運用コストも無限

    SingleAZ配置のEC2インスタンスで障害発生時の影響を最小化する | DevelopersIO
  • 8/23東京リージョン障害中の当ブログ稼働を紹介します | DevelopersIO

    発生原因 ap-northeast-1a(ID:apne1-az4) に設置されたELBのノードが、5XXのエラー応答を戻していました。 暫定対処 ELB(ALB) で利用していたAWS WAFの保護設定を一時的に解除、ELB_5XXエラーが抑制された事を確認しました。 対応経緯 14:20 チャットの通知より、DevloppersIOのブログ基盤から HTTP 5XX の発生している事を確認 14:30 ElasticBeanstalkのダッシュボードの「WARN」イベントより、HTTP 5xx の発生状況を確認 CloudWatchの ALB ダッシュボードより、HTTP 5XX の発生状況を確認 ALBのCloudWatchメトリックより、ELBに起因する「ELB_5XX」エラーである事と、 AZ別のメトリックより ap-northeast-1a(ID:apne1-az4)、アベイア

    8/23東京リージョン障害中の当ブログ稼働を紹介します | DevelopersIO
  • iOSエンジニアとして入社した僕が AWS認定資格 11冠 になった話 | DevelopersIO

    試験を受けるきっかけ 僕が入社した当初、資格取得を奨励していたこともあり、半ば強制でソリューションアーキテクト – アソシエイトの試験を受験させられました。今考えれば 完全にパワハラ ですよね。 それから2年後、iOS開発者として色々な案件に従事してきましたが、いろいろな領域の開発に興味が出てきたこともあって、サーバーレスアーキテクチャを採用した開発案件に飛び込みました。ちょうどその頃、 サーバーレス開発部 の立ち上げが重なり、 AWS の勉強を格的に始めました。 SAP [期限: 2017-11-30] DOP [期限: 2017-11-30] Chatwork のタスクにこの2つが 部長 から追加されていたことは今でも忘れられません。 今考えれば 完全にパワハラ ですよね。ただ、労働基準局に駆け込むよりも「よし、やってやろう」という気持ちの方が大きかったです。取得した ソリューション

    iOSエンジニアとして入社した僕が AWS認定資格 11冠 になった話 | DevelopersIO
  • 知っているようで意外と知らなかったPython小ネタ集 | DevelopersIO

    仕事ではよくPythonを書いています。 よく使うのでそれなりに知っている気になっていたのですが、 コードをレビューしてもらったりを読んだりしているうちに”もっと早く知っておきたかった・・・”というネタが溜まってきたので、その中から厳選した5つの小ネタをまとめてみました。 *この記事で使用しているPythonのバージョンはPython 3.7.3です。 この変数、一体何桁? 例えばこんな変数があったとします。 num1 = 100000000 num2 = 10000 num3 = 3023204903 こんな変数がたくさんあったらどうしましょう。 桁を数えるだけで目が疲れそうです。 ぱっと見でだいたい何桁あるかわかるといいですよね。 Pythonでは数値型に_を挟んでも、そのまま数値として計算することができます。 >>> num1 = 100_000_000 >>> num2 = 10

    知っているようで意外と知らなかったPython小ネタ集 | DevelopersIO