フラミナル

考え方や調べたことを書き殴ります。IT技術系記事多め

【Terraform】IAMで配列変数を扱うときの方法

IPアドレスのリストを変数で用意して、それをIAMで呼び出す時にこんなエラーが出ます。これを解消するTipsです。 # 変数ファイル IPaddress_list= [A,B,C,D] --- # Terraformコード access_policies = <

Djangoのサンプル動かして気になる点を調査した

データベースのマイグレーション models.pyを更新したらアプリが再読み込みされる 今回とりあえず触ったのはこちらの手順。ありがとうございます。 qiita.com データベースのマイグレーション コードのModelの情報に従ってデータベースのマイグレーションを…

Django初心者が全体感を理解するため調査した内容まとめ

前提知識 Djangoについて調べる MTVモデルとは?MVCモデルとの違い MVCとは? MTVとは? DRF(Django Rest Framework)とは? WSGI(Web Server Gateway Interface)とは? 参考動画 uWSGIとは? 参考動画 ASGI(Asynchronous Server Gateway Interface)とは? 今…

駆け出しWebエンジニアのポートフォリオを超レベルアップさせる観点を紹介します

誤字脱字をなくそう なぜそれを作ったのかを書こう 技術選定の理由を書こう 設計をドキュメントに書こう、あと図もね 非機能を考慮しよう ボトルネックを考えてみよう 妥協した点 / こだわった点を書こう まとめ ※Webアプリのポートフォリオの話をします コ…

SASE(Secure Access Service Edge)とは何なのか?をまとめます

SASEの読み方 SASEが解決すること / 背景 SASEのアーキテクチャ SASEの製品 参考 SASEの読み方 さしー らしいです。イントネーションは「さ」にありますね。 SASEが解決すること / 背景 複数の拠点をもつ会社や、在宅・リモートワークで個人のPCやスマホから…

【Go】runeについて理解する(サンプルあり)

結論 前提知識 Golangにおける文字の扱い runeについて 結論 runeはGoにおける型の1種類 rune型を用いることで、文字列を1文字づつ扱うことができる 前提知識 まず最初に文字コード(コードポインタ)や文字集合と符号化方式について理解しましょう。 こちらの…

【Go】パッケージ/モジュールやgo modコマンドについてまとめ

Packageとは Module(モジュール)とは go.modとは go.sumとは コマンドの意味 go get [import path] go install [import path] go mod init [import path] go mod tidy 試してみよう Moduleを作ってインストールしてみる Goを操作する上で基本となるPackageや…

DjangoとAuthleteを使ってOAuth/OIDCを理解する

OAuth2.0 とは 脱線: OpenID Connectとは? OAuthの配備パターン DjangoでOAuthを試してみる 環境構築 アクセストークンの発行 通信フローを整理 Bearerとは? アクセストークンを使ってアクセスする curlを叩いてみる OAuth2.0 とは アクセストークンの要求…

ZOZOのAPI Gatewayの事例を読み込んでみて理解して&学びを得る

はじめに 今回紹介する記事 ZOZOTOWNについて ZOZOTOWNにおけるAPI Gateway 自分だったらどう考えるか? 個人的に勉強になる点 ドキュメンテーション & スキーマ テスト API Gatewayをカナリアリリースする まとめ はじめに 世の中にはすごいエンジニアや、…

Datadogコンテナ/Podからnetconntrackを収集する設定

datadogイメージにconntrackをインストールする manifestにCAP_NET_ADMINを足す Datadog podを hostNetwork: true にする datadogイメージにconntrackをインストールする FROM datadog/agent:latest RUN apt-get update \ && apt-get install --no-install-r…

Golang学習(値渡し/ポインタ/switch/for/defer/panic/recover)

教材 学んだ事 値渡しについて switch~caseの使い方 switchで関数呼び出し&caseで複数条件 caseで関数呼び出し可能 フォールスルー(fall through) forの使い方 通常 条件付きループ 無限ループ defer / panic / reccover defer panic recover 教材 Go で制御…

Podにannotationやlabel情報をマウントして環境ごとに振る舞いを変えられるようにする

ユースケースとしてマルチクラスタのKubernetesなどを利用している場合、同じPodであってもロケーションや役割によってびみょーにやりたいことや振る舞いを変えたいケースがあります。かといって少しづつ変更するのは面倒…。 たいていのケースの場合、マルチ…

Fluentdを手動で起動してみるハンズオン

環境 手順 環境準備 テストを実行してみる 起動してみる 環境 vagrant@ubuntu-bionic:~/fluentd$ uname -a Linux ubuntu-bionic 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 手順 環境準備 vagrant@ubun…

Nginx manifest サンプル/sample/example

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx i…

【オンプレ/AWS/GCP】 ClusterIP / NodePort / External IP / Loadbalancer / Ingress / Router の違いとその動き

KubenetesのPodを外部公開する時のそれぞれの流れについて図ありで解説します。 ClusterIP ClusteIPの振り分けについて NodePort External IP LoadBalancer クラウドの場合 オンプレの場合 Ingress クラウドの場合 オンプレの場合 Router(Openshift) Cluster…

GreenPaper(グリーンペーパー)とWhitePaper(ホワイトペーパー)の違い

この記事は言葉の正確な定義を記載するものではなく、私が理解したそれぞれのドキュメントの立ち位置をまとめたものです。ご注意ください。 GreenPaper(グリーンペーパー) 元々の意味は政策決定の「議論のたたき台」として政府が提出する提案書のこと これを…

メンバーにお願いした「別チームと連携するタスク」がグダグダになったので解消法を考える

起こったこと 課題の詳細 具体的な問題点 気付き 改善策 実際に遭遇したマネジメントに関する問題について考えてみる。 起こったこと 別チームへのアウトプット受け渡しがぐたぐたになり、迷惑をかけた アウトプットの品質が悪かった 課題の詳細 自分がリー…

SessionManagerを使用したFargate踏み台のベストプラクティス

はじめに Fargate踏み台で設定すること 作業ログ取れない問題 残し続けるものはEFSへ コンテナで使うパッケージの管理 コンテナはMulti-AZ構成にしよう コンテナを作り直すのはコンテナの外でやろう タイムアウト値を伸ばそう はじめに AWS環境を作ると踏み…

CNIのCiliumについて調べてみた

調査テーマ Ciliumとは? / 登場背景 / 解決すること Ciliumとは? 登場背景 Ciliumが解決すること eBPF(extend Berkeley Packet Filter)とは? XDP(eXpress DataPath)とは? Ciliumができること/他との違い Nodeを跨ぐ通信の実現(CNI) ロードバランシング …

EKSにおけるIMDSについて調べてみた

EKSを使う際に注意すべきという情報をゲットしたのでまとめます。 Amazon EKS セキュリティのベストプラクティス - Amazon EKS IMDSとは? ちなみに脆弱性の対象になることも… EKSにおけるIMDS 結局どうすればいい? 注意事項 IMDSとは? AWS EC2におけるイ…

NICのプロミスキャスモードとは何か?

Wiresharkやtcpdumpを利用している際に設定されるプロミスキャスモード(promiscuous mode)とはどんなものかを調べてみた。 プロミスキャスモードとは? 自分自身以外の通信を集める仕組みとは? 意図的に他の機器の情報を集めるには? プロミスキャスモード…

Volterraについて調べてみた(更新中)

用語 Namespaces Podを外部公開する Origin Pool Origin Poolの設定 Site内のネットワークトポロジー singleNICの場合 Multi NIC(以上) の場合 Clusterに対するVIP Site間のトポロジー Regional Edge(RE)の接続 Site-Site間の接続 仮想ネットワーク Network …

Kubernetesでマルチクラスタネットワークを実現する方法

Kubernetesでマルチクラスタネットワークを実現する方法について簡単に調査した。鋭意更新中。 skupper Submariner Istio 複数のコントロールプレーントポロジ 単一のコントロールプレーントポロジ VPN接続を備えた単一のコントロールプレーン VPN接続のない…

Certified ScrumMaster® (CSM®)に合格した。簡単だった。

Scrum Allianceのテストを受験しました。 結果は「43/50点で合格」です。。 私が受けたのはこちら。 試験 50問 37問で合格 自宅受験可能(ネット+PC) 持ち込みOK 60分制限 ちなみに以下の記載がありましたが、すべて選択肢を1つ選ぶものでした。 本テスト…

Pod sandbox changed, it will be killed and re-created. の解消法

誰かの役に立てば・・・ kubernetesで以下のエラーが出ました Normal SandboxChanged 5m21s (x5 over 6m40s) kubelet, xxxx Pod sandbox changed, it will be killed and re-created. Warning BackOff 105s (x20 over 5m20s) kubelet, xxx Back-off restarti…

AWS EKSで動かした時にkubeletとの接続失敗を解消する方法

問題 EKSにてdatadog agentをDamonSetで動かしkube-state-metricsを導入すると以下のようなエラーが発生します。 2020-07-21 04:58:16 UTC | CORE | ERROR | (pkg/collector/runner/runner.go:292 in work) | Error running check kubelet: [{"message": "Un…

Datadogを東京リージョンからInter-RegionでPrivate linkを使ってデータ転送する方法

Datadog公式サイトを見ると、PrivatelinkをつかってAWS VPCから直接データを送る方法が載っています。 docs.datadoghq.com インターネットを介す通信よりも安くなる場合はこちらがお得です。 公式サイトではPrivatelinkについては説明が載っているものの多く…

AWS EKSを使う時の注意点と見ておくべきドキュメントまとめ

EKSを使うにあたって個人的に気になった点をまとめ。 EKSとは コントロールプレーンのアーキテクチャ EKSの開始方法 3種類のクラスターVPCタイプ プライベートクラスタの注意点 IAMユーザがk8sのRBACに追加される クラスタエンドポイントのアクセス 注意 k8s…

ゼロトラストネットワークを読んで考えたこと

ゼロトラストネットワークposted with ヨメレバEvan Gilman/Doug Barth オライリー・ジャパン 2019年10月27日頃 楽天ブックスAmazonKindle 本をざっと読んだ感じ、ゼロトラストネットワークはまだま概念レベルで製品化するのはこれから。しかも製品化したと…

MetalLBのv0.9.2で搭載されたL2でのノードの停止の回復速度向上を追ってみた

Dramatically reduce dead node detection time when using Layer 2 mode (#527). This is improvement closes the long standing issue #298 that has been a common pain point for users using Layer 2 mode. This feature is enabled by default. You ca…