AWS関連のことを調べてみた2020年10月19日

AWS関連のことを調べてみた2020年10月19日
目次

AWS EKS:アーキテクチャとモニタリング

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/2394896f-410f-0ac6-c7d7-2236d1f0bb84.png)

#はじめに
AWS Elastic Container Service for Kubernetes(EKS)は、重くて変動するワークロードを実行しているノードの大規模なクラスターに最適なマネージドKubernetesサービスです。 AWSでアカウントのアクセス許可が機能する方法のため、EKSのアーキテクチャは多少複雑であり、モニタリング戦略にいくつかの小さな違いが生じます。 ただし、言えることは全体的に見て、あなたが知っているKubernetesと同じものです。

#Kubernetesクラスターアーキテクチャ
Kubernetesは、[コントロールプレーンとデータプレーン](https://kubernetes.io/docs/concepts/overview/components/)で構成されています。コントロールプレーンには、Kube

元記事を表示

サブドメイン間でセッションを維持できなくする方法

ネット上で見たらサブドメイン間でセッションを維持できる方法ばかりだったために少し困ったから自分の忘備録として記入

やること自体は非常に単純で、SameSite属性を設定する。
SameSite属性には3段階あって
None
Lax
Strict
の3つが設定できる。その内サブドメインでもセッションを維持できるというかセキュリティ的に一番甘いのがNone
激重がStrictである。
これをStrictに設定すればとりあえずサブドメイン間でのセッション維持はできなくなる

形としては
cookie = “Info=”+token+”&”+”何か適当にその他”+ “&”+domainName +”;path=/;SameSite=Strict;Secure;HTTPOnly;expires=”+exDate;

StrictをNoneに変えれば逆にほかのサブドメインでもセッション維持できるのでそれで切り替えるのが一番楽(コーディングで修正しようとして困りかけた)

このような形で自分は書いた
他のやり方等の方が遥かに参考になると思うのでSametimeに関するお話は以下のURLを見るとわか

元記事を表示

AWS インフラ0startから誰かに教えられるまで

AWSの非常に便利な機能の一つに

CloudFormationという機能があります。
これを用いればコードをCloudFormation側に渡してあげるだけで
あとは自動にインフラを構築してくれるという優れものです。

一方で非常に学習コストが高い。。。
それはなぜかというと

+ インフラそのもの理解
+ コードの理解

この2点が必須となるからです。

元々サービス側でしか携わっていなかった自分ですから
インフラ部分も把握しておかないと一人でサービス作り上げることができないんですよね。。。

なのでインフラ周りを改めて勉強しようとなりました。。。

##インフラ周りの知識

[VPC構築の公式テンプレート](https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/cloudformation-vpc-template.html)

ここの学習になりますが上記テンプレートの中身を理解しようと考えています。

それぞれVPCやSubnetなど今までのプログラミング人生上一切学んでこなかったネットワークやセキュリ

元記事を表示

AWSのALBにAzure AD(OIDC)を使ったときに欲しい情報が取れなくてハマった話

AWSのApplication Load Balancerには、OIDCを設定して簡単に認証を組み込むことができます。
詳細は公式ドキュメントを参照ください。
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/listener-authenticate-users.html

そのときにAzure ADをOIDCのIDプロバイダーとして使ったのですが、Azure ADはID Tokenやアクセストークンに様々な情報を付与することができます。
詳細は公式ドキュメントを参照ください。
https://docs.microsoft.com/ja-jp/azure/active-directory/develop/active-directory-optional-claims

# どうハマったのか

公式ドキュメントの引用ですが、ALBは認証した時の情報をヘッダーに付加してくれます。
> ロードバランサーは以下の HTTP ヘッダーを追加します。
x-amzn-oidc-accesstoken

元記事を表示

sshログインパスワードを固定にしている方へ

## はじめに
私が所属する[aslead DevOps](https://aslead.nri.co.jp/solution/aslead_devops.html)チームでは、日々変化するユーザの開発サーバ構成に対して、セキュリティを保ちつつ開発業務の効率化・自動化ができないかを検討しています。

この記事では、開発サーバなどのOSにsshでログインする際の方法についてご紹介します。そもそもセキュリティの観点では、OSに対してsshでログインせず操作できる状態が理想ではあります。しかしながら、テスト環境での利便性やレガシーシステムへの接続など、様々な事情でsshのログインを残さざるを得ないケースもあるかと思います。

そこで、Hashicorp社が提供しているVaultを利用し、sshログインするパスワードがランダムに払い出されることでセキュリティを向上させるアプローチを考えてみます。使い捨てのコードを用意する、ワンタイムパスワード(OTP)とは若干異なりますのでご注意下さい。

## Vaultとは

![image.png](https://qiita-image-store

元記事を表示

転職したら(GCPエンジニアが)AWS案件メンバーだった件

# GCP エンジニアが AWS 案件に参画した話

業務上で GCP の開発スキルしか持っていないエンジニアが、転職して Amazon Web Service(AWS)の開発案件に参画しました。このパターンを私はあまり聞いたことがなく(この逆パターンはよく聞きます)、折角なので、GCP エンジニア目線で AWS 案件に参画した時の両サービスの比較を書いてみました。
(巷には GCP と AWS の比較ネタはたくさんあると思います。)

## 対象読者
– GCP しか知らない人。
– AWS 有識者で GCP エンジニアが AWS を始めてどう思ったか知りたい人。
– 同じ境遇のエンジニア

## GCP と AWS の違い
ここでは、AWS で作業する上で、引っかかったり気になったことを挙げています。
GCP 案件しかやったことがなく、もしかしたらディスりっぽく感じる書き方のところもあるかもしれませんがご容赦ください。
また、特にまとまりなく書いていますがご容赦ください。

### アカウント
AWS の場合、アカウントは AWSの契約を指し、AWS アカウントに対してルート

元記事を表示

Djangoチュートリアル(ブログアプリ作成)④ – ユニットテスト編

前回、[Djangoチュートリアル(ブログアプリ作成)③ – 記事一覧表示編](https://qiita.com/tmasuyama/items/9f33168feebba5281f3b)では管理サイトから作成した記事を一覧表示させるために、クラスベース汎用ビューを使いました。

このままアプリ内での記事作成、詳細、編集、削除といった CRUD 処理を追加したいところではありますが、グッとこらえて**ユニットテスト**を盛り込みましょう。

## Django のテストについて
どんどん機能を追加していくのは楽しいですが、普段はテストを書いているでしょうか?

各種チュートリアルなどでDjangoの簡単なアプリを作れるようになった方でも、
少し自分なりにいじった時にエラーを引き起こしてしまう場合があるかと思います。
また、Djangoをrunserver等で起動した際には特にエラーが出力されなくても
実際に画面をブラウザ経由で動かした時にエラーに気づく場合もあるかと思います。

いくつかの操作を手動でテストするという方法はもちろんありますが、毎回そういったことを行うのは無駄という他あ

元記事を表示

【らくちんAWS】 LightSailからはじめるAWSエンジニア (後編) 【AWS完全に理解した】

前編: [【らくちんAWS】LightSailからはじめるAWSエンジニア (前編)【EC2よりカンタン】](https://qiita.com/H40831/items/a131e849b3d76fd04f2d)
![AWSロゴ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365927/0172e7d0-c089-a0c1-a251-280f84e7cf42.png)

#この記事について
この記事は、「AWSは難しくて嫌だ!」と感じる人の苦手意識を克服するために、
[AWS LightSail](https://aws.amazon.com/jp/lightsail-vps/)という初心者向けサービスを起点にAWSを紹介させていただく記事です。
[前編](https://qiita.com/H40831/items/a131e849b3d76fd04f2d)でLightSailの紹介をさせていただいてますので、よければ先に読んでみてください。

#この記事を書いたきっかけ
2020年現在、AWSで

元記事を表示

AWS S3で公開している静的サイトにBasic認証をかける

AWS S3で公開している静的サイトにBasic認証をかける方法です。
S3の他に、LambdaとCloudFrontの設定が必要になります。

# S3バケットの作成
まずはBasic認証をかけたいS3のバケットを用意します。
パブリックアクセスの許可や、Static website hostingの設定は必要ありません。

# CloudFrontの設定

Create distribution -> Web側のGet Startedを選択し、CloudFrontの設定に進みます。

![CloudFront Get Started](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/279032/2eed0ac0-2f77-2f3b-99bb-7a2a9041a4d5.png)

`Origin Domain Name` にBasic認証をかけたいS3のバケットを指定します。
`Origin ID` は自動的に設定されます。
`Restrict Bucket Access` を `Yes` にします。
`Ori

元記事を表示

【AWS SOA】ELBに関するログやメトリクスの備忘録

#はじめに
私はAWS SOAを勉強しています。SOAですとログやメトリクスについての問題の出題が多いため、今回はELBのログやメトリクスについて簡単にQ&A形式でまとめていきたいと思います。

#Q&A
Q.ロードバランサーのメトリクスを見たい時、どうするか?
A.EC2>ロードバランサー>モニタリングで、CloudWatchメトリクスを見ることができる。

![スクリーンショット 2020-10-18 17.31.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449478/76c83ef2-ff17-06c9-c8dd-5d49945e4825.png)

また「すべてのCloudWatchメトリクスを表示」をクリックすると、CloudWatchのメトリクスを見ることができる。そこでApplicationELBを選択すれば、詳細にELBのメトリクスを見ることが可能。
![スクリーンショット 2020-10-18 17.36.15.png](https://qiita-image-store.s

元記事を表示

【0からAWSに挑戦】EC2とVPCを使ってRailsアプリをAWSにデプロイする part2

#EC2とVPCを使ってRailsアプリをAWSにデプロイする part1
前回の続きです。
↓↓↓↓前回の記事はこちら↓↓↓↓↓
[①EC2とVPCを使ってRailsアプリをAWSにデプロイする part1](https://qiita.com/shu1124/items/4a0337f3d9fa9227a705)

# 環境
・Ruby on Rails 6.0
・Ruby 2.6.6
・dbはmysqlを使用
・アプリケーションサーバはpumaを使用
・webサーバーはnginxを使用

# 手順
前回は③までいきました。なので今回は④からやります
 ①VPCを作成
 ②VPC内にサブネットを作成
 ③インターネットゲートウェイ・セキュリティグループ・ルートテーブルの設定
 ④EC2を作成
 ⑤EC2にrails環境を構築、gitからアプリをpullする

##④EC2を作成
###EC2の設定
前回作成したサブネットの中にEC2(Elastic Compute Cloud)サーバーを構築しましょう。このEC2で作成した仮想サ

元記事を表示

【0からAWSに挑戦】EC2とVPCを使ってRailsアプリをAWSにデプロイする part1

# 背景
未経験から自社開発系企業の就職を目指します。良質なポートフォリオ作成のためAWSを勉強することにしました。

現状の知識レベルとしては、Ruby on railsを使って簡単なアプリケーション開発、gitを使ったバージョン管理、herokuを使ってデプロイできるレベルです。自分の忘備録かつ、同じくらいのレベルでこれからAWSに挑戦してみようと思っている方に向けて少しでも役に立てればと思います。

# 最終目標
AWSのEC2とVPCを使ってアプリケーションを本番環境で動かすことが目標です。

# 環境
・Ruby on Rails 6.0
・Ruby 2.6.6
・dbはmysqlを使用
・アプリケーションサーバはpumaを使用
・webサーバーはnginxを使用

# 手順
今回は下記手順で進めたいと思います。
 ①VPCを作成
 ②VPC内にサブネットを作成
 ③インターネットゲートウェイ・セキュリティグループ・ルートテーブルの設定
 ④EC2を作成
 ⑤EC2にrails環境を構築、gitからアプリをpullする

では

元記事を表示

Amazon Linux 2をVirtualBoxで実行する

何番煎じかわかりませんが、Amazon Linux 2をVirtualBoxで実行しました。

公式ドキュメントはこちらです。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html

公式ドキュメントでは、カスタマイズしたseed.isoを作る手順が載っていますが、サンプルのseed.isoも用意されておりますので、こちらを使って起動してみます。

# 準備

ディスクイメージ(vdi)
https://cdn.amazonlinux.com/os-images/latest/virtualbox/

サンプルseed.iso
https://cdn.amazonlinux.com/os-images/latest/

2020/10/17時点では、`latest`は`2.0.20200917.0`にリダイレクトされます。

## サンプルseed.isoの内容

サンプルseed.isoでは、以下の設定がされています。

ホスト名 amazonlinu

元記事を表示

AWS lightsail+お名前ドットコム、で30分でWordPress立ち上げ:チュートリURLと注意点メモ

ほぼこの手順。
https://lightsail.aws.amazon.com/ls/docs/ja_jp/articles/amazon-lightsail-tutorial-launching-and-configuring-wordpress#create-a-wordpress-instance

注意点
・SSH接続するまでに、5分くらい待つ必要あり
・ドメインを買うのは、amazon routeからだと高いから、お名前ドットコムとかが良いと思う。
(amazon route→11ドル、お名前ドットコム→セールで140円)
・静的IPに紐付けした後は、WordPress管理画面のドメインもそっちになるから注意
・最初、英語表記になる(設定で変えられそうだけど、別に不便がないからこのまま)

元記事を表示

EC2にRAILSをデプロイ

https://qiita.com/Yuki_Nagaoka/items/dbb185feb6d4f051c2f2

https://qiita.com/naoki_mochizuki/items/814e0979217b1a25aa3e

以上参照。

元記事を表示

AWS Lambdaからツイートする

#はじめに
引き続き、退社情報自動通知機能を作っていきます。
前回の記事で、スマホからAWSに位置情報を送信することができました。
次は、AWS Lambdaを使って、Twitterと接続します。

#通知手段について
前提として、通知先は妻のiPhoneを想定しているので、特殊な設定はしたくありません。
簡単にAWSから第三者のスマホに通知するには以下の方法があげられます。
・LineBot
・TwitterBot
・メール
この中で、一番実装が早そうなTwitterを用いて、通知します。
(もっと簡単な方法があったら教えてください。)

#Twitter APIの利用登録
Botのように、プログラムを用いてツイートするためには、「Twitter API」の利用登録をする必要があります。
利用登録の前に、まだTwitterのアカウント登録をしていない方は、しておいてください。
なお、アカウントにメールアドレスも登録しておかないと、「Twitter API」の使用登録はできません。

下記サイトにアクセスし、TwitterAPIの利用登録を行います。
https://developer

元記事を表示

Golangはじめて物語(第4話: ローカルリポジトリで共通モジュール管理編)

# はじめに
Golangシリーズ4回目。
過去の3回はこちら。

– [Golangはじめて物語(APIGateway+Lambdaといっしょ編)](https://qiita.com/neruneruo/items/1ef52f908e4497103a59)
– [Golangはじめて物語(第2話: Gin+ECS+Fargateといっしょ編)](https://qiita.com/neruneruo/items/fe292262836ac068e2ea)
– [Golangはじめて物語(第3話: CodePipeline+SAM+LambdaでCI/CD編)](https://qiita.com/neruneruo/items/8112490136775e6abc39)

さて、Golangの公開ライブラリは `import` で GitHub から持ってくるのが一般的だが、開発をしていると当然「共通のモジュールを作らないといけないけど、GitHubには社内規約上ソース置いちゃいけないし……」と悩むことが出てくる。色々とツッコみたくなるかもしれないが、出てくると言ったら出てくるの

元記事を表示

Pivotal Cloud Foundry (PCF) on the AWS Cloud

# 前書き
PCF, AWSと興味のある部分を色々調べていたところ [AWS での Pivotal Cloud Foundry – クイックスタート ](https://aws.amazon.com/jp/quickstart/architecture/pivotal-cloud-foundry/)というのを見つけたので試してみました。興味ある方は非常に少ないとは思いますが、多くの知識を得られたので是非試していただきたいと思っています。

手順に関しては
https://qiita.com/shuichirock/items/0fd7d8740a07523af4fd
こちらにまとめて下さった方がいらっしゃっるので躓いた部分のみ補足となります。

公式クイックスタート:https://aws-quickstart.s3.amazonaws.com/quickstart-pivotal-cloudfoundry/doc/pivotal-cloud-foundry-on-the-aws-cloud.pdf

# 事前にEC2 vCPU 制限を引き上げる
上限が32だったため制限を解除するよう

元記事を表示

AWS API Gateway基本知識まとめ、Lambda連携手順

# 記事について

Amazon API Gatewayの基本情報まとめ

# Amazon API Gatewayの位置づけについて

さまざまな機能、処理をWeb APIとして提供
実際に処理を行うバックエンドとしてはLambda関数、各種AWSサービス、インターネット経由で呼び出し可能なURL+メソッド等

![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695430/1c3ed8a8-bf4d-73f5-4499-228b215f2108.png)

# Amazon API Gatewayの概要について

## APIの種類

API作成時に以下2つから選択

### REST

扱うリソースをURIとして定義し、それらをHTTPメソッド(PUT, GET, POST, DELETE, … )の表現で操作

#### 主なHTTPメソッド

– GET : 取得
– POST : 追加
– PUT : 更新
– DELETE : 削除

### WebSocket

HTTPの上で、

元記事を表示

AWS EC2本番環境にデプロイしたのに変更が反映されない…の対処法を写真つきで解説

##概要
AWSでEC2にデプロイした際に、「ローカルでは変更が反映されているのに本番環境で変更が反映されない…!!」となってしまい詰んだので解決した方法をメモ書きとして共有します。
ローカルでは正しく変更が反映されている前提になります。
何か間違いなどありましたらご指摘いただけますと幸いです。

##環境
AWS EC2
Ruby 2.6.5
Rails 6.0.3.3
capistranoで自動デプロイ済み

##解決した方法
“`
EC2インスタンスを再起動
“`
複数回の自動デプロイ【bundle exec cap production deploy】を行なっていると、EC2側で変更が反映されないことがあるらしいです、、(今後も頻繁に起こりそう)
なのでEC2インスタンスを再起動する手順を写真つきで以下にメモとして残します。

####1.[AWSマネジメントコンソール](https://aws.amazon.com/jp/console/)にログインしてEC2にいく。

![AWS_マネジメントコンソール.png](https://qiita-image-store

元記事を表示

OTHERカテゴリの最新記事