TECH PLAY

サーバーワークス

サーバーワークス の技術ブログ

5645

先日、リクルートHDが自社の新卒枠を30歳まで拡大することを発表して話題になりましたが、サーバーワークスはその前から『新卒で31歳を入社』させてました。それが私です。私は10年以上も大学にいたため、気づいたら三十路に入っており、就活を始めた時にはすでに31歳。リクルートが新しく設定しようとしている枠からも漏れるような状態でした。が、サーバーワークスはそれでも新卒として面接を進めてくれ、最終的に新卒入社内定となり、2017年4月に入社。今2年目になり、技術課に配属されました。そんな新卒2年目=32歳の私から見た、サーバーワークスの良いところを今回のブログでは紹介したいと思います。 とにかく人材が…
アバター
指定したS3バケットだけアクセスさせたいしバケット一覧も見せたくない! 多くの利用者さんが一つのAWSアカウントを使っているが、それぞれの利用者さんには指定したS3バケットにだけアクセスさせたい、ということがあると思います。 しかし、AWSのマネジメントコンソールからS3を利用するには、全てのS3バケットを一覧表示する権限(s3:ListAllMyBuckets)を IAM Userに付与しなければいけないため、S3バケット名すら見せたくない!という場合には、少し困ってしまいます。 場合によっては、利用者さんは CloudBerry Explorer for Amazon S3 や Cyber…
アバター
2017年12月から東京リージョンでも使用可能になったAWS Glue。データの加工や収集ができるともっぱらの噂ですが、どんなことに使えるんだろう・・・?ということで、S3に保存したデータを、Glueを使って加工してみました、というブログです。 はじめに 4月は花見で酒が飲めるぞ、5月は何で酒が飲めるんだっけ・・・? 技術1課の原です。昨年発表されたAWS Glue。どんな内容の機能かというと・・・ AWS Glue は、お客様による分析のためのデータの準備とロードが簡単になる、新しい完全マネージド型の ETL (Extract=抽出、Transform=変換・加工、Load=データのロード)…
アバター
こんにちは、技術4課の城です。 タイトルのとおり、踏み台として用意したLinuxサーバーを経由して、プライベートサブネットに配置されたWindowsサーバーにAnsibleで接続してみました。 以前、こちらのブログにて紹介しましたDocker for Windowsの環境から実施しています。 構成について 構成イメージは下記となります。 Dockerfileについて 踏み台経由でアクセスするには、踏み台にSSH接続する必要があり、Dockerfileにインストールするパッケージを追加しています。 Dockerイメージの構築やコンテナへの接続については前述のブログをご参照ください。 FROM a…
アバター
相変わらず、「センスがいいね」と一向に言われません。 ライセンスの話題を書くと、入力ミスで、 「あの人、ライセンスの記事書いてるよ」 「あの人、センスのある記事書いてるよ」 このような奇跡が起きそうなので、 Microsoftのライセンスの話しを書こうと思ったのでした。 はじめに 「Microsoft licensing on AWS」という資料が素敵でして、こちらの内容をまとめてみます。 なお、内容の正確性を保証はいたしかねますので、個別の内容については、各自でご確認をお願いいたします。 Microsoft製品のライセンスの概要 パブリッククラウドにおけるMicrosoft製品のライセンス …
アバター
技術 1 課の山中です。 今日、屋上で作業をしようとおもって上がったら、小雨が降っていてすぐに断念しました。 というわけで、本日は異なるアカウントの S3 バケットに対して VPC エンドポイント経由でアクセスしてみたいとおもいます。 構成について 今回は異なるアカウントとしてアカウント A とアカウント B を想定しています。 アカウント B には S3 バケットが存在し、アカウント A の Lambda からアカウント B の S3 バケットを参照します。 Lambda は Private サブネットにあり取得したデータを DirectConnect 経由で SFTP 等を利用してオンプレ…
アバター
皆さん、こんにちは。 カリフォルニアオフィスの臼坂です。 今回のブログでは、先日4/11と4/12に行われましたFacebook CEOのMark Zuckerberg氏によるアメリカ議会における質疑応答について書きたいと思います。 今回の質疑応答に関しては、2日間にわたり行われ、600以上の質問があり、合計10時間以上の会議となりました。 何故、Facebookが議会に招集されたのか? まず、昨今発覚したFacebookユーザー向けのアプリを作成したカナダのAleksandr Koganから英国のCambridge Analyticaへ不正にデータが販売されたことによる87百万人に及ぶFac…
アバター
OneLoginを利用していて、各クラウドサービスを利用する場合、OneLoginのポータル画面からアイコンをクリックしてログインを実施する必要がありました。 今回追加されたブラウザアドオン機能では、各サービスのログインページに移動して、OneLoginアドオンをクリックすると、ログインページと一致しているサービスが、ドロップダウンリストの上部に表示されるようになり、簡単にログインが行えるようになりました。※この機能は、Chrome, Firefox, Safari と Microsoft Edgeで利用可能です。
アバター
こんにちは、技術4課の井関です。入社して半年ほど経過しましたが、初のブログ投稿となります。 ポートをTCPにしてロードバランシングした場合、バッググランドのEC2では送信元のIPアドレスを取得することができません。 クライアント証明書を利用したい時などは、要件によってTCPを利用するケースがあるかと思います。 バッググランドのEC2で送信元のIPアドレスを扱う方法をご紹介いたします。 検証環境 Classic Load Balancer Amazon Linux AMI 2017.09.1 (HVM), SSD Volume Type Apache2.2 Apache側の準備 デフォルトでPr…
アバター
DNSが苦手な皆様、こんにちは。 技術4課、岩本です。 DNSサーバーの設定変更は、サービス全体への影響が大きくなる場合が多く、いつも神経使います。 AWSでは、マネジメントコンソールから比較的に簡単なGUIでRoute53を利用することが可能です。 ただし、GUI全般の弱点として、差分の確認や実行結果の確認(ドライラン)は難しいです。 そこでRoadworkerを使って、CUIからRoute53を管理してみます。 Roadworker とは? Roadworkerは、 DSL(Domain-Specific LangDSL)を用いてRoute53の管理が行えるコマンドラインツールです。 Ro…
アバター
クライアントからの通信をCLBを経由してサーバにTCPで分散する際に、クライアントのIPアドレスがCLBのIPアドレスに書き換えられます。CLBの背後に、Proxyがあった場合、送信元がCLBのIPアドレスになってしまうため、クライアントのIPアドレスによるアクセス制御ができなくなります。そんなとき、Classic Load Balancerで `Proxy Protocol` を有効にすることで、CLBを経由した後でも、クライアントの発信元IPアドレスを取得することができるようになります。こちらの構成を今回検証していました。 ProxyProtocol無効時(送信元がCLBのIP) Prox…
アバター
はじめに 花粉がかなり舞って、マスクしてる方多いですよね。僕の周りの方々もくしゃみしたりして大変そうです。 今回はエラー特集と題して、Serverless Frameworkを使ってて出たエラーの対処法(ちょっとだけ)をお送りします。 (後、やったほうがいいことも) エラーその1 「Missing required key 'Bucket' in params」 エラー内容 最初にserverless.ymlの「service」名を変更した後、sls deployを実行したときにこのようなエラーが発生しました。 An error occurred: ServerlessDeploymentBu…
アバター
はじめに AWS PrivateLink が遂に SNS をサポートしました! Securing messages published to Amazon SNS with AWS PrivateLink これまでは Private サブネットの Lambda から処理の結果を SNS で送りたいときなどはわざわざ NAT やプロキシを経由してインターネット経由で SNS の API をコールしなければなりませんでした。 しかし、今回 PrivateLink が SNS をサポートしたことで NAT 等がなくても Lambda から SNS でメールを送信できるようになりました! 試してみる …
アバター
こんにちは、技術4課の城です。 先日Ansibleの記事を書いたのですが、実行環境が違うと同じコマンドを投入しても、様々な原因でErrorとなってしまうことがあります。 特に当社はBYOD(BringYourOwnDevice)制度によりメンバーの端末がMACだったり、Windowsだったりしますので、対応が必要です。 簡単に実行環境をそろえるにはコンテナじゃないですか!ということで、Docker for WindowsでAnsibleを使ってみました。 実施した環境 実施した環境は下記となります。 OS:Windows 10 Pro バージョン:1709 Docker for Windows…
アバター
技術課の柏尾です。 「準備編」「スキーマ変換編」に続き、今回は「AWS DMS レプリケーションインスタンス」を利用したデータ移行を試してみたいと思います。 AWS DMS レプリケーションインスタンスの作成 AWS マネジメントコンソールにサインインし、AWS DMS を選択して、「移行の作成」ボタンを押します。 「レプリケーションインスタンスの作成」で、レプリケーションのインスタンスのパラメータを指定します。 値はチュートリアルどおりの値を設定します。 ステップ 7: AWS DMS レプリケーションインスタンスを作成する https://docs.aws.amazon.com/ja_jp…
アバター
技術課の柏尾です。 前回の「準備編」に続き、今回は「AWS スキーマ移行ツール(AWS Schema Conversion Tool)」を利用したスキーマ変更を試してみたいと思います。 事前準備 事前設定でJDBCドライバの設定をしていない場合は、「Global Settings」から「Oracle Driver Path」「MySQL Driver Path」にダウンロードした、それぞれのJDBCドライバへのパスを入力します。 AWS スキーマ移行ツール(AWS Schema Conversion Tool)によるスキーマ変換 AWS スキーマ変換ツール(以下SCT)を起動し、「File」→…
アバター
技術課の柏尾です。 AWS Database Migration Service(DMS)が発表されてから随分経ちますが、自分はまだ使ったことが無かったので、下記のAWSのドキュメントで提供されているチュートリアルを利用して学習してみました。 Amazon RDS Oracle データベースの Amazon Aurora MySQL への移行 https://docs.aws.amazon.com/ja_jp/dms/latest/sbs/CHAP_RDSOracle2Aurora.html ※チュートリアルの所要時間は約 2 時間です。AWS リソースを使用してこれを完了するための推定コスト…
アバター
全国のTerrafrom愛好家のみなさま、こんにちは。 技術4課岩本です。 まず、Terraformを使って、IPリストを登録する方法は以下になります。 CloudFront(Grobal)用の場合 resource "aws_waf_ipset" "ipset" { name = "tfIPSet" ip_set_descriptors { type = "IPV4" value = "192.0.7.0/24" } } 参考:aws_waf_ipset ALB用の場合 resource "aws_wafregional_ipset" "ipset" { name = "tfIPSet" i…
アバター
はじめましてこんにちわ、プロフェッショナルサービス課の佐藤です。去年の10月にJOINしておきながら、初ブログ投稿です。今回はそのあたりには触れずに、AppStream 2.0で日本語入力を行う方法について紹介したいと思います。 はじめに AppStream 2.0ではImageBuilderが利用できるようになっていますが、2018年4月現在、使用できるOSイメージがEnglishのみです。このためIMEを利用した日本語入力についてWeb検索するとクライアント側で入力した文字をコピーペーストする方法などが出てきますが、AppStream 2.0上でも直接、日本語入力することは可能です。このエ…
アバター
全国のLVM愛好家の皆様、こんにちは。技術4課 岩本です。 さて、とある案件でLVMを扱う機会がありましたので、そのまとめです。 LVMとは? まず、LVM(Logical Volume Manager)とは、複数のハードディスクの記憶領域を、 1つの論理ディスクとして扱うことのできるLinux/UnixOSのディスク管理機能です。 AWSでのユースケース EBSではディスクの拡張が容易に行えるため、オンプレミス環境でLVMを用いたディスクの拡張などの恩恵がありません。 ただし、EBSのI/Oには限界値があり、EBSで提供可能なI/O以上の性能を求められた際に、 LVMを用いた”ストライピング…
アバター