サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
cloudfish.hatenablog.com
昨今のテレワークブームはいかがお過ごしでしょうか?突然の世の中の働き方の転換を迎え、特に社内システム担当の方は非常に大変な状況に見舞われているのではないかと思います。 ゼロトラストやBeyondCorpなど最先端の企業ではもはやVPNは使わないといったことが取りざたされていますが、実際のところ一足飛びにそういった環境が用意できる訳でもなく、普段からそういったセキュリティポリシーをしっかりと考え仕組みを構築している企業だからこそ可能な取り組みかと思います。 そういう意味では、やはり昔ながらのVPNというのが簡単かつセキュアにリモートネットワークにアクセスする仕組みになるかと思いますが、そうした環境の構築も少なからず時間がかかるものになります。今回はそうした方々が簡単に導入可能なsshuttleという簡易なVPN環境が構築できるツールを紹介したいと思います。タイトルには簡易VPNと書きましたが
Amazon EKSを触り始めて4ヶ月ほど経ちました。これまでの構築の経験を踏まえてハマった点やこうした方がいいなどの気づいた点や参考になったブログなど、あまりまとまった内容ではありませんがメモとしてまとめておきたいと思います。 VPCのCIDR設計 インスタンスタイプの考慮 EKSクラスタの管理者権限 EC2のロールによるPodのアクセス制御 Pod(サービスアカウント)ごとのIAMアクセス制御 ワーカーノードの設定変更 リソース制限 eksctlのハマりポイント cluster.yamlで設定値が小文字だと認識されないしエラーも出ない クラスター作成時にPolicy指定でAmazonEC2ContainerRegistryReadOnlyは不要 eksctlのノード追加、削除時のエラー 作成時点のeksctlのバージョンで作成する。 CloudFormationテンプレートのタグを更新
Dockerでマルチステージビルドという機能を知ったので検証がてらCodeBuildで試してみました。 マルチステージビルドとは、例えばjavaアプリケーションにおいて、ビルドについてはjdkが入ったイメージを利用してビルドを行い、ビルドされたバイナリだけをjreが入ったイメージにコピーしてDockerイメージを作成することをDockerイメージのビルド時にできる機能となります。こうすることで簡単に実行するDockerイメージを小さくすることが可能となります。この機能はDokcerの17.05以降で利用可能となっています。 検証内容 Javaアプリをmavenがインストールされているコンテナでビルドして、jreがインストールされているコンテナをベースにイメージを作成しECRにプッシュします。 構成イメージは以下になります。 ECRの作成 イメージプッシュ用のリポジトリを作成します。 AWS
AWSの認定資格でビッグデータの専門知識を問われる試験のAWS Certified Big Data – Specialtyを受験しました。何とか合格できたので、この試験に向けて勉強した内容などを残しておきたいと思います。 試験概要 試験の概要は以下参照 AWS 認定ビッグデータ – 専門知識 受験資格 以下のいずれかの試験に合格している必要があります。 AWS 認定クラウドプラクティショナー AWS 認定ソリューションアーキテクト – アソシエイト AWS 認定デベロッパー – アソシエイト AWS 認定 SysOps アドミニストレーター – アソシエイト 試験対策 出題範囲の確認 関連するAWSのサービスについては、以下のブログが参考になります。 AWS Certified Big Data – Specialty – Blue Clouds サンプル問題 サンプル問題は必ず解きまし
fish shellでaws cliのコマンド補完を設定してみたので設定方法を紹介したいと思います。 環境 Mac Sierra fish 2.2.0 設定方法 bashやzshについては以下の公式で設定方法が紹介されているのですがfishはありませんでした。 docs.aws.amazon.com 色々調べたところ以下をfishのconfig(~/.config/fish/config.fish)に設定することでコマンド補完ができます。 complete -c aws -f -a '(begin; set -lx COMP_SHELL fish; set -lx COMP_LINE (commandline); /usr/local/bin/aws_completer; end)' 設定後にテストを行ったところ、以下のように補完候補の末尾に何故かバックスラッシュ(\)がセットされてしまい
ec2-scheduleではインスタンスタイプの変更も可能です。 今回はインスタンスタイプを自動で変更する方法を紹介したいと思います。 設定方法 DynamoDBのConfigTableに以下を設定 テーブル名はスタック名+ConfigTableになっています。 ex) 月曜から金曜までの9:00 - 20:00(日本時間)t2.micro 月曜から金曜までの20:00 - 9:00(日本時間)t2.nano scheduleレコード type name description periods timezone schedule ec2_type_change ec2 type change { "down-period@t2.nano", "up-period@t2.micro" } Asia/Tokyo periodレコード type name description timezone
AWS Answerで公開されているec2-schedulerを使ってみました。 EC2の自動起動、停止についてはLambdaを使って色々と工夫されているかと思いますが、このec2-schedulerはかなり高機能なソリューションになっていますのでぜひ利用を検討してもらえればと思います。 aws.amazon.com ec2-schedulerでできること EC2の自動起動・停止 RDSの自動起動・停止 EC2のインスタンスタイプ変更 構成 以下のような構成で提供されています。 デフォルトでは5分毎にLambdaが起動されて特定のタグが付与されているEC2、RDSの自動起動、停止を行っています。 デプロイ方法 以下のリンクからCloudFormationを該当リージョンから実行します。 リージョンごとに設定が必要になります。 Launch CloudFormation 設定方法 Dynam
AWS Glueで自動生成されたETL処理のPySparkの開発について、AWSコンソール上で修正して実行確認は可能ですがかなり手間になります。 そこで開発エンドポイントを使って開発する方法が提供されており、Apache Zeppelinなどを使ってインタラクティブに開発することができます。公式ドキュメントによると、エンドポイントを利用して開発する方法としては大きく以下の4つの方法が提供されています。 ① EC2上にApache Zeppelinを構築して開発エンドポイントへ接続 ② ローカルマシンにApache Zeppelinを構築して開発エンドポイントへ接続 ③ 開発エンドポイントへ直接sshしてREPL Shellを利用する ④ PyCharmのProfessional editionで開発エンドポイントへ接続 ①の方法がコンソールからワンクリックで開発環境を構築することができるの
前回、Glueの開発環境をDockerで作りましたが、zeppelinコンテナを起動してホストからsshフォワードを実行して接続するという構成でホストを意識する必要がありましたが、せっかくzeppelinをdockerで作っているのでsshフォワードを行う部分もdockerで実現できないかと思い考えてみました。 今回作った構成 データを永続化するためにdataコンテナとsshフォワード用にssh forwardコンテナを追加することにしました。 そのためzeppelinコンテナからはssh forwardコンテナに接続しにいくことになります。 こうすることでssh forwardコンテナには名前でアクセスできるので、毎回設定変更する必要がなくなります。 手順 ssh forwardコンテナ作成 docker-compose.yml作成 起動確認 ssh forwardコンテナ作成 以下のと
最近Sparkの勉強を始めました。 手軽に試せる環境としてPySparkをJupyter Notebookで実行できる環境を作ればよさそうです。 環境構築に手間取りたくなかったので、Dockerで構築できないか調べてみるとDocker Hubでイメージが提供されていましたので、それを利用することにしました。 今回は導入からサンプル実行までやってみたいと思います。 環境 Mac Sierra Docker for Mac 導入手順 Dockerイメージの取得 以下のコマンドを実行してイメージを取得してください。 イメージのサイズが約5GBあるのでディスク容量には気をつけてください docker pull jupyter/pyspark-notebook Dockerの起動 notebookのデータを保存しておくために、ローカルに適当なディレクトリを作成してDockerのマウント先を作ります。
前回はCloud9の初期設定までしたもののPHPについては、Ruby on Railsのようにワンボタンでの環境構築が準備されていなかったので、CakePHPかLaravelのどちらにするか迷った末に軽量FWと言われているLaravel5を導入することにしました。 プロジェクト作成 Workspace名とテンプレートにPHPを選択します。Hosted workspaceはPrivateでもPublicでもどちらも構いませんがPublicの場合はすべての人に公開されてしまいます。またフリー版ではPrivateのWorkspaceは1つだけとなっています。 Laravel5のプロジェクト作成 新しいタブでターミナルを開いてください。 以下のコマンドを実行してプロジェクトを作成してください。 rm README.md php.ini hello-world.php sudo composer s
最近はAWSのLambdaなどの開発でPythonを使うことが増えてきましたが、まだまだ慣れていないこともあり、ちょっとしたコードを書くにも関数名がわからないので都度ネットで調べないといけないのがすごくストレスでした。 開発環境としてはLinux上のVimで開発しているため、Vim上で動作するPluginがないか調べたところ「jedi-vim」というよさそうなpluginがあったため導入してみました。まだあまり使い込んでいませんが、コード補完だけでなく定義元への移動やPydocの閲覧もでき動作も軽いので結構気に入りました。 今回はjedi-vimの導入方法について紹介したいと思います。 環境 OS:Amazon linux Vim 7.4 導入手順 1.Neobundleのインストール 2.jedi-vimのインストール 3. 動作確認 Neobundleのインストール 以下のコマンドを実
httpでのアクセスをhttpsにリダイレクトしたいシーンがあると思いますが、AWSなどの環境上で構成を意識せずApacheなどのWebサーバにリダイレクト設定をしてしまうと意図せずリダイレクトループを起こしてしまうことがあります。 今回はhttpでのアクセスをhttpsにリダイレクトした際に起こりやすいリダイレクトループとなる状態を意図的に作ってみたいと思います。 1.環境の準備 下記の構成でサーバを準備します。詳細な設定方法は省略。 [構成図] ① ELB ポートの設定 80 → 80 443 → 80 SSL通信用に自己署名証明書を組み込んでおいてください。 ②EC2インスタンス Apacheをインストールし適当なテストページを作成しておいてください。 今回は「/var/www/html」をDocumentRootとしtest.htmlというページがあるものとします。 [テストページ
このページを最初にブックマークしてみませんか?
『cloudfish.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く