- 1. AWS EKS:アーキテクチャとモニタリング
- 2. サブドメイン間でセッションを維持できなくする方法
- 3. AWS インフラ0startから誰かに教えられるまで
- 4. AWSのALBにAzure AD(OIDC)を使ったときに欲しい情報が取れなくてハマった話
- 5. sshログインパスワードを固定にしている方へ
- 6. 転職したら(GCPエンジニアが)AWS案件メンバーだった件
- 7. Djangoチュートリアル(ブログアプリ作成)④ – ユニットテスト編
- 8. 【らくちんAWS】 LightSailからはじめるAWSエンジニア (後編) 【AWS完全に理解した】
- 9. AWS S3で公開している静的サイトにBasic認証をかける
- 10. 【AWS SOA】ELBに関するログやメトリクスの備忘録
- 11. 【0からAWSに挑戦】EC2とVPCを使ってRailsアプリをAWSにデプロイする part2
- 12. 【0からAWSに挑戦】EC2とVPCを使ってRailsアプリをAWSにデプロイする part1
- 13. Amazon Linux 2をVirtualBoxで実行する
- 14. AWS lightsail+お名前ドットコム、で30分でWordPress立ち上げ:チュートリURLと注意点メモ
- 15. EC2にRAILSをデプロイ
- 16. AWS Lambdaからツイートする
- 17. Golangはじめて物語(第4話: ローカルリポジトリで共通モジュール管理編)
- 18. Pivotal Cloud Foundry (PCF) on the AWS Cloud
- 19. AWS API Gateway基本知識まとめ、Lambda連携手順
- 20. AWS EC2本番環境にデプロイしたのに変更が反映されない…の対処法を写真つきで解説
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