gitkadoの気まぐれ日記

島根在住エンジニアが何かに興味を持ったらブログを更新します

2019-01-01から1年間の記事一覧

Go備忘録 -struct周辺-

go

Go備忘録 -struct周辺- Goにはクラスがない。代わりにstructを使用する structはクラスのように関数定義できない(初めての経験) Example struct定義 type Person struct { FirstName string LastName string } // 変数定義 // フィールド値なし var person…

Go備忘録 -defer-

go

Go備忘録 -defer- 呼び出し元関数が終了(return)するまでdeferに与えた関数は評価されない。 deferに与えた関数の引数などは、その時点の値で実行される。 呼び出し元関数でdeferを複数実行している場合は、あとで呼ばれたdeferが先に評価される。 実行 pack…

Go備忘録 -for-

go

Go備忘録 -for- Goで繰り返し処理を行う場合はforを使うしかありません。 forの色々 sum := 0 // 初期化; 条件(真の間繰り返し); 後処理 for i := 0; i < 10; i++ { sum += i } fmt.Println(sum) sum := 1 // 初期化と後処理を省略 for sum < 1000 { sum += …

Go備忘録 -ポインタ-

go

Go備忘録 -ポインタ- 詳しい説明はこの記事に書いてありました。 ポインタ使い方 // 適当なオブジェクト(int型) obj := 100 // int型のポインタ格納用変数定義 var pointer *int // int型のポインタ格納用変数定義+objのポインタを代入 var pointer *int = &…

lambdaからpsqlおよびpg_dumpを実行する

lambdaからpsqlおよびpg_dumpを実行する Dockerコンテナ起動 目的はpostgresqlソースを取得すること lambda実行環境を再現したDockerImageじゃないとOS依存部分でコケる FROM lambci/lambda:build-ruby2.5 # postgresql install RUN yum install -y postgres…

ECSデプロイにECRを使ってみた(1/2:ECRにImage作成)

はじめに 以前はオンプレ環境のDockerを想定した使い方を記事にしましたが、 今回はECR(ECS)の使い方について記事にしていこうと思います。 ECS/ECRとは ECRにリポジトリ作成 DockerfileからDockerイメージ作成 Containerデプロイの流れ(ECS) ECS/ECRとは EC…

LambdaEventSourceMappingを忘れないための備忘録

忘れないように自分用のメモ 暇になったらKinesis起点でLambda挟んでー..とか試してみます。 Lambdaの立ち位置(個人意見) Lambdaは縁の下の力持ち的な立ち位置だと思ってます。 AWSのマネージドサービスを駆使したアーキテクチャの場合、 コンポーネント間…

cloud9でcodecommitをcloneする

はじめに CodeCommitのリポジトリはCloud9から簡単に取得できる。 詳しくは、AWS公式のココで説明されています。 手順 cloud9で以下の手順を実行することで設定完了 # config git config --global user.name "hoge" git config --global user.email hoge@exa…

sam local invoke で環境変数が読み込めないトラブル解決方法

はじめに AWS SAM のCLIで sam local invokeという Lambda関数をローカル実行するコマンドがあります。 前提 cloud9でLambda関数およびLambdaLayerを開発 Lambda関数 Layer(2種)を使った処理 環境変数GEM_PATHを設定 LambdaLayer(2種) gem 定数や独自実装メ…

aws sam initを試してみた(Ruby)

はじめに AWS SAMという素晴らしいものがある。 簡単に説明すると、こんな感じです。 サーバレス最適化CloudFormation拡張 サーバレスアプリケーションのローカル開発 Lambdaを作らなくても検証可能 AWS上じゃなくても検証可能 サンプルを作る機能(sam init)…

Cloud9のミドルウェア更新

はじめに AWSのCloud9がめちゃめちゃ便利! 必要なミドルウェアがほぼほぼ揃ってるのが非常にありがたい! ただ想定バージョンではない場合が結構あるので、以下に更新方法書いていきます。 Ruby デフォルトだとRuby2.6.0が入っている(20190701時点) Lambd…

【aws INNOVATE】AWS認定 試験対策 セッション5

セッション aws INNOVATE 「運用上の優秀性(オペレーショナルエクセレンス)を備えたアーキテクチャを定義する」 「クロージング」 各セッション情報はこちら 概要 運用上の優秀性を実現するソリューションの設計特性を選択する 運用上の優秀性を実現するソリ…

【aws INNOVATE】AWS認定 試験対策 セッション4

セッション aws INNOVATE 「コスト最適化アーキテクチャを設計する」 各セッション情報はこちら 概要 コストを最適化したストレージの設計方法を決定する コストを最適化したコンピューティングの設計方法を決定する 押さえるワード AWS料金体系 従量課金性 …

【aws INNOVATE】AWS認定 試験対策 セッション3

セッション aws INNOVATE 「セキュアなアプリケーションおよびアーキテクチャを規定する」 各セッション情報はこちら 概要 セキュアなアプリケーションおよびアーキテクチャを規定する アプリケション層の保護方法を決定する データの保護方法を決定する 単…

【aws INNOVATE】AWS認定 試験対策 セッション2

セッション aws INNOVATE 「パフォーマンスに優れたアーキテクチャを定義する」 各セッション情報はこちら 概要 高パフォーマンスなアーキテクチャの設計 高パフォーマンスなストレージおよびデータベースを選択する パフォーマンス向上のためキャッシュを使…

【aws INNOVATE】AWS認定 試験対策 セッション1

セッション aws INNOVATE 「回復性の高いアーキテクチャを設計する」 各セッション情報はこちら 概要 試験で全体の34%をしめるもっとも出題率が高い分野 4 つのベストプラクティスに基づいたポイントを紹介 信頼性と回復性に優れたストレージを選択する AWS …

Dockerfileの書き方と使い方

はじめに お仕事でDocker(実際はECS/ECR)を触る可能性が出てきたので、 以下の3点について復習も兼ねて記事にしておきます。 Dockerfileについて DockerfileからDockerイメージ作成 Containerデプロイの流れ(オンプレ環境Docker) Dockerfileについて Docker…

JAWS DAYS 2019 参加しました

はじめに 本ブログは技術的な内容では無いです。 技術的な内容を期待される方は、今後の投稿を注目してもらえると幸いです。 JAWS-DAYSいってきた 2019年2月23日に五反田の五反田メッセで開催された「JAWS DAYS 2019」に参加しました。 今年のテーマは「満漢…

【Rails+vue.js(webpack)】自動コンパイル設定方法

目的 Vue.js(というよりWebpack)関連のファイルは変更したらコンパイルする必要があり、 bin/webpackというコマンドを使用する必要があります。 ただ、毎回コンパイルするのは面倒なので、変更を検出して自動コンパイルするようにします。 前提 gitkado.ha…

【Rails+vue.js】Hello Vue! を表示させてみた

目的 Rails+webpack(vue.js)を使用して Hello Vue! を表示する。 前提準備 以下の環境構築が既に終了していると仮定して進めています。 gitkado.hatenadiary.jp コーディング開始 Step1: 大枠とライブラリ準備 # Railsアプリケーション作成 $ rails _5.2.2_ …

webpackerを使用したRails開発の環境構築

概要 Rails5.1から導入されたwebpackを使ってみたい!という願望。 その前準備として環境構築をしておきます。 Macに構築 homebrewが既にインストール済みという前提です。 bashの場合は、zshrcではなくbash_profileとしてください。 Step1: 準備の準備 # ho…

公開した静的サイトをHTTPS化(ACM)

概要 S3+CloudFront+Route53で構成している静的サイトをhttpsで公開する。 現状整理 実は以前紹介した方法で既にhttps接続は可能です。 gitkado.hatenadiary.jp ただし、CloudFrontのSSL証明書を使用しているのでセキュリティ警告が出ます。 → 証明書とURL(…

Lambda@Edge×CloudFrontのトリガー選定基準

困ったこと 以下の手順で静的ホスティングを構築した。 htmlを編集してS3に上げ直したが表示内容が変わらなかった。 gitkado.hatenadiary.jp 原因 経由しているCloudFrontがキャッシュを返していたので S3に到達することなくレスポンスを返していた。 問題解…

S3静的ホスティングをそれっぽい構成にしてみた

あらすじ S3の静的ホスティング機能を用いてindex.htmlを公開した。 が、本来はS3に直接アクセスさせるのはよろしくないみたい。 そこで本来あるべき構成で静的サイト公開をしてみようと思います。 やること S3へ直接アクセスさせない CloudFrontを経由 オブ…

Webサイト公開のためにドメインを取得してみた

概要 Webサイトを公開したい! と思ったのでドメインを取得したが、 取得してからDNS設定が必要なので「Route53」を活用してみた。 Route53とは DNS機能を簡単に利用することができるサービス GUI上で全て完結可能 設定の自動化も可能(CLIやCloudFormation…

( Where && What ) is S3 ?

概要 Rails開発でファイルアップロード機能を実装しました。 CarrierWave(gem)を使用していたのですが、ストレージ指定で ドキュメントに「S3」と書いてあり、どこ!? となった過去が‥ そんな謎ワード「S3」がAWSのサービスであると知った今日この頃。 忘れ…

難しそうなELB(ALB)使ってみた

概要 「ロードバランサー=サーバの負荷分散のためにある難しいやつ」 と思っている私が、実際にAWSの「ELB(ALB)」を使ってみた。 ロードバランサーとは 複数サーバでサービスを稼働させてサービスの供給を止めない仕組み Webレイアの負荷分散を行い可用性を…

macでmysql起動時にsockやPIDでハマった件

立ちはだかった壁(パート1) 久々に自宅開発でもしようかと思って環境構築してた矢先に、 $ mysql -u root -p ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) あれ?動かんやんけ。sock関係のエラーか。 …

Ansible-playbookのwith_itemsでblock内をまとめて回したい

立ちはだかった壁 普段 ansibleAWX を使用して環境構築することが多いです。 ある日のこと「with_itemsをblock全体に適用っと。」思ったがダメだった。 どうやらblockに対してwith_itemsは指定できないらしい。 # main.yml(動きそうだが動かない) --- name…

RDSの基礎知識と使い方についてまとめた備忘録

概要 AWSが提供するサービス「RDS」について、 簡単な座学と実際の操作について備忘録として残します。 RDS(RelationalDatabaseService)とは リレーショナルデータベースのマネージドサービス Slave構成の構築が容易 IPではなくエンドポイントでターゲットを…