- 1. AWS Configのログ配信先S3バケットをKMS暗号化する
- 2. ビューファイル作成後にサーバーが起動できなくなった
- 3. Terraformはじめてみた
- 4. AWS LightsailでKubernetesを使ってみた
- 5. [AWS] SAMのtemplate.yamlをVSCode拡張機能で快適に記述する
- 6. Amazon WorkDocs とは
- 7. WSL2からAWS LambdaにDocker containerをデプロイしてAPIとして動かすまで
- 8. 簡単にSSHでAWSにアクセスする方法
- 9. LocalStackを使ってローカル環境でS3を立ち上げ、Lambdaでファイルをアップロードしてみた
- 10. 【初心者向け】 企業で活躍できるエンジニアになるためのロードマップ② デプロイ編
- 11. Amazon AthenaによるS3上のファイルの解析 (CSV編)
- 12. Access key等を使用せず、Assume Role使用でStorage Transfer Serviceを使ってS3→GCSへデータ転送
- 13. PuttyにてAWSへの接続メモ
- 14. 各クラウド・ベンダーのアーキテクチャ・アイコン集
- 15. aws cdkを使ってec2にjmeterをインストールしたメモ
- 16. Amazon Honeycodeを触ってみる
- 17. EC2にSSH接続できない
- 18. AWS LambdaにJava11のプログラムをデプロイし、パラメータストアから値を取得するメモ
- 19. AWSにセルフイントールでKubernetesクラスター作ってみる。’21年10月Kube v1.22
- 20. AWSのサービスを使い、やりたいことを実現するまでの流れ
AWS Configのログ配信先S3バケットをKMS暗号化する
## はじめに
2021年2月からAWS Config で使用される S3 バケットでの KMS での暗号化がサポートされたとのことです。
S3バケット側でKMSでの暗号化設定をしていても、オブジェクト単位ではデフォルトでS3 マネージド暗号化キー (SSE-S3)で暗号化されています。
こちらの記載通りに設定することでKMS暗号化できたので、手順を残します。
https://aws.amazon.com/about-aws/whats-new/2021/02/support-for-kms-encryption-on-s3-buckets-used-by-aws-config/?nc1=h_ls## 手順
### KMSキーのキーポリシーを設定する
Configからアクセスできるよう、S3バケット暗号化に使用するKMSキーのキーポリシーをKMSの管理画面から設定します。
通常のIAMロールを用いた場合か「サービスにリンクされたロール」の場合に応じて下記に例がありますので、適切な方を選んで設定してください。https://docs.aws.amazon.com/co
ビューファイル作成後にサーバーが起動できなくなった
Amazon Linuxでビューファイルを作成した後にターミナルからサーバーを起動できなくなりました。
ec2-user:~/environment/myapp $ php artisan serve –port = 8080
ec2-user:~/environment/myapp $ No arguments expected for “serve” command, got “8080”.なお、コントローラ・ビューファイルは下記のように作成しました。
BookController.php
Terraformはじめてみた
# Terraformとは
Terraformを使うとAWSやGCPなどのクラウド上のリソースをコードで管理することができる。”Infrastructure as a Code”を実現するツール。
Webコンソールでポチポチ作成しなくても、コードを書いて叩けば一発でインフラを構築することができる。
Terraformのコード自体バージョン管理することができる。それはつまり**インフラをバージョン管理することができる**ということを意味する。
あとはコードを読むだけでインフラの構成を確認することができる。# この記事について
Terraformを初めて使ってみたので、そのメモです。
※筆者はAWS・Terraformに長けている訳ではなく、あくまでもメモなので、間違っているところがありましたらご指摘くださいTerraformを用いてAWSを使った以下のようなシステムを構成します。
![名称未設定.001.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385478/11ed9b14-882c
AWS LightsailでKubernetesを使ってみた
# 始めに
低コストで使い勝手の良いLightsailですが、設定の簡単さゆえKubernetesの構造にはそぐわない所が幾つかありました。今の記事ではLightsailでKubernetesクラスターを構成する時に躓いた所を整理していきます。# 基本設定
## インスタンスの選択
### おすすめ
Master Node: 20 USD/月 (4GB メモリ, 2コアプロセッサ, 80GB SSD ディスク)
Worker Node: 10 USD/月 (2GB メモリ, 1コアプロセッサ, 60GB SSD ディスク)公式的にマスターノードは二つ以上のコアを使うように言われているため、20 USD/月のVMをお勧めします。ワーカーノードは理論上1GBのメモリでも行けますが、実際にPODを回すにはメモリが足りないですので月10 USDのVMを使うべきかと思います。
## Network
### CalicoのIPv4ファイアウォール
ファイアウォールのルール設定に制限があります。従ってCNIでCalicoを使う場合、TCPポート以外にIPIPプロトコルを許可するために**
[AWS] SAMのtemplate.yamlをVSCode拡張機能で快適に記述する
SAMのtemplate.yamlを記述する際に、公式ドキュメントを見ながら書くことが多かったのですが、あまりに非効率だったので環境を整えようと思いました。
VSCodeを利用しているので、VSCode前提のお話です。__要約__
CloudFormationの拡張機能を __使用&少しカスタマイズ__ してSAMテンプレートをサクサク書こう# SAMはCloudFormationの拡張
SAMテンプレートはCloudFormationテンプレートの拡張です。
参考:[SAM公式ドキュメント](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-sam-reference.html)まず、CloudFormationで利用できる文法はSAMテンプレートでも利用することができます。
CloudFormationの拡張機能をVSCodeに導入すれば、CloudFormationで記載できる部分は導入できることになります。![image.
Amazon WorkDocs とは
## 勉強前イメージ
docsだから文章の共有的なやつ?
## 調査
### Amazon WorkDocs とは
フルマネージド型のファイルコラボレーション用のサービスです。
コンテンツの作成や編集が簡単に行うことができ、
マルチデバイスからのアクセスに対応しており、AWS内で一元管理されているのでどこからでもアクセスが可能です。
GoogleDriveやDropboxと似たようなサービスです。
[Amazon workspace](https://qiita.com/miyuki_samitani/items/23d38070bae718f5c72b) を使用する人には追加料金無しで
workdocsへのアクセス権限が付与され、1人当たり50GBのストレージが含まれます。### メリット
– コスト削減
アクティブなユーザアカウントとストレージの使用量に対する従量課金で、
1ユーザあたり5ドルで、各ユーザに1TBのストレージが提供されます。– セキュアなファイル共有
すべてのファイルやコメントが暗号化されるので、
もしDBを見られたとしても直接中身が流出する可
WSL2からAWS LambdaにDocker containerをデプロイしてAPIとして動かすまで
# はじめに
現在開発中の機械学習を用いた簡単なサービスを作るにあたって、メインPCで処理させるのがどうしてもいやだったのでAWS Lambdaを使用しました。
現在のLambdaはDockerのimageサイズがが10Gまで対応してるので結構なんでも動かせます。
割り当てるメモリサイズを増やせばそこそこ性能も出るため、普通のモデルならGPUもいらないです。今回は自身の忘備録もかねてwsl2からDocker containerをデプロイしてテストするまでを紹介します。
あまり細かい解説はしていないため、内容は手順書に近いです。# 想定する読者
+ 細かいところはどうでもいいのでLambdaでとりあえず何か動かしたい人
+ AWSよくわかってない人(僕もよくわかってないです、間違ってるところあったら教えてください)# なぜWSL2でやるのか
+ 僕がネイティブに色々入れるのが嫌いだから
+ 環境が統一されていることが多そう(=誰でもそのまま動かせる)# 実行環境
os:windows11 pro
wsl2:Ubuntu 18.04 LTS# 本編
### 準備
まず
簡単にSSHでAWSにアクセスする方法
#SSHを使ったアクセス方法
macはターミナル、winの場合はTera Termを使います。
まずはpemファイルの権限の変更が必要です。
600が推奨されてます。フル権限だとエラーが出ます。“`terminal:ターミナル
chmod 600 /Applications/pathtopassword/xxxxx.pem
“`
chmodコマンドで権限を変更します。その後、下記のsshコマンドでアクセス出来ます。
“`terminal:ターミナル
ssh bitnami@xxx.xxx.xxx.xxx -i /Applications/pathtopassword/xxxxx.pem
“`
簡単に説明すると、
ssh ユーザ@サーバIP -i pemファイルのパス
LocalStackを使ってローカル環境でS3を立ち上げ、Lambdaでファイルをアップロードしてみた
# この記事について
AWSのサービスをローカルで実行できるLocalStackについて紹介したいと思います。今回、AWS CLIの練習も兼ねてLocalStackを使用し、ローカルでAWS LambdaとS3を立ち上げ、Lambda関数を使用し、S3に日時.txtファイルをアップロードしてみました。
# 記事の対象者
– LocalStackに興味のある方
– AWS・AWS CLIに触れてみたい方# LocalStackとは
開発環境において無料で**AWSのアカウント登録なし**でAWSのサービスを擬似的に使用できるモックフレームワークでpipやdockerを用いて簡単に環境構築が可能。
ローカルにAWS環境を作ってくれて、料金などを気にすることなくテストや動作確認が可能である。https://localstack.cloud/
LocalStackは無料版と有料版がある。[^abe] 有料版は無料版に加え、高度なサービスをサポート。以下にLocalStackのサービスを示す。[^abc](2021年10月時点)
| 無料 | 有料
【初心者向け】 企業で活躍できるエンジニアになるためのロードマップ② デプロイ編
##目的
**未経験の人、プログラミング初心者 が
「企業で活躍できるエンジニア」 「どこでも成長できるエンジニア」**↓に移動しました!
https://sg-report.com/loadmap2/
Amazon AthenaによるS3上のファイルの解析 (CSV編)
# はじめに
Amazon Athena とは、AWSのS3上のデータをSQLでクエリできる機能です。
ELB(Elastic Load Balancing)のアクセスログの検索で使われることが多いですが、それ以外にも、データファイルやログの形式に沿ってテーブルを定義することで、検索することも可能です。
ELBのアクセスログの検索については、[公式ドキュメント(Application Load Balancer ログのクエリ)](https://docs.aws.amazon.com/ja_jp/athena/latest/ug/application-load-balancer-logs.html)で記載されているので、そちらにお任せして、ここでは、CSVファイルの内容をAthenaで解析する方法をまとめます。
# データベース、テーブル作成方法
Athenaで解析するためのデータベースおよびテーブル作成について、公式ガイドが提供されています。
– [Amazon Athena ユーザーガイド](https://docs.aws.amazon.com/ja_jp/ath
Access key等を使用せず、Assume Role使用でStorage Transfer Serviceを使ってS3→GCSへデータ転送
## これは一体…?
Assumerole使用で転送できるとのことで、やってみました。
途中、S3のLocationが取れなくてエラーになったり、subjectidが取れなかったりと、いろいろありましたが、権限あたりを見回したところ、うまくいきました。
なお、今回プロジェクトやアカウントにいろいろ権限が必要になったので、会社の検証PJで権限が設定されている場合は、あらかじめ社内で権限を持っている方に確認取るとスムースに行くかもしれません。## やってみた
下記開き、右側に出てくるTry APIで、accountEmailとSubject idを取得。
https://cloud.google.com/storage-transfer/docs/reference/rest/v1/googleServiceAccounts/get“`json
#IAM ロール設定
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Ac
PuttyにてAWSへの接続メモ
以前PuttyにてAWSでEC2を接続して動作させていて
サービス終了後にDNSは動作していた気がする……
と思ってもう一度動作させるメモ表記失礼いたします。なんかコンソールにログインして
インスタンス見てみると”実行中”ってあるから
Puttyで接続したいんだよな……C:\Users\hoge\Desktop\memo\ssh鍵
にソレっぽいのがあるけどコレが秘密鍵かな???
各クラウド・ベンダーのアーキテクチャ・アイコン集
__初めに__
クラウド・アーキテクチャの設計は、クラウド・アーキテクト(CA)の日常的な仕事です。各クラウドベンダーが独自のアーキテクチャ・アイコンを提供しますので、ここに、各アイコンのPPT/Zipファイルを取りまとめています。少しお役に立てれば幸いです。以下の各アイコンのリンクは、公式サイトから無料でダウンロードできます。
[Oracle Cloud Infrastructure (OCI) グラフィック](#oracle-cloud-infrastructure-oci-グラフィック)
[Google Cloud ソシューション アイコン](#google-cloud-ソシューション-アイコン)
[Azure アーキテクチャ アイコン](#azure-アーキテクチャ-アイコン)
[AWS アーキテクチャ アイコン](#aws-アーキテクチャ-アイコン)
[Alibaba クラウド アイコン](#alibaba-クラウド-アイコン)# Oracle Cloud Infrastructure (OCI) グラフィック
[ダ
aws cdkを使ってec2にjmeterをインストールしたメモ
## 概要
ec2をcdkを使ってAWSに立ててみる。
ec2にはjmeterをインストールする。
[デプロイ時のソースコード](https://github.com/hibohiboo/develop/tree/1d36a6c8f53b7298208c37d7758335bd4e16036f/tutorial/lesson/aws/typescript/projects/ec2_sample)
## 環境
* windows 10
* Docker version 20.10.8, build 3967b7d
* aws-cdk 1.128.0
* aws-cdk-local 1.65.8
* aws-cli/2.2.46 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
* node v14.18.1## ローカルで確認
まずはローカルでstackを確認した。
ただし、localstackはEC2のデプロイができるかの確認のみ。
localstack上のEC2インスタンスはモックのIFの作成なのでで実際にsshアクセスすることはできない。
Amazon Honeycodeを触ってみる
2021/10/06(水)AWS Expert Online JAWS-UG: Honeycode & CI/CDパイプラインで、Amazon Honeycodeというサービスを知りました。ノーコードでアプリ開発できるとのことだったので、超簡易アプリを作ってみました。
[AWS Expert Online for JAWS-UG #17 20211006] ノーコード、ローコード開発ってなに? Amazon Honeycode で何ができるの? from Amazon Web Services Japan#1.Amazon Honeycodeとは
https://www.honeycode.aws/
– プログラミングなしでアプリ開発できるフルマネージドサービス
– ブラウザだけで開発できる
– AWSアカウントとは別にHoneycodeアカウント(Team:チーム)を作成する必要がある
– 作成に必要なのはメールアドレスだけ
– クレカ登録など支払情報不要##1-0.主要概念
– Table:データストア
– Builder:アプリ開発を行う
– Automations:通知やイベント起点の処理を担う
– Workbook:Table,Builder,Automatio
EC2にSSH接続できない
ターミナルにEC2をSSH接続するコマンドを打ち込んだら、
“`jsx
ssh port 22 Operation timed out
“`と怒られて接続できない。
# 試したこと
・ディレクトリがそもそもSSHの場所じゃなかったので移動した
・セキュリティグループ(EC2に紐付けているもの)作成時に使用したマイIPとは違うIPアドレスの場所でSSH接続を試したのでは??と思ってセキュリティグループのインバウンドルールを編集。
上記では解決できず。
# これで解決
インターネットゲートウェイの紐付けが間違っていた。
AWSにデフォルトで用意されていたものが作成したVPCにアタッチされていたことが原因だった。
参考
[https://qiita.com/yokoto/items/338bd80262d9eefb152e](https://qiita.com/yokoto/items/338bd80262d9eefb152e)
AWS LambdaにJava11のプログラムをデプロイし、パラメータストアから値を取得するメモ
### パラメータストアに適当なキーを保存
– キー名:testkey
– 値:test-value![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530708/eaad3e6f-0cfe-83bd-d7f5-66f767ed4d28.png)
### ラムダ上に関数をデプロイして実行
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530708/0af6dfb2-917e-5c14-836c-92e720fb198a.png)### 実行結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530708/e6835c85-5c1d-bc31-fc9e-e05e8a704040.png)### ソース作成からデプロイまで
– sam initでテンプレートを作成(AWS Quick Start
AWSにセルフイントールでKubernetesクラスター作ってみる。’21年10月Kube v1.22
最近のKubernetes事情の確認含めkubeadmでAWSにセルフインストールしてみようかなと。
クラウドが提供するManagedサービスやベンダー製Distroは最近猫も杓子もHAマスター3台構成なのだが、ワーカーノード2台動かしたいだけでマスターノード3台とか、普通に無駄が多くて納得いかないっすよねという事があり、マスターノードに1円も金が掛からないのならやぶさかではないが、ベンダーDistro廃れろとか、ユーザーには思われてたりするのかなと思ったり思わなかったり。
シングルマスタークラスターを2つのAZないしはリージョンに1つずつ建てれば高可用性の側面でも大体満足するかもしれないですし?
素のKubernetesならマスターノードのマシンスペックもVCPU 2個で、メモリも2GBで無駄がない。アプリケーションごとに個別にクラスタ建ててもお釣りが来るんじゃないのというくらい。以下、kubeadmを使ったKubernetesの導入について、Kubernetesの以下のドキュメントを参照しつつ実施。
https://kubernetes.io/ja/docs/setup/pro
AWSのサービスを使い、やりたいことを実現するまでの流れ
#はじめに
awsエンジニアとして働いているなかで、awsのマイナーなサービスを使いたい時、様々ん方法でキャッチアップしておりました。マイナーなサービスを学ぶ方法からサービスを使ってやりたいことの実現までの流れをまとめました。#①サービスの概要を把握する
###ブラックベルト
日本語で1時間でまとまっています。
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut###UdemyやQiita、Youtube
サービス名で検索しましょう。https://www.udemy.com/
https://qiita.com/
#②ハンズオンで触ってサービスの理解を深める
###公式のチュートリアル3つ
マイナーなサービスはないかもです。。
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-onhttps://aws.amazon.com/jp/aws-jp-introduction/aws-jp-we