- 1. EC2のhost名でSSM経由なSSH接続をしたい
- 2. AWSのEC2(CentOS 7)でTimezoneの変更でミスった・・・
- 3. 作成済みのEC2インスタンスにセキュリティグループを追加する
- 4. daw
- 5. バックアップを取りつつS3バケットのオブジェクトを再度PUTする方法
- 6. [AWS] API GatewayとJSONサーバーで動的htmlレンダリングしてみた。
- 7. cloudfront から S3 バケット内の特定のファイルへのアクセス制限をするためにはオリジンアクセスアイデンティティを使う
- 8. AWS基礎
- 9. Docker composeでWordpressマルチサイトの開発環境構築する備忘録
- 10. AWS CloudFormation で組み込み関数を併用
- 11. AWS CLI で ECS コンテナを単発起動する
- 12. bashでEC2のインスタンスを設定する
- 13. 【資格対策】AWS 認定ソリューションアーキテクト – アソシエイト
- 14. AWSCLIでProxy設定済みなのに “failed to connect to proxy” が出た場合に確認すること
- 15. クラウド初心者のAWS入門
- 16. 個人開発者をもっと知りたい。YouDevをリリースしました。
- 17. aws-sdk-goでS3のオブジェクトを取得しようとして「SignatureDoesNotMatch」と言われたら
- 18. 【Terraform】CodeBuild で Buildspec名 を指定する
- 19. プロキシ環境下のWindows10にAmazon EKS操作環境を構築しよう
- 20. Kofax RPA 11.0のトライアル環境をクラウド上に構築する(AWS編)
EC2のhost名でSSM経由なSSH接続をしたい
AWS SSMって便利ですよね
SSHのポートを開ける必要無し・踏み台不要でec2に接続できるという神ツールです_SSMの手順についてはAWSのドキュメント([Session Managerの開始方法](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-getting-started.html))・他の方が書かれているのでそちらを見てください
ですが、個人的に1点不満が・・・
**Instance IDを指定しないといけない!**“`profile:.ssh/config
Host i-*
ProxyCommand sh -c “aws ssm start-session –target %h –document-name AWS-StartSSHSession –parameters ‘portNumber=%p'”
“`
上の設定だとInstanceIDをawscliで確認して・・・と、かなりメンドクセhost名で接続できるようにするため
AWSのEC2(CentOS 7)でTimezoneの変更でミスった・・・
# 事象
CentOS7なEC2のサーバ上のPHPで、TimeZoneにUTCを指定して時刻を取得したのにJSTな時刻が取得された。なお、OSのタイムゾーンは一応JSTです。
# 原因
タイムゾーンがおかしなことになってました。“`
$ timedatectlLocal time: Wed 2020-05-13 14:14:59 JST
Universal time: Wed 2020-05-13 05:14:59 UTC
RTC time: Wed 2020-05-13 05:13:52
Time zone: UTC (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
“`
って感じで、TimezoneがUTC (JST, +0900)と不思議な値になってました。# どうしてこうなった
EC2は初期ではタイムゾーンがUTCになってます。
これをJSTに変更する方法はぐぐ
作成済みのEC2インスタンスにセキュリティグループを追加する
## はじめに
本記事は「割り当て済みのセキュリティグループにルールを追加」ではなく、「割り当てるセキュリティグループを追加」したい場合のメモです。
複数割り当てることは可能とされていますが、現在コンソールからは1つしか設定できません。
下記注記の通り、ルールはできるだけ絞ることを推奨しているようなので注意してください。> 複数のセキュリティグループをインスタンスに関連付けると、各セキュリティグループのルールが効率的に集約され、1 つのルールセットが作成されます。このルールセットを使用して、アクセスを許可するかどうかを判断します。
注記
複数のセキュリティグループを 1 つのインスタンスに割り当てることができるため、インスタンスには数百単位のルールを適用できます。結果として、インスタンスにアクセスするときに問題が発生する可能性があります。そのため、ルールは可能な限り要約することをお勧めします。
[Linux インスタンスの Amazon EC2 セキュリティグループ \- Amazon Elastic Compute Cloud](https://docs.aws.amazon.c
daw
dwa
バックアップを取りつつS3バケットのオブジェクトを再度PUTする方法
# 概要
この記事がやることは、AWS-CLIを用いて、指定したパスのファイルを全部DLして再度同じパスにDLしたファイルをアップロードする。# 実施の経緯
S3バケットの指定したパス配下のオブジェクトを再度PUTしたかった。
再度PUTすることで、PUTイベントで発火するプログラムの動作確認を行いたかった。# やりかた
## 指定したパス配下をまるっとダウンロード“`shell
DIR_PATH={your-dir-path}
aws s3 cp –profile {your-profile} –recursive –exclude=”*” –include=”${DIR_PATH}/*” s3://your-bucketname ./ >> ./logs/download_log.txt
“`## ダウンロードしたファイルをまるっと同じパスにアップロード
“`shell
DIR_PATH={your-dir-path}
aws s3 cp –profile {your-profile} –recursive –exclude=”*” –inc
[AWS] API GatewayとJSONサーバーで動的htmlレンダリングしてみた。
# API GatewayとJSONサーバーで動的htmlレンダリングしてみた。
AWSのAPI GatewayとDynamoDBとLambdaでサービス構築してみたかった動機があったので、今回はAPI Gatewayを触ってみた。
– 特定URLにWebブラウザでアクセスする
– API GatewayがJSONデータを取得して、htmlにレンダリングして表示するというシンプルな構造です。
今回はやらないが、API Gatewayは統合リクエストなどの機能を使えばLambdaを挟まなくてもDynamoDBにアクセスできます。なので、 `/1` にアクセスするとDynamoDBのあるテーブルの `id 1` にアクセスして必要なデータをJSON形式で取得して、そのデータをAPIGatewayの統合レスポンスでhtmlにマッピングして返す、みたいな簡単なWEBアプリケーションが作れます。その触りだけ書いて行きます。
## やりかた
REST APIとかで作る。
cloudfront から S3 バケット内の特定のファイルへのアクセス制限をするためにはオリジンアクセスアイデンティティを使う
# 概要
cloudfront で配信している SPA でメンテナンスページを作成するとき、静的な HTML ファイルを S3 に置くが cloudfront からは「/maintenance.html」のように URL 直打ちだとアクセスできないようにしたい、というケースがありました。maintenance.html は URL 直打ちではなく SPA の制御によってレンダリングされます。
その際のメモです。# オリジンアクセスアイデンティティを使う
S3 のバケットポリシーでオリジンアクセスアイデンティティを使って cloudfront からのアクセスを制御することによって上記のケースを実現できます。
“`json
{
“Version”: “2008-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Principal”: {
“AWS”: “arn:aws:iam::cloudfront:user/CloudFront
AWS基礎
#Amazon Web Servicesの基礎知識
AWSの特徴、仕組みを超ざっくりまとめます。##AWSとは
一言でいうと「**クラウドコンピューティングサービスの1つ**」
その他Microsoft AzureやGoogle Cloud Platformなど*「クラウドコンピューティングサービス」とは
サーバやネットワークなどをインターネット経由で貸してくれるサービス。***AWSの多様なサービスを組み合わせることでアプリケーションやインフラを実現できる。**
##多様なサービスとは(代表例5個)
**1, Amazon EC2 (Amazon Elastic Compute Cloud)**
仮想サーバー。詳しくは後ほど。**2, Amazon S3 (Amazon Simple Storage Service)**
汎用的なクラウドストレージ。**3, Amazon RDS (Amazon Relational Database Service)**
リレーショナルデータベース。**4, Amazon VPC (Amazon Virtual Priva
Docker composeでWordpressマルチサイトの開発環境構築する備忘録
個人的な備忘録
# WordPressマルチサイト
1つのWordPressで複数のサイトを運用可能にすることで、共通のテンプレートやプラグインが利用できる機能
対応していないプラグインもあるが、全体で共通で利用するだけでなく、サイトごとに個別で有効化することもできる
機能として以下の3種類がある## サブディレクトリ型 マルチサイト
– kamihork.com/site1
– kamihork.com/site2## サブドメイン型 マルチサイト
– site1.kamihork.com
– site2.kamihork.com## 複数ドメイン型 マルチサイト
– site1-kamihork.com
– site2-kmaihork.com# WordPressマルチサイトでの、サブドメイン形式での構築手順
**サブドメイン形式を選択する場合、予約済みドメイン(localhost)だとそれを実現できない**
なので、これを実現するのに、**lvh.meというループバックドメインを利用**する
※ 参考 : https://techracho.bpsinc.j
AWS CloudFormation で組み込み関数を併用
## 概要
AWS CloudFormation でテンプレートを作成していると、
組み込み関数(`!Ref` とか `!Sub` とかのこと)の中で組み込み関数を使用したくなることがある。使い方を忘れがちなので具体的な使用例を備忘録として記録します。
間違ってるところがあったら教えてください!併用でなく単体で組み込み関数を使いたい場合は公式のドキュメント見た方がいいかも
[組み込み関数リファレンス – AWS CloudFormaion](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html
)– 使用例の見方と注意点
– YAML 形式で書いてます(一部 JSON を併用)
– `Test0` と `Test0-result` の Value は同じ結果であることを表しています。(0は連番)## 使用例
### `!If` と `!FindInMap` (と `!Ref`, `!Sub`) の併用“`
AWS CLI で ECS コンテナを単発起動する
# 前提条件
– ECS Cluster
– Task Definition
– VPC
– Subnet
– Security Group上記のリソースが作成済みであること。
# 実行するコマンド
以下の箇所は適宜代入したり書き換えたり。
– subnet-000000000000
– sg-000000000000
– CLUSTER_NAME
– TASK_DEFINITION_NAME“`bash
aws ecs run-task \
–launch-type FARGATE \
–network-configuration “awsvpcConfiguration={subnets=[‘subnet-000000000000′,’subnet-000000000000’],securityGroups=[‘sg-000000000000′],assignPublicIp=’DISABLED’}” \
–cluster ${CLUSTER_NAME} \
–task-definition ${TASK_DEFINITION_NAME}
“
bashでEC2のインスタンスを設定する
#プロローグ
AWSのインスタンス起動時にbashによる設定が可能です。
インスタンス起動時に、apacheをインストールしたり、ホスト名を併せて変更したりできます。#手順
EC2の画面から「インスタンスの作成」を押下します。
AMIの「選択」ボタンを押下します。
インスタンスタイプを選び、「次のステップ:インスタンスの詳細の設定」を押下します。
【資格対策】AWS 認定ソリューションアーキテクト – アソシエイト
#はじめに
今年の3月22日にAWS認定ソリューションアーキテクト-アソシエイト(以降SAA)に合格しました。
これから受験する方に少しでも参考になればと思い記事を投稿します。
この記事ではAWS認定資格に対する説明は割愛します。
#前提###受験者のステータス
技術者では無いですが一応IT企業に勤めていましたレベルの人です。
>SIerとして7年勤務
>業務でのAWS未経験(自分で触ったりはしていました)
>案件を通して基本的なIT用語は理解済み
→応用情報技術者取得済み、ネスペの勉強もしていた時期がありTCP/IPの基本は把握
>7年の中でAzure/IaaSの運用チームに1年程度(クラウドの概要は理解していた)所属していた###合格点
788/1000#試験について
>「学習教材」
>「学習方法」
>「未経験でも合格できるか」###学習教材
では実際にどの様な学習をしたかをまとめていきます。
①[徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書]
(https://www.amazon.co.jp/dp/4295005495/)
AWSCLIでProxy設定済みなのに “failed to connect to proxy” が出た場合に確認すること
## 事象
– AWS CLIのセットアップでProxy設定済みなのに以下のようなエラーが出る。“`bash
Failed to connect to proxy URL: http://user_name:password@proxy.example.com:8080
“`## 前提
– 環境変数にProxy設定済みであること“`bash
HTTP_PROXY=http://user_name:password@proxy.example.com:8080
HTTPS_PROXY=http://user_name:password@proxy.example.com:8080
“`## 本題
### リージョン設定がタイポしていないか
– `.aws/config` の リージョン設定が誤っている場合にも、このエラーになる。
– AWSCLIの公式にも関連issueがいくつか上がっていた(参考ページを参照)“`
[default]
# タイポしている
region=us-wst-2
output=json
“`## 備考
– `.aws/cre
クラウド初心者のAWS入門
## 第3回 ネットワーク構築 (1/2)
前回作成したVPCに、サブネットを構築していきます。
今回作成するのは、インターネット網に接続するためのサブネットです。
以降、パブリックサブネットとさせていただきます。
### 1.今回の構築箇所
![システム構成図_第3回目.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/6c7b9ff1-c346-d790-0e2b-1e947c1530fa.png)
### 2.サブネットの作成
まずは、AWSマネジメントコンソールより、「VPC」サービスを選択し、
VPC Management Consoleの左ペインより「サブネットの作成」を選択します。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/d88e082e-fe3d-377c-12e4-9d1c028d3eae.png)つづいて、サブネットの設定を行っていきます。
![
個人開発者をもっと知りたい。YouDevをリリースしました。
[YouDev](https://youdev.tech)をリリースしました。 2020.5.01
YouDevは個人開発者にスポットを当てて、個人開発者をもっと知ってもらう(僕自身が知りたい。。)サービスです。
サービスは認知されていても開発者にはスポットが当たってないなと思い、個人開発者は自分がリリースしたサービスをサービスだけでなく開発者自身をもっとアピールしてもいいんじゃないかな?と思い作成しました。
常に個人開発者を募集してるので、**自分は個人開発者だ!**って思う人は登録お願いします!
なお、改善点もできる、できないに関わらず受け付けております!
#僕のスペック
・**へっぽこエンジニア**
・開発歴:3
aws-sdk-goでS3のオブジェクトを取得しようとして「SignatureDoesNotMatch」と言われたら
# signed urlを使っているわけでもないのにSignatureDoesNotMatchと言われる
ACLを設定していない、signed urlも使っていないバケットに対して接続してオブジェクトの取得をするコードを実装したら、 `SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your key and signing method.` と言われてしまいました。
同じようなエラーにハマった人の手助けになれば幸いです。## TL;DR
* バケット名に `/` を含めないようにする。
## コード
“`golang:コードは適当ですが雰囲気はこんな感じです.go
func hogehoge() error {
config := aws.Config{
Region: aws.String(os.Getenv(“REGION”)),
}
sess := session.New(&config)
【Terraform】CodeBuild で Buildspec名 を指定する
# 困ったこと
Terraformで構築したCodeBuildプロジェクトで、デフォルト名(buildspec.yml)じゃない**Buildspec名**を使用したかったが、tfファイルで指定する方法がわからなかった。
※ AWSコンソールでは「ソース」「Buildspec」は別項目(ブロック)だが、terraformのフォーマット上には「source」と同じ階層に「buildspec」という項目(ブロック)がなかった
# 解決方法
tfファイルでは「source」内のパラメータとして指定する。
“`hcl:xxx.tf
resource “aws_codebuild_project” “this” {
# 省略
source {
type = “CODECOMMIT”
location = “”
git_clone_depth = 1
buildspec = “buildspec-xxx.yml”
}
# 省略
}
“`# 参考
– h
プロキシ環境下のWindows10にAmazon EKS操作環境を構築しよう
## はじめに
社内プロキシ環境などからeksctlコマンドやkubectlコマンドを使ってAmazon EKSを操作するためのクライアント側の設定方法を記載します。
## 設定手順
### 1. AWS CLIのセットアップ
#### 1-1. AWS CLIをインストールします
AWS公式ドキュメントの通りにMSIインストーラをダウンロード&実行してください。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-windows.html#### 1-2. AWS認証情報を設定します
“`txt:powershell
PS C:\> aws configure
“`#### 1-3. AWS CLIのプロキシ設定をします
次のコマンドを実行し、設定を適用するためにPowerShellアプリを起動しなおします。
“`txt:powershell
PS C:\> setx HTTP_PROXY http://$proxyUser:$proxyPassword@$proxyS
Kofax RPA 11.0のトライアル環境をクラウド上に構築する(AWS編)
#この記事で解説すること
Kofax RPA 11.0のトライアル環境をAWS上のWindowsサーバにインストールする方法を解説します。
#記事の更新日
本記事は2020/5/13の情報を元に更新されています。#事前準備
##トライアルライセンスの入手
[Kofax](https://www.kofax.jp/)のHPでフリートライアルの申し込みをします。名前や会社名、メールアドレスを入力するとメールが
送られてきます。
「licenses.zip」という名前の添付ファイルがあるメールが来ているはずですのでご確認ください。
![メールの中身](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168941/1e1807cb-f5c2-081d-b3d3-03a897341083.png)##インストーラーのダウンロード
メールにあるURLをクリックしてインストーラーが入ったZIPフィルをダウンロードしておきます。#サーバ準備
次にインストールサーバをAWS上に用意します。本記事では東京リージョ